UNPKG

4.47 MBSource Map (JSON)View Raw
1{"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./components sync ^\\.\\/locale-provider\\/.+_.+\\.tsx$","webpack://[name]/./components-pro/_util/exception.tsx","webpack://[name]/./components-pro/_util/normalizeLanguage.tsx","webpack://[name]/./components-pro/data-set/FeedBack.tsx","webpack://[name]/./components-pro/data-set/enum.tsx","webpack://[name]/./components-pro/form/enum.tsx","webpack://[name]/./components-pro/formatter/formatReactTemplate.tsx","webpack://[name]/./components-pro/locale-context/LocaleContext.tsx","webpack://[name]/./components-pro/locale-context/enum.tsx","webpack://[name]/./components-pro/locale-context/index.tsx","webpack://[name]/./components-pro/locale-context/locale.tsx","webpack://[name]/./components-pro/locale-context/supports.tsx","webpack://[name]/./components-pro/locale-context/zh_CN.tsx","webpack://[name]/./components-pro/message/index.tsx","webpack://[name]/./components-pro/table/enum.tsx","webpack://[name]/./components/_util/EventManager.tsx","webpack://[name]/./components/_util/KeyCode.tsx","webpack://[name]/./components/_util/TaskRunner.tsx","webpack://[name]/./components/_util/addEventListener.tsx","webpack://[name]/./components/_util/easings.tsx","webpack://[name]/./components/_util/enum.tsx","webpack://[name]/./components/_util/getScroll.tsx","webpack://[name]/./components/_util/interopDefault.ts","webpack://[name]/./components/_util/isCssAnimationSupported.tsx","webpack://[name]/./components/_util/isFlexSupported.tsx","webpack://[name]/./components/_util/measureScrollbar.tsx","webpack://[name]/./components/_util/mediaQueryListPolyfill.tsx","webpack://[name]/./components/_util/openAnimation.tsx","webpack://[name]/./components/_util/scrollTo.tsx","webpack://[name]/./components/_util/throttleByAnimationFrame.tsx","webpack://[name]/./components/_util/triggerEvent.tsx","webpack://[name]/./components/_util/warning.tsx","webpack://[name]/./components/affix/index.tsx","webpack://[name]/./components/alert/index.tsx","webpack://[name]/./components/align/Align.tsx","webpack://[name]/./components/align/index.tsx","webpack://[name]/./components/anchor/Anchor.tsx","webpack://[name]/./components/anchor/AnchorLink.tsx","webpack://[name]/./components/anchor/index.tsx","webpack://[name]/./components/animate/Animate.tsx","webpack://[name]/./components/animate/AnimateChild.tsx","webpack://[name]/./components/animate/ChildrenUtils.tsx","webpack://[name]/./components/animate/index.tsx","webpack://[name]/./components/animate/util.tsx","webpack://[name]/./components/auto-complete/InputElement.tsx","webpack://[name]/./components/auto-complete/index.tsx","webpack://[name]/./components/avatar/index.tsx","webpack://[name]/./components/back-top/index.tsx","webpack://[name]/./components/badge/ScrollNumber.tsx","webpack://[name]/./components/badge/index.tsx","webpack://[name]/./components/breadcrumb/Breadcrumb.tsx","webpack://[name]/./components/breadcrumb/BreadcrumbItem.tsx","webpack://[name]/./components/breadcrumb/index.tsx","webpack://[name]/./components/button/Button.tsx","webpack://[name]/./components/button/ButtonGroup.tsx","webpack://[name]/./components/button/index.tsx","webpack://[name]/./components/calendar/Header.tsx","webpack://[name]/./components/calendar/index.tsx","webpack://[name]/./components/calendar/locale/ar_EG.tsx","webpack://[name]/./components/calendar/locale/bg_BG.tsx","webpack://[name]/./components/calendar/locale/ca_ES.tsx","webpack://[name]/./components/calendar/locale/cs_CZ.tsx","webpack://[name]/./components/calendar/locale/de_DE.tsx","webpack://[name]/./components/calendar/locale/el_GR.tsx","webpack://[name]/./components/calendar/locale/en_GB.tsx","webpack://[name]/./components/calendar/locale/en_US.tsx","webpack://[name]/./components/calendar/locale/es_ES.tsx","webpack://[name]/./components/calendar/locale/et_EE.tsx","webpack://[name]/./components/calendar/locale/fa_IR.tsx","webpack://[name]/./components/calendar/locale/fi_FI.tsx","webpack://[name]/./components/calendar/locale/fr_BE.tsx","webpack://[name]/./components/calendar/locale/fr_FR.tsx","webpack://[name]/./components/calendar/locale/is_IS.tsx","webpack://[name]/./components/calendar/locale/it_IT.tsx","webpack://[name]/./components/calendar/locale/ja_JP.tsx","webpack://[name]/./components/calendar/locale/ko_KR.tsx","webpack://[name]/./components/calendar/locale/ku_IQ.tsx","webpack://[name]/./components/calendar/locale/nb_NO.tsx","webpack://[name]/./components/calendar/locale/nl_BE.tsx","webpack://[name]/./components/calendar/locale/nl_NL.tsx","webpack://[name]/./components/calendar/locale/pl_PL.tsx","webpack://[name]/./components/calendar/locale/pt_BR.tsx","webpack://[name]/./components/calendar/locale/pt_PT.tsx","webpack://[name]/./components/calendar/locale/ru_RU.tsx","webpack://[name]/./components/calendar/locale/sk_SK.tsx","webpack://[name]/./components/calendar/locale/sl_SI.tsx","webpack://[name]/./components/calendar/locale/sr_RS.tsx","webpack://[name]/./components/calendar/locale/sv_SE.tsx","webpack://[name]/./components/calendar/locale/th_TH.tsx","webpack://[name]/./components/calendar/locale/tr_TR.tsx","webpack://[name]/./components/calendar/locale/uk_UA.tsx","webpack://[name]/./components/calendar/locale/vi_VN.tsx","webpack://[name]/./components/calendar/locale/zh_CN.tsx","webpack://[name]/./components/calendar/locale/zh_TW.tsx","webpack://[name]/./components/card/Grid.tsx","webpack://[name]/./components/card/Meta.tsx","webpack://[name]/./components/card/index.tsx","webpack://[name]/./components/carousel/index.tsx","webpack://[name]/./components/cascader/index.tsx","webpack://[name]/./components/checkbox/Checkbox.tsx","webpack://[name]/./components/checkbox/Group.tsx","webpack://[name]/./components/checkbox/index.tsx","webpack://[name]/./components/col/index.tsx","webpack://[name]/./components/collapse/Collapse.tsx","webpack://[name]/./components/collapse/CollapsePanel.tsx","webpack://[name]/./components/collapse/index.tsx","webpack://[name]/./components/configure/index.tsx","webpack://[name]/./components/date-picker/RangePicker.tsx","webpack://[name]/./components/date-picker/WeekPicker.tsx","webpack://[name]/./components/date-picker/createPicker.tsx","webpack://[name]/./components/date-picker/index.tsx","webpack://[name]/./components/date-picker/locale/ar_EG.tsx","webpack://[name]/./components/date-picker/locale/bg_BG.tsx","webpack://[name]/./components/date-picker/locale/ca_ES.tsx","webpack://[name]/./components/date-picker/locale/cs_CZ.tsx","webpack://[name]/./components/date-picker/locale/de_DE.tsx","webpack://[name]/./components/date-picker/locale/el_GR.tsx","webpack://[name]/./components/date-picker/locale/en_GB.tsx","webpack://[name]/./components/date-picker/locale/en_US.tsx","webpack://[name]/./components/date-picker/locale/es_ES.tsx","webpack://[name]/./components/date-picker/locale/et_EE.tsx","webpack://[name]/./components/date-picker/locale/fa_IR.tsx","webpack://[name]/./components/date-picker/locale/fi_FI.tsx","webpack://[name]/./components/date-picker/locale/fr_BE.tsx","webpack://[name]/./components/date-picker/locale/fr_FR.tsx","webpack://[name]/./components/date-picker/locale/is_IS.tsx","webpack://[name]/./components/date-picker/locale/it_IT.tsx","webpack://[name]/./components/date-picker/locale/ja_JP.tsx","webpack://[name]/./components/date-picker/locale/ko_KR.tsx","webpack://[name]/./components/date-picker/locale/ku_IQ.tsx","webpack://[name]/./components/date-picker/locale/nb_NO.tsx","webpack://[name]/./components/date-picker/locale/nl_BE.tsx","webpack://[name]/./components/date-picker/locale/nl_NL.tsx","webpack://[name]/./components/date-picker/locale/pl_PL.tsx","webpack://[name]/./components/date-picker/locale/pt_BR.tsx","webpack://[name]/./components/date-picker/locale/pt_PT.tsx","webpack://[name]/./components/date-picker/locale/ru_RU.tsx","webpack://[name]/./components/date-picker/locale/sk_SK.tsx","webpack://[name]/./components/date-picker/locale/sl_SI.tsx","webpack://[name]/./components/date-picker/locale/sr_RS.tsx","webpack://[name]/./components/date-picker/locale/sv_SE.tsx","webpack://[name]/./components/date-picker/locale/th_TH.tsx","webpack://[name]/./components/date-picker/locale/tr_TR.tsx","webpack://[name]/./components/date-picker/locale/uk_UA.tsx","webpack://[name]/./components/date-picker/locale/vi_VN.tsx","webpack://[name]/./components/date-picker/locale/zh_CN.tsx","webpack://[name]/./components/date-picker/locale/zh_TW.tsx","webpack://[name]/./components/date-picker/wrapPicker.tsx","webpack://[name]/./components/divider/index.tsx","webpack://[name]/./components/dropdown/dropdown-button.tsx","webpack://[name]/./components/dropdown/dropdown.tsx","webpack://[name]/./components/dropdown/index.tsx","webpack://[name]/./components/form/Form.tsx","webpack://[name]/./components/form/FormItem.tsx","webpack://[name]/./components/form/constants.tsx","webpack://[name]/./components/form/enum.tsx","webpack://[name]/./components/form/index.tsx","webpack://[name]/./components/get-config/index.tsx","webpack://[name]/./components/grid/col.tsx","webpack://[name]/./components/grid/index.tsx","webpack://[name]/./components/grid/row.tsx","webpack://[name]/./components/icon-select/IconSelect.tsx","webpack://[name]/./components/icon-select/index.tsx","webpack://[name]/./components/icon/index.tsx","webpack://[name]/./components/index.tsx","webpack://[name]/./components/input-number/index.tsx","webpack://[name]/./components/input/Group.tsx","webpack://[name]/./components/input/Input.tsx","webpack://[name]/./components/input/Search.tsx","webpack://[name]/./components/input/TextArea.tsx","webpack://[name]/./components/input/calculateNodeHeight.tsx","webpack://[name]/./components/input/index.tsx","webpack://[name]/./components/layout/Sider.tsx","webpack://[name]/./components/layout/index.tsx","webpack://[name]/./components/layout/layout.tsx","webpack://[name]/./components/list/Item.tsx","webpack://[name]/./components/list/index.tsx","webpack://[name]/./components/locale-provider/LocaleReceiver.tsx","webpack://[name]/./components/locale-provider/ar_EG.tsx","webpack://[name]/./components/locale-provider/bg_BG.tsx","webpack://[name]/./components/locale-provider/ca_ES.tsx","webpack://[name]/./components/locale-provider/cs_CZ.tsx","webpack://[name]/./components/locale-provider/de_DE.tsx","webpack://[name]/./components/locale-provider/default.tsx","webpack://[name]/./components/locale-provider/el_GR.tsx","webpack://[name]/./components/locale-provider/en_GB.tsx","webpack://[name]/./components/locale-provider/en_US.tsx","webpack://[name]/./components/locale-provider/es_ES.tsx","webpack://[name]/./components/locale-provider/et_EE.tsx","webpack://[name]/./components/locale-provider/fa_IR.tsx","webpack://[name]/./components/locale-provider/fi_FI.tsx","webpack://[name]/./components/locale-provider/fr_BE.tsx","webpack://[name]/./components/locale-provider/fr_FR.tsx","webpack://[name]/./components/locale-provider/index.tsx","webpack://[name]/./components/locale-provider/is_IS.tsx","webpack://[name]/./components/locale-provider/it_IT.tsx","webpack://[name]/./components/locale-provider/ja_JP.tsx","webpack://[name]/./components/locale-provider/ko_KR.tsx","webpack://[name]/./components/locale-provider/ku_IQ.tsx","webpack://[name]/./components/locale-provider/nb_NO.tsx","webpack://[name]/./components/locale-provider/nl_BE.tsx","webpack://[name]/./components/locale-provider/nl_NL.tsx","webpack://[name]/./components/locale-provider/pl_PL.tsx","webpack://[name]/./components/locale-provider/pt_BR.tsx","webpack://[name]/./components/locale-provider/pt_PT.tsx","webpack://[name]/./components/locale-provider/ru_RU.tsx","webpack://[name]/./components/locale-provider/sk_SK.tsx","webpack://[name]/./components/locale-provider/sl_SI.tsx","webpack://[name]/./components/locale-provider/sr_RS.tsx","webpack://[name]/./components/locale-provider/sv_SE.tsx","webpack://[name]/./components/locale-provider/th_TH.tsx","webpack://[name]/./components/locale-provider/tr_TR.tsx","webpack://[name]/./components/locale-provider/uk_UA.tsx","webpack://[name]/./components/locale-provider/vi_VN.tsx","webpack://[name]/./components/locale-provider/zh_CN.tsx","webpack://[name]/./components/locale-provider/zh_TW.tsx","webpack://[name]/./components/mention/index.tsx","webpack://[name]/./components/menu/MenuItem.tsx","webpack://[name]/./components/menu/SubMenu.tsx","webpack://[name]/./components/menu/index.tsx","webpack://[name]/./components/message/index.tsx","webpack://[name]/./components/message/util.tsx","webpack://[name]/./components/modal/ActionButton.tsx","webpack://[name]/./components/modal/Modal.tsx","webpack://[name]/./components/modal/Sidebar.tsx","webpack://[name]/./components/modal/confirm.tsx","webpack://[name]/./components/modal/index.tsx","webpack://[name]/./components/modal/locale.tsx","webpack://[name]/./components/notification/index.tsx","webpack://[name]/./components/pagination/LargeSelect.tsx","webpack://[name]/./components/pagination/MiniSelect.tsx","webpack://[name]/./components/pagination/Pagination.tsx","webpack://[name]/./components/pagination/index.tsx","webpack://[name]/./components/popconfirm/index.tsx","webpack://[name]/./components/popover/index.tsx","webpack://[name]/./components/progress/Loading.tsx","webpack://[name]/./components/progress/enum.tsx","webpack://[name]/./components/progress/index.tsx","webpack://[name]/./components/progress/progress.tsx","webpack://[name]/./components/radio/group.tsx","webpack://[name]/./components/radio/index.tsx","webpack://[name]/./components/radio/radio.tsx","webpack://[name]/./components/radio/radioButton.tsx","webpack://[name]/./components/rate/index.tsx","webpack://[name]/./components/rc-components/calendar/Calendar.jsx","webpack://[name]/./components/rc-components/calendar/FullCalendar.jsx","webpack://[name]/./components/rc-components/calendar/MonthCalendar.jsx","webpack://[name]/./components/rc-components/calendar/Picker.jsx","webpack://[name]/./components/rc-components/calendar/RangeCalendar.jsx","webpack://[name]/./components/rc-components/calendar/calendar/CalendarFooter.jsx","webpack://[name]/./components/rc-components/calendar/calendar/CalendarHeader.jsx","webpack://[name]/./components/rc-components/calendar/calendar/OkButton.jsx","webpack://[name]/./components/rc-components/calendar/calendar/TimePickerButton.jsx","webpack://[name]/./components/rc-components/calendar/calendar/TodayButton.jsx","webpack://[name]/./components/rc-components/calendar/date/DateConstants.jsx","webpack://[name]/./components/rc-components/calendar/date/DateInput.jsx","webpack://[name]/./components/rc-components/calendar/date/DateTBody.jsx","webpack://[name]/./components/rc-components/calendar/date/DateTHead.jsx","webpack://[name]/./components/rc-components/calendar/date/DateTable.jsx","webpack://[name]/./components/rc-components/calendar/decade/DecadePanel.jsx","webpack://[name]/./components/rc-components/calendar/full-calendar/CalendarHeader.jsx","webpack://[name]/./components/rc-components/calendar/index.jsx","webpack://[name]/./components/rc-components/calendar/locale/ar_EG.jsx","webpack://[name]/./components/rc-components/calendar/locale/bg_BG.jsx","webpack://[name]/./components/rc-components/calendar/locale/ca_ES.jsx","webpack://[name]/./components/rc-components/calendar/locale/cs_CZ.jsx","webpack://[name]/./components/rc-components/calendar/locale/de_DE.jsx","webpack://[name]/./components/rc-components/calendar/locale/el_GR.jsx","webpack://[name]/./components/rc-components/calendar/locale/en_GB.jsx","webpack://[name]/./components/rc-components/calendar/locale/en_US.jsx","webpack://[name]/./components/rc-components/calendar/locale/es_ES.jsx","webpack://[name]/./components/rc-components/calendar/locale/et_EE.jsx","webpack://[name]/./components/rc-components/calendar/locale/fa_IR.jsx","webpack://[name]/./components/rc-components/calendar/locale/fi_FI.jsx","webpack://[name]/./components/rc-components/calendar/locale/fr_BE.jsx","webpack://[name]/./components/rc-components/calendar/locale/fr_FR.jsx","webpack://[name]/./components/rc-components/calendar/locale/is_IS.jsx","webpack://[name]/./components/rc-components/calendar/locale/it_IT.jsx","webpack://[name]/./components/rc-components/calendar/locale/ja_JP.jsx","webpack://[name]/./components/rc-components/calendar/locale/ko_KR.jsx","webpack://[name]/./components/rc-components/calendar/locale/ku_IQ.jsx","webpack://[name]/./components/rc-components/calendar/locale/nb_NO.jsx","webpack://[name]/./components/rc-components/calendar/locale/nl_BE.jsx","webpack://[name]/./components/rc-components/calendar/locale/nl_NL.jsx","webpack://[name]/./components/rc-components/calendar/locale/pl_PL.jsx","webpack://[name]/./components/rc-components/calendar/locale/pt_BR.jsx","webpack://[name]/./components/rc-components/calendar/locale/pt_PT.jsx","webpack://[name]/./components/rc-components/calendar/locale/ru_RU.jsx","webpack://[name]/./components/rc-components/calendar/locale/sk_SK.jsx","webpack://[name]/./components/rc-components/calendar/locale/sr_RS.jsx","webpack://[name]/./components/rc-components/calendar/locale/sv_SE.jsx","webpack://[name]/./components/rc-components/calendar/locale/th_TH.jsx","webpack://[name]/./components/rc-components/calendar/locale/tr_TR.jsx","webpack://[name]/./components/rc-components/calendar/locale/uk_UA.jsx","webpack://[name]/./components/rc-components/calendar/locale/zh_CN.jsx","webpack://[name]/./components/rc-components/calendar/locale/zh_TW.jsx","webpack://[name]/./components/rc-components/calendar/mixin/CalendarMixin.jsx","webpack://[name]/./components/rc-components/calendar/mixin/CommonMixin.jsx","webpack://[name]/./components/rc-components/calendar/month/MonthPanel.jsx","webpack://[name]/./components/rc-components/calendar/month/MonthTable.jsx","webpack://[name]/./components/rc-components/calendar/picker/placements.jsx","webpack://[name]/./components/rc-components/calendar/range-calendar/CalendarPart.jsx","webpack://[name]/./components/rc-components/calendar/util/index.jsx","webpack://[name]/./components/rc-components/calendar/year/YearPanel.jsx","webpack://[name]/./components/rc-components/cascader/Cascader.jsx","webpack://[name]/./components/rc-components/cascader/Menus.jsx","webpack://[name]/./components/rc-components/cascader/index.jsx","webpack://[name]/./components/rc-components/checkbox/Checkbox.jsx","webpack://[name]/./components/rc-components/checkbox/index.jsx","webpack://[name]/./components/rc-components/collapse/Collapse.jsx","webpack://[name]/./components/rc-components/collapse/Panel.jsx","webpack://[name]/./components/rc-components/collapse/PanelContent.jsx","webpack://[name]/./components/rc-components/collapse/index.jsx","webpack://[name]/./components/rc-components/collapse/openAnimationFactory.jsx","webpack://[name]/./components/rc-components/dialog/Dialog.tsx","webpack://[name]/./components/rc-components/dialog/DialogWrap.tsx","webpack://[name]/./components/rc-components/dialog/LazyRenderBox.tsx","webpack://[name]/./components/rc-components/dialog/index.tsx","webpack://[name]/./components/rc-components/dropdown/Dropdown.jsx","webpack://[name]/./components/rc-components/dropdown/index.jsx","webpack://[name]/./components/rc-components/dropdown/placements.jsx","webpack://[name]/./components/rc-components/editor-mention/component/Mention.react.jsx","webpack://[name]/./components/rc-components/editor-mention/component/MentionContent.react.jsx","webpack://[name]/./components/rc-components/editor-mention/component/Nav.react.jsx","webpack://[name]/./components/rc-components/editor-mention/component/SuggestionPortal.react.jsx","webpack://[name]/./components/rc-components/editor-mention/component/SuggestionWrapper.react.jsx","webpack://[name]/./components/rc-components/editor-mention/component/Suggestions.react.jsx","webpack://[name]/./components/rc-components/editor-mention/index.jsx","webpack://[name]/./components/rc-components/editor-mention/model/mentionStore.jsx","webpack://[name]/./components/rc-components/editor-mention/utils/clearMention.jsx","webpack://[name]/./components/rc-components/editor-mention/utils/createMention.jsx","webpack://[name]/./components/rc-components/editor-mention/utils/exportContent.jsx","webpack://[name]/./components/rc-components/editor-mention/utils/getMentions.jsx","webpack://[name]/./components/rc-components/editor-mention/utils/getOffset.jsx","webpack://[name]/./components/rc-components/editor-mention/utils/getRegExp.jsx","webpack://[name]/./components/rc-components/editor-mention/utils/getSearchWord.jsx","webpack://[name]/./components/rc-components/editor-mention/utils/insertMention.jsx","webpack://[name]/./components/rc-components/form/createBaseForm.jsx","webpack://[name]/./components/rc-components/form/createDOMForm.jsx","webpack://[name]/./components/rc-components/form/createFieldsStore.jsx","webpack://[name]/./components/rc-components/form/createForm.jsx","webpack://[name]/./components/rc-components/form/createFormField.jsx","webpack://[name]/./components/rc-components/form/index.jsx","webpack://[name]/./components/rc-components/form/utils.jsx","webpack://[name]/./components/rc-components/input-number/InputHandler.jsx","webpack://[name]/./components/rc-components/input-number/index.jsx","webpack://[name]/./components/rc-components/menu/DOMWrap.jsx","webpack://[name]/./components/rc-components/menu/Divider.jsx","webpack://[name]/./components/rc-components/menu/Menu.jsx","webpack://[name]/./components/rc-components/menu/MenuItem.jsx","webpack://[name]/./components/rc-components/menu/MenuItemGroup.jsx","webpack://[name]/./components/rc-components/menu/SubMenu.jsx","webpack://[name]/./components/rc-components/menu/SubPopupMenu.jsx","webpack://[name]/./components/rc-components/menu/index.jsx","webpack://[name]/./components/rc-components/menu/placements.jsx","webpack://[name]/./components/rc-components/menu/util.jsx","webpack://[name]/./components/rc-components/notification/Notice.jsx","webpack://[name]/./components/rc-components/notification/Notification.jsx","webpack://[name]/./components/rc-components/notification/index.jsx","webpack://[name]/./components/rc-components/pagination/KeyCode.jsx","webpack://[name]/./components/rc-components/pagination/Options.jsx","webpack://[name]/./components/rc-components/pagination/Pager.jsx","webpack://[name]/./components/rc-components/pagination/Pagination.jsx","webpack://[name]/./components/rc-components/pagination/index.jsx","webpack://[name]/./components/rc-components/pagination/locale/ar_EG.jsx","webpack://[name]/./components/rc-components/pagination/locale/bg_BG.jsx","webpack://[name]/./components/rc-components/pagination/locale/ca_ES.jsx","webpack://[name]/./components/rc-components/pagination/locale/cs_CZ.jsx","webpack://[name]/./components/rc-components/pagination/locale/de_DE.jsx","webpack://[name]/./components/rc-components/pagination/locale/el_GR.jsx","webpack://[name]/./components/rc-components/pagination/locale/en_GB.jsx","webpack://[name]/./components/rc-components/pagination/locale/en_US.jsx","webpack://[name]/./components/rc-components/pagination/locale/es_ES.jsx","webpack://[name]/./components/rc-components/pagination/locale/et_EE.jsx","webpack://[name]/./components/rc-components/pagination/locale/fa_IR.jsx","webpack://[name]/./components/rc-components/pagination/locale/fi_FI.jsx","webpack://[name]/./components/rc-components/pagination/locale/fr_BE.jsx","webpack://[name]/./components/rc-components/pagination/locale/fr_FR.jsx","webpack://[name]/./components/rc-components/pagination/locale/is_IS.jsx","webpack://[name]/./components/rc-components/pagination/locale/it_IT.jsx","webpack://[name]/./components/rc-components/pagination/locale/ja_JP.jsx","webpack://[name]/./components/rc-components/pagination/locale/ko_KR.jsx","webpack://[name]/./components/rc-components/pagination/locale/ku_IQ.jsx","webpack://[name]/./components/rc-components/pagination/locale/nb_NO.jsx","webpack://[name]/./components/rc-components/pagination/locale/nl_BE.jsx","webpack://[name]/./components/rc-components/pagination/locale/nl_NL.jsx","webpack://[name]/./components/rc-components/pagination/locale/pl_PL.jsx","webpack://[name]/./components/rc-components/pagination/locale/pt_BR.jsx","webpack://[name]/./components/rc-components/pagination/locale/pt_PT.jsx","webpack://[name]/./components/rc-components/pagination/locale/ru_RU.jsx","webpack://[name]/./components/rc-components/pagination/locale/sk_SK.jsx","webpack://[name]/./components/rc-components/pagination/locale/sl_SI.jsx","webpack://[name]/./components/rc-components/pagination/locale/sr_RS.jsx","webpack://[name]/./components/rc-components/pagination/locale/sv_SE.jsx","webpack://[name]/./components/rc-components/pagination/locale/th_TH.jsx","webpack://[name]/./components/rc-components/pagination/locale/tr_TR.jsx","webpack://[name]/./components/rc-components/pagination/locale/uk_UA.jsx","webpack://[name]/./components/rc-components/pagination/locale/vi_VN.jsx","webpack://[name]/./components/rc-components/pagination/locale/zh_CN.jsx","webpack://[name]/./components/rc-components/pagination/locale/zh_TW.jsx","webpack://[name]/./components/rc-components/progress/Circle.jsx","webpack://[name]/./components/rc-components/progress/Line.jsx","webpack://[name]/./components/rc-components/progress/enhancer.jsx","webpack://[name]/./components/rc-components/progress/index.jsx","webpack://[name]/./components/rc-components/progress/types.jsx","webpack://[name]/./components/rc-components/rate/Rate.jsx","webpack://[name]/./components/rc-components/rate/Star.jsx","webpack://[name]/./components/rc-components/rate/index.jsx","webpack://[name]/./components/rc-components/rate/util.jsx","webpack://[name]/./components/rc-components/select/DropdownMenu.jsx","webpack://[name]/./components/rc-components/select/FilterInput.jsx","webpack://[name]/./components/rc-components/select/OptGroup.jsx","webpack://[name]/./components/rc-components/select/Option.jsx","webpack://[name]/./components/rc-components/select/PropTypes.jsx","webpack://[name]/./components/rc-components/select/Select.jsx","webpack://[name]/./components/rc-components/select/SelectTrigger.jsx","webpack://[name]/./components/rc-components/select/index.jsx","webpack://[name]/./components/rc-components/select/util.jsx","webpack://[name]/./components/rc-components/slider/Handle.jsx","webpack://[name]/./components/rc-components/slider/Range.jsx","webpack://[name]/./components/rc-components/slider/Slider.jsx","webpack://[name]/./components/rc-components/slider/common/Marks.jsx","webpack://[name]/./components/rc-components/slider/common/Steps.jsx","webpack://[name]/./components/rc-components/slider/common/Track.jsx","webpack://[name]/./components/rc-components/slider/common/createSlider.jsx","webpack://[name]/./components/rc-components/slider/createSliderWithTooltip.jsx","webpack://[name]/./components/rc-components/slider/index.jsx","webpack://[name]/./components/rc-components/slider/utils.jsx","webpack://[name]/./components/rc-components/steps/Step.jsx","webpack://[name]/./components/rc-components/steps/Steps.jsx","webpack://[name]/./components/rc-components/steps/index.jsx","webpack://[name]/./components/rc-components/steps/utils.jsx","webpack://[name]/./components/rc-components/switch/Switch.jsx","webpack://[name]/./components/rc-components/switch/index.jsx","webpack://[name]/./components/rc-components/table/BaseTable.jsx","webpack://[name]/./components/rc-components/table/BodyTable.jsx","webpack://[name]/./components/rc-components/table/ColGroup.jsx","webpack://[name]/./components/rc-components/table/Column.jsx","webpack://[name]/./components/rc-components/table/ColumnGroup.jsx","webpack://[name]/./components/rc-components/table/ColumnManager.jsx","webpack://[name]/./components/rc-components/table/ExpandIcon.jsx","webpack://[name]/./components/rc-components/table/ExpandableRow.jsx","webpack://[name]/./components/rc-components/table/ExpandableTable.jsx","webpack://[name]/./components/rc-components/table/FootTable.jsx","webpack://[name]/./components/rc-components/table/HeadTable.jsx","webpack://[name]/./components/rc-components/table/Table.jsx","webpack://[name]/./components/rc-components/table/TableCell.jsx","webpack://[name]/./components/rc-components/table/TableFooter.jsx","webpack://[name]/./components/rc-components/table/TableFooterRow.jsx","webpack://[name]/./components/rc-components/table/TableHeader.jsx","webpack://[name]/./components/rc-components/table/TableHeaderRow.jsx","webpack://[name]/./components/rc-components/table/TableRow.jsx","webpack://[name]/./components/rc-components/table/index.jsx","webpack://[name]/./components/rc-components/tabs/InkTabBarMixin.jsx","webpack://[name]/./components/rc-components/tabs/KeyCode.jsx","webpack://[name]/./components/rc-components/tabs/RefMixin.jsx","webpack://[name]/./components/rc-components/tabs/ScrollableInkTabBar.jsx","webpack://[name]/./components/rc-components/tabs/ScrollableTabBarMixin.jsx","webpack://[name]/./components/rc-components/tabs/TabBarMixin.jsx","webpack://[name]/./components/rc-components/tabs/TabContent.jsx","webpack://[name]/./components/rc-components/tabs/TabPane.jsx","webpack://[name]/./components/rc-components/tabs/Tabs.jsx","webpack://[name]/./components/rc-components/tabs/index.jsx","webpack://[name]/./components/rc-components/tabs/utils.jsx","webpack://[name]/./components/rc-components/time-picker/Combobox.jsx","webpack://[name]/./components/rc-components/time-picker/Header.jsx","webpack://[name]/./components/rc-components/time-picker/Panel.jsx","webpack://[name]/./components/rc-components/time-picker/Select.jsx","webpack://[name]/./components/rc-components/time-picker/TimePicker.jsx","webpack://[name]/./components/rc-components/time-picker/index.jsx","webpack://[name]/./components/rc-components/time-picker/placements.jsx","webpack://[name]/./components/rc-components/tooltip/Tooltip.jsx","webpack://[name]/./components/rc-components/tooltip/index.jsx","webpack://[name]/./components/rc-components/tooltip/placements.jsx","webpack://[name]/./components/rc-components/tree-select/PropTypes.jsx","webpack://[name]/./components/rc-components/tree-select/Select.jsx","webpack://[name]/./components/rc-components/tree-select/SelectTrigger.jsx","webpack://[name]/./components/rc-components/tree-select/TreeNode.jsx","webpack://[name]/./components/rc-components/tree-select/index.jsx","webpack://[name]/./components/rc-components/tree-select/strategies.jsx","webpack://[name]/./components/rc-components/tree-select/util.jsx","webpack://[name]/./components/rc-components/tree/Tree.jsx","webpack://[name]/./components/rc-components/tree/TreeNode.jsx","webpack://[name]/./components/rc-components/tree/index.jsx","webpack://[name]/./components/rc-components/tree/util.jsx","webpack://[name]/./components/rc-components/trigger/LazyRenderBox.jsx","webpack://[name]/./components/rc-components/trigger/Popup.jsx","webpack://[name]/./components/rc-components/trigger/PopupInner.jsx","webpack://[name]/./components/rc-components/trigger/index.jsx","webpack://[name]/./components/rc-components/trigger/utils.jsx","webpack://[name]/./components/rc-components/upload/AjaxUploader.jsx","webpack://[name]/./components/rc-components/upload/IframeUploader.jsx","webpack://[name]/./components/rc-components/upload/Upload.jsx","webpack://[name]/./components/rc-components/upload/attr-accept.jsx","webpack://[name]/./components/rc-components/upload/index.jsx","webpack://[name]/./components/rc-components/upload/request.jsx","webpack://[name]/./components/rc-components/upload/uid.jsx","webpack://[name]/./components/rc-components/util/Children/mapSelf.jsx","webpack://[name]/./components/rc-components/util/Children/toArray.jsx","webpack://[name]/./components/rc-components/util/ContainerRender.jsx","webpack://[name]/./components/rc-components/util/Dom/contains.jsx","webpack://[name]/./components/rc-components/util/Portal.jsx","webpack://[name]/./components/rc-components/util/PureRenderMixin.jsx","webpack://[name]/./components/rc-components/util/createChainedFunction.jsx","webpack://[name]/./components/rc-components/util/getScrollBarSize.jsx","webpack://[name]/./components/responsive/Responsive.tsx","webpack://[name]/./components/responsive/enum.tsx","webpack://[name]/./components/responsive/index.tsx","webpack://[name]/./components/ripple/MouseDown.tsx","webpack://[name]/./components/ripple/RippleChild.tsx","webpack://[name]/./components/ripple/index.tsx","webpack://[name]/./components/row/index.tsx","webpack://[name]/./components/select/enum.tsx","webpack://[name]/./components/select/index.tsx","webpack://[name]/./components/slider/index.tsx","webpack://[name]/./components/spin/index.tsx","webpack://[name]/./components/steps/index.tsx","webpack://[name]/./components/switch/index.tsx","webpack://[name]/./components/table/Column.tsx","webpack://[name]/./components/table/ColumnFilter.tsx","webpack://[name]/./components/table/ColumnGroup.tsx","webpack://[name]/./components/table/FilterBar.tsx","webpack://[name]/./components/table/FilterDropdownMenuWrapper.tsx","webpack://[name]/./components/table/FilterSelect.tsx","webpack://[name]/./components/table/SelectionBox.tsx","webpack://[name]/./components/table/SelectionCheckboxAll.tsx","webpack://[name]/./components/table/Table.tsx","webpack://[name]/./components/table/createBodyRow.tsx","webpack://[name]/./components/table/createStore.tsx","webpack://[name]/./components/table/filterDropdown.tsx","webpack://[name]/./components/table/index.tsx","webpack://[name]/./components/table/util.tsx","webpack://[name]/./components/tabs/enum.tsx","webpack://[name]/./components/tabs/index.tsx","webpack://[name]/./components/tag/CheckableTag.tsx","webpack://[name]/./components/tag/index.tsx","webpack://[name]/./components/time-picker/index.tsx","webpack://[name]/./components/time-picker/locale/ar_EG.tsx","webpack://[name]/./components/time-picker/locale/bg_BG.tsx","webpack://[name]/./components/time-picker/locale/ca_ES.tsx","webpack://[name]/./components/time-picker/locale/cs_CZ.tsx","webpack://[name]/./components/time-picker/locale/de_DE.tsx","webpack://[name]/./components/time-picker/locale/el_GR.tsx","webpack://[name]/./components/time-picker/locale/en_GB.tsx","webpack://[name]/./components/time-picker/locale/en_US.tsx","webpack://[name]/./components/time-picker/locale/es_ES.tsx","webpack://[name]/./components/time-picker/locale/et_EE.tsx","webpack://[name]/./components/time-picker/locale/fa_IR.tsx","webpack://[name]/./components/time-picker/locale/fi_FI.tsx","webpack://[name]/./components/time-picker/locale/fr_BE.tsx","webpack://[name]/./components/time-picker/locale/fr_FR.tsx","webpack://[name]/./components/time-picker/locale/is_IS.tsx","webpack://[name]/./components/time-picker/locale/it_IT.tsx","webpack://[name]/./components/time-picker/locale/ja_JP.tsx","webpack://[name]/./components/time-picker/locale/ko_KR.tsx","webpack://[name]/./components/time-picker/locale/ku_IQ.tsx","webpack://[name]/./components/time-picker/locale/nb_NO.tsx","webpack://[name]/./components/time-picker/locale/nl_BE.tsx","webpack://[name]/./components/time-picker/locale/nl_NL.tsx","webpack://[name]/./components/time-picker/locale/pl_PL.tsx","webpack://[name]/./components/time-picker/locale/pt_BR.tsx","webpack://[name]/./components/time-picker/locale/pt_PT.tsx","webpack://[name]/./components/time-picker/locale/ru_RU.tsx","webpack://[name]/./components/time-picker/locale/sk_SK.tsx","webpack://[name]/./components/time-picker/locale/sl_SI.tsx","webpack://[name]/./components/time-picker/locale/sr_RS.tsx","webpack://[name]/./components/time-picker/locale/sv_SE.tsx","webpack://[name]/./components/time-picker/locale/th_TH.tsx","webpack://[name]/./components/time-picker/locale/tr_TR.tsx","webpack://[name]/./components/time-picker/locale/uk_UA.tsx","webpack://[name]/./components/time-picker/locale/vi_VN.tsx","webpack://[name]/./components/time-picker/locale/zh_CN.tsx","webpack://[name]/./components/time-picker/locale/zh_TW.tsx","webpack://[name]/./components/timeline/Timeline.tsx","webpack://[name]/./components/timeline/TimelineItem.tsx","webpack://[name]/./components/timeline/index.tsx","webpack://[name]/./components/tooltip/index.tsx","webpack://[name]/./components/tooltip/placements.tsx","webpack://[name]/./components/transfer/enum.tsx","webpack://[name]/./components/transfer/index.tsx","webpack://[name]/./components/transfer/item.tsx","webpack://[name]/./components/transfer/list.tsx","webpack://[name]/./components/transfer/operation.tsx","webpack://[name]/./components/transfer/search.tsx","webpack://[name]/./components/tree-select/index.tsx","webpack://[name]/./components/tree/index.tsx","webpack://[name]/./components/upload/Dragger.tsx","webpack://[name]/./components/upload/Upload.tsx","webpack://[name]/./components/upload/UploadList.tsx","webpack://[name]/./components/upload/index.tsx","webpack://[name]/./components/upload/utils.tsx","webpack://[name]/./components/version/index.tsx","webpack://[name]/./index-with-locales.js","webpack://[name]/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://[name]/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://[name]/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://[name]/./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://[name]/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://[name]/./node_modules/@babel/runtime/helpers/createClass.js","webpack://[name]/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://[name]/./node_modules/@babel/runtime/helpers/extends.js","webpack://[name]/./node_modules/@babel/runtime/helpers/get.js","webpack://[name]/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://[name]/./node_modules/@babel/runtime/helpers/inherits.js","webpack://[name]/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://[name]/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://[name]/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://[name]/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://[name]/./node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js","webpack://[name]/./node_modules/@babel/runtime/helpers/objectSpread2.js","webpack://[name]/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://[name]/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://[name]/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://[name]/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://[name]/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://[name]/./node_modules/@babel/runtime/helpers/superPropBase.js","webpack://[name]/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://[name]/./node_modules/@babel/runtime/helpers/typeof.js","webpack://[name]/./node_modules/@babel/runtime/regenerator/index.js","webpack://[name]/./node_modules/add-dom-event-listener/lib/EventBaseObject.js","webpack://[name]/./node_modules/add-dom-event-listener/lib/EventObject.js","webpack://[name]/./node_modules/add-dom-event-listener/lib/index.js","webpack://[name]/./node_modules/array-tree-filter/lib/index.js","webpack://[name]/./node_modules/async-validator/es/index.js","webpack://[name]/./node_modules/async-validator/es/messages.js","webpack://[name]/./node_modules/async-validator/es/rule/enum.js","webpack://[name]/./node_modules/async-validator/es/rule/index.js","webpack://[name]/./node_modules/async-validator/es/rule/pattern.js","webpack://[name]/./node_modules/async-validator/es/rule/range.js","webpack://[name]/./node_modules/async-validator/es/rule/required.js","webpack://[name]/./node_modules/async-validator/es/rule/type.js","webpack://[name]/./node_modules/async-validator/es/rule/whitespace.js","webpack://[name]/./node_modules/async-validator/es/util.js","webpack://[name]/./node_modules/async-validator/es/validator/array.js","webpack://[name]/./node_modules/async-validator/es/validator/boolean.js","webpack://[name]/./node_modules/async-validator/es/validator/date.js","webpack://[name]/./node_modules/async-validator/es/validator/enum.js","webpack://[name]/./node_modules/async-validator/es/validator/float.js","webpack://[name]/./node_modules/async-validator/es/validator/index.js","webpack://[name]/./node_modules/async-validator/es/validator/integer.js","webpack://[name]/./node_modules/async-validator/es/validator/method.js","webpack://[name]/./node_modules/async-validator/es/validator/number.js","webpack://[name]/./node_modules/async-validator/es/validator/object.js","webpack://[name]/./node_modules/async-validator/es/validator/pattern.js","webpack://[name]/./node_modules/async-validator/es/validator/regexp.js","webpack://[name]/./node_modules/async-validator/es/validator/required.js","webpack://[name]/./node_modules/async-validator/es/validator/string.js","webpack://[name]/./node_modules/async-validator/es/validator/type.js","webpack://[name]/./node_modules/babel-runtime/core-js/object/assign.js","webpack://[name]/./node_modules/babel-runtime/core-js/object/create.js","webpack://[name]/./node_modules/babel-runtime/core-js/object/define-property.js","webpack://[name]/./node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack://[name]/./node_modules/babel-runtime/core-js/symbol.js","webpack://[name]/./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack://[name]/./node_modules/babel-runtime/helpers/classCallCheck.js","webpack://[name]/./node_modules/babel-runtime/helpers/createClass.js","webpack://[name]/./node_modules/babel-runtime/helpers/extends.js","webpack://[name]/./node_modules/babel-runtime/helpers/inherits.js","webpack://[name]/./node_modules/babel-runtime/helpers/possibleConstructorReturn.js","webpack://[name]/./node_modules/babel-runtime/helpers/typeof.js","webpack://[name]/./node_modules/choerodon-ui-font/index.js","webpack://[name]/./node_modules/classnames/index.js","webpack://[name]/./node_modules/component-classes/index.js","webpack://[name]/./node_modules/component-indexof/index.js","webpack://[name]/./node_modules/core-js/library/fn/map.js","webpack://[name]/./node_modules/core-js/library/fn/object/assign.js","webpack://[name]/./node_modules/core-js/library/fn/object/create.js","webpack://[name]/./node_modules/core-js/library/fn/object/define-property.js","webpack://[name]/./node_modules/core-js/library/fn/object/set-prototype-of.js","webpack://[name]/./node_modules/core-js/library/fn/set.js","webpack://[name]/./node_modules/core-js/library/fn/symbol/index.js","webpack://[name]/./node_modules/core-js/library/fn/symbol/iterator.js","webpack://[name]/./node_modules/core-js/library/modules/_a-function.js","webpack://[name]/./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack://[name]/./node_modules/core-js/library/modules/_an-instance.js","webpack://[name]/./node_modules/core-js/library/modules/_an-object.js","webpack://[name]/./node_modules/core-js/library/modules/_array-from-iterable.js","webpack://[name]/./node_modules/core-js/library/modules/_array-includes.js","webpack://[name]/./node_modules/core-js/library/modules/_array-methods.js","webpack://[name]/./node_modules/core-js/library/modules/_array-species-constructor.js","webpack://[name]/./node_modules/core-js/library/modules/_array-species-create.js","webpack://[name]/./node_modules/core-js/library/modules/_classof.js","webpack://[name]/./node_modules/core-js/library/modules/_cof.js","webpack://[name]/./node_modules/core-js/library/modules/_collection-strong.js","webpack://[name]/./node_modules/core-js/library/modules/_collection-to-json.js","webpack://[name]/./node_modules/core-js/library/modules/_collection.js","webpack://[name]/./node_modules/core-js/library/modules/_core.js","webpack://[name]/./node_modules/core-js/library/modules/_ctx.js","webpack://[name]/./node_modules/core-js/library/modules/_defined.js","webpack://[name]/./node_modules/core-js/library/modules/_descriptors.js","webpack://[name]/./node_modules/core-js/library/modules/_dom-create.js","webpack://[name]/./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack://[name]/./node_modules/core-js/library/modules/_enum-keys.js","webpack://[name]/./node_modules/core-js/library/modules/_export.js","webpack://[name]/./node_modules/core-js/library/modules/_fails.js","webpack://[name]/./node_modules/core-js/library/modules/_for-of.js","webpack://[name]/./node_modules/core-js/library/modules/_global.js","webpack://[name]/./node_modules/core-js/library/modules/_has.js","webpack://[name]/./node_modules/core-js/library/modules/_hide.js","webpack://[name]/./node_modules/core-js/library/modules/_html.js","webpack://[name]/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://[name]/./node_modules/core-js/library/modules/_iobject.js","webpack://[name]/./node_modules/core-js/library/modules/_is-array-iter.js","webpack://[name]/./node_modules/core-js/library/modules/_is-array.js","webpack://[name]/./node_modules/core-js/library/modules/_is-object.js","webpack://[name]/./node_modules/core-js/library/modules/_iter-call.js","webpack://[name]/./node_modules/core-js/library/modules/_iter-create.js","webpack://[name]/./node_modules/core-js/library/modules/_iter-define.js","webpack://[name]/./node_modules/core-js/library/modules/_iter-step.js","webpack://[name]/./node_modules/core-js/library/modules/_iterators.js","webpack://[name]/./node_modules/core-js/library/modules/_library.js","webpack://[name]/./node_modules/core-js/library/modules/_meta.js","webpack://[name]/./node_modules/core-js/library/modules/_object-assign.js","webpack://[name]/./node_modules/core-js/library/modules/_object-create.js","webpack://[name]/./node_modules/core-js/library/modules/_object-dp.js","webpack://[name]/./node_modules/core-js/library/modules/_object-dps.js","webpack://[name]/./node_modules/core-js/library/modules/_object-gopd.js","webpack://[name]/./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack://[name]/./node_modules/core-js/library/modules/_object-gopn.js","webpack://[name]/./node_modules/core-js/library/modules/_object-gops.js","webpack://[name]/./node_modules/core-js/library/modules/_object-gpo.js","webpack://[name]/./node_modules/core-js/library/modules/_object-keys-internal.js","webpack://[name]/./node_modules/core-js/library/modules/_object-keys.js","webpack://[name]/./node_modules/core-js/library/modules/_object-pie.js","webpack://[name]/./node_modules/core-js/library/modules/_property-desc.js","webpack://[name]/./node_modules/core-js/library/modules/_redefine-all.js","webpack://[name]/./node_modules/core-js/library/modules/_redefine.js","webpack://[name]/./node_modules/core-js/library/modules/_set-collection-from.js","webpack://[name]/./node_modules/core-js/library/modules/_set-collection-of.js","webpack://[name]/./node_modules/core-js/library/modules/_set-proto.js","webpack://[name]/./node_modules/core-js/library/modules/_set-species.js","webpack://[name]/./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack://[name]/./node_modules/core-js/library/modules/_shared-key.js","webpack://[name]/./node_modules/core-js/library/modules/_shared.js","webpack://[name]/./node_modules/core-js/library/modules/_string-at.js","webpack://[name]/./node_modules/core-js/library/modules/_to-absolute-index.js","webpack://[name]/./node_modules/core-js/library/modules/_to-integer.js","webpack://[name]/./node_modules/core-js/library/modules/_to-iobject.js","webpack://[name]/./node_modules/core-js/library/modules/_to-length.js","webpack://[name]/./node_modules/core-js/library/modules/_to-object.js","webpack://[name]/./node_modules/core-js/library/modules/_to-primitive.js","webpack://[name]/./node_modules/core-js/library/modules/_uid.js","webpack://[name]/./node_modules/core-js/library/modules/_validate-collection.js","webpack://[name]/./node_modules/core-js/library/modules/_wks-define.js","webpack://[name]/./node_modules/core-js/library/modules/_wks-ext.js","webpack://[name]/./node_modules/core-js/library/modules/_wks.js","webpack://[name]/./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack://[name]/./node_modules/core-js/library/modules/es6.array.iterator.js","webpack://[name]/./node_modules/core-js/library/modules/es6.map.js","webpack://[name]/./node_modules/core-js/library/modules/es6.object.assign.js","webpack://[name]/./node_modules/core-js/library/modules/es6.object.create.js","webpack://[name]/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://[name]/./node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack://[name]/./node_modules/core-js/library/modules/es6.set.js","webpack://[name]/./node_modules/core-js/library/modules/es6.string.iterator.js","webpack://[name]/./node_modules/core-js/library/modules/es6.symbol.js","webpack://[name]/./node_modules/core-js/library/modules/es7.map.from.js","webpack://[name]/./node_modules/core-js/library/modules/es7.map.of.js","webpack://[name]/./node_modules/core-js/library/modules/es7.map.to-json.js","webpack://[name]/./node_modules/core-js/library/modules/es7.set.from.js","webpack://[name]/./node_modules/core-js/library/modules/es7.set.of.js","webpack://[name]/./node_modules/core-js/library/modules/es7.set.to-json.js","webpack://[name]/./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack://[name]/./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack://[name]/./node_modules/core-js/library/modules/web.dom.iterable.js","webpack://[name]/./node_modules/create-react-class/factory.js","webpack://[name]/./node_modules/create-react-class/index.js","webpack://[name]/./node_modules/css-animation/es/Event.js","webpack://[name]/./node_modules/css-animation/es/index.js","webpack://[name]/./node_modules/dom-align/dist-web/index.js","webpack://[name]/./node_modules/dom-closest/index.js","webpack://[name]/./node_modules/dom-matches/index.js","webpack://[name]/./node_modules/dom-scroll-into-view/lib/dom-scroll-into-view.js","webpack://[name]/./node_modules/dom-scroll-into-view/lib/index.js","webpack://[name]/./node_modules/dom-scroll-into-view/lib/util.js","webpack://[name]/./node_modules/draft-js/lib/AtomicBlockUtils.js","webpack://[name]/./node_modules/draft-js/lib/BlockMapBuilder.js","webpack://[name]/./node_modules/draft-js/lib/BlockTree.js","webpack://[name]/./node_modules/draft-js/lib/CharacterMetadata.js","webpack://[name]/./node_modules/draft-js/lib/CompositeDraftDecorator.js","webpack://[name]/./node_modules/draft-js/lib/ContentBlock.js","webpack://[name]/./node_modules/draft-js/lib/ContentBlockNode.js","webpack://[name]/./node_modules/draft-js/lib/ContentState.js","webpack://[name]/./node_modules/draft-js/lib/ContentStateInlineStyle.js","webpack://[name]/./node_modules/draft-js/lib/DefaultDraftBlockRenderMap.js","webpack://[name]/./node_modules/draft-js/lib/DefaultDraftInlineStyle.js","webpack://[name]/./node_modules/draft-js/lib/Draft.js","webpack://[name]/./node_modules/draft-js/lib/DraftEditor.react.js","webpack://[name]/./node_modules/draft-js/lib/DraftEditorBlock.react.js","webpack://[name]/./node_modules/draft-js/lib/DraftEditorCompositionHandler.js","webpack://[name]/./node_modules/draft-js/lib/DraftEditorContents-core.react.js","webpack://[name]/./node_modules/draft-js/lib/DraftEditorContents.react.js","webpack://[name]/./node_modules/draft-js/lib/DraftEditorDragHandler.js","webpack://[name]/./node_modules/draft-js/lib/DraftEditorEditHandler.js","webpack://[name]/./node_modules/draft-js/lib/DraftEditorLeaf.react.js","webpack://[name]/./node_modules/draft-js/lib/DraftEditorPlaceholder.react.js","webpack://[name]/./node_modules/draft-js/lib/DraftEditorTextNode.react.js","webpack://[name]/./node_modules/draft-js/lib/DraftEntity.js","webpack://[name]/./node_modules/draft-js/lib/DraftEntityInstance.js","webpack://[name]/./node_modules/draft-js/lib/DraftEntitySegments.js","webpack://[name]/./node_modules/draft-js/lib/DraftFeatureFlags-core.js","webpack://[name]/./node_modules/draft-js/lib/DraftFeatureFlags.js","webpack://[name]/./node_modules/draft-js/lib/DraftJsDebugLogging.js","webpack://[name]/./node_modules/draft-js/lib/DraftModifier.js","webpack://[name]/./node_modules/draft-js/lib/DraftOffsetKey.js","webpack://[name]/./node_modules/draft-js/lib/DraftPasteProcessor.js","webpack://[name]/./node_modules/draft-js/lib/DraftRemovableWord.js","webpack://[name]/./node_modules/draft-js/lib/DraftStringKey.js","webpack://[name]/./node_modules/draft-js/lib/DraftTreeAdapter.js","webpack://[name]/./node_modules/draft-js/lib/EditorBidiService.js","webpack://[name]/./node_modules/draft-js/lib/EditorState.js","webpack://[name]/./node_modules/draft-js/lib/KeyBindingUtil.js","webpack://[name]/./node_modules/draft-js/lib/RichTextEditorUtil.js","webpack://[name]/./node_modules/draft-js/lib/SecondaryClipboard.js","webpack://[name]/./node_modules/draft-js/lib/SelectionState.js","webpack://[name]/./node_modules/draft-js/lib/adjustBlockDepthForContentState.js","webpack://[name]/./node_modules/draft-js/lib/applyEntityToContentBlock.js","webpack://[name]/./node_modules/draft-js/lib/applyEntityToContentState.js","webpack://[name]/./node_modules/draft-js/lib/convertFromDraftStateToRaw.js","webpack://[name]/./node_modules/draft-js/lib/convertFromHTMLToContentBlocks.js","webpack://[name]/./node_modules/draft-js/lib/convertFromRawToDraftState.js","webpack://[name]/./node_modules/draft-js/lib/createCharacterList.js","webpack://[name]/./node_modules/draft-js/lib/decodeEntityRanges.js","webpack://[name]/./node_modules/draft-js/lib/decodeInlineStyleRanges.js","webpack://[name]/./node_modules/draft-js/lib/editOnBeforeInput.js","webpack://[name]/./node_modules/draft-js/lib/editOnBlur.js","webpack://[name]/./node_modules/draft-js/lib/editOnCompositionStart.js","webpack://[name]/./node_modules/draft-js/lib/editOnCopy.js","webpack://[name]/./node_modules/draft-js/lib/editOnCut.js","webpack://[name]/./node_modules/draft-js/lib/editOnDragOver.js","webpack://[name]/./node_modules/draft-js/lib/editOnDragStart.js","webpack://[name]/./node_modules/draft-js/lib/editOnFocus.js","webpack://[name]/./node_modules/draft-js/lib/editOnInput.js","webpack://[name]/./node_modules/draft-js/lib/editOnKeyDown.js","webpack://[name]/./node_modules/draft-js/lib/editOnPaste.js","webpack://[name]/./node_modules/draft-js/lib/editOnSelect.js","webpack://[name]/./node_modules/draft-js/lib/encodeEntityRanges.js","webpack://[name]/./node_modules/draft-js/lib/encodeInlineStyleRanges.js","webpack://[name]/./node_modules/draft-js/lib/expandRangeToStartOfLine.js","webpack://[name]/./node_modules/draft-js/lib/findAncestorOffsetKey.js","webpack://[name]/./node_modules/draft-js/lib/findRangesImmutable.js","webpack://[name]/./node_modules/draft-js/lib/generateRandomKey.js","webpack://[name]/./node_modules/draft-js/lib/getCharacterRemovalRange.js","webpack://[name]/./node_modules/draft-js/lib/getContentStateFragment.js","webpack://[name]/./node_modules/draft-js/lib/getDefaultKeyBinding.js","webpack://[name]/./node_modules/draft-js/lib/getDraftEditorSelection.js","webpack://[name]/./node_modules/draft-js/lib/getDraftEditorSelectionWithNodes.js","webpack://[name]/./node_modules/draft-js/lib/getEntityKeyForSelection.js","webpack://[name]/./node_modules/draft-js/lib/getFragmentFromSelection.js","webpack://[name]/./node_modules/draft-js/lib/getNextDelimiterBlockKey.js","webpack://[name]/./node_modules/draft-js/lib/getRangeBoundingClientRect.js","webpack://[name]/./node_modules/draft-js/lib/getRangeClientRects.js","webpack://[name]/./node_modules/draft-js/lib/getRangesForDraftEntity.js","webpack://[name]/./node_modules/draft-js/lib/getSafeBodyFromHTML.js","webpack://[name]/./node_modules/draft-js/lib/getSelectionOffsetKeyForNode.js","webpack://[name]/./node_modules/draft-js/lib/getTextContentFromFiles.js","webpack://[name]/./node_modules/draft-js/lib/getUpdatedSelectionState.js","webpack://[name]/./node_modules/draft-js/lib/getVisibleSelectionRect.js","webpack://[name]/./node_modules/draft-js/lib/insertFragmentIntoContentState.js","webpack://[name]/./node_modules/draft-js/lib/insertIntoList.js","webpack://[name]/./node_modules/draft-js/lib/insertTextIntoContentState.js","webpack://[name]/./node_modules/draft-js/lib/isEventHandled.js","webpack://[name]/./node_modules/draft-js/lib/isSelectionAtLeafStart.js","webpack://[name]/./node_modules/draft-js/lib/keyCommandBackspaceToStartOfLine.js","webpack://[name]/./node_modules/draft-js/lib/keyCommandBackspaceWord.js","webpack://[name]/./node_modules/draft-js/lib/keyCommandDeleteWord.js","webpack://[name]/./node_modules/draft-js/lib/keyCommandInsertNewline.js","webpack://[name]/./node_modules/draft-js/lib/keyCommandMoveSelectionToEndOfBlock.js","webpack://[name]/./node_modules/draft-js/lib/keyCommandMoveSelectionToStartOfBlock.js","webpack://[name]/./node_modules/draft-js/lib/keyCommandPlainBackspace.js","webpack://[name]/./node_modules/draft-js/lib/keyCommandPlainDelete.js","webpack://[name]/./node_modules/draft-js/lib/keyCommandTransposeCharacters.js","webpack://[name]/./node_modules/draft-js/lib/keyCommandUndo.js","webpack://[name]/./node_modules/draft-js/lib/modifyBlockForContentState.js","webpack://[name]/./node_modules/draft-js/lib/moveBlockInContentState.js","webpack://[name]/./node_modules/draft-js/lib/moveSelectionBackward.js","webpack://[name]/./node_modules/draft-js/lib/moveSelectionForward.js","webpack://[name]/./node_modules/draft-js/lib/randomizeBlockMapKeys.js","webpack://[name]/./node_modules/draft-js/lib/removeEntitiesAtEdges.js","webpack://[name]/./node_modules/draft-js/lib/removeRangeFromContentState.js","webpack://[name]/./node_modules/draft-js/lib/removeTextWithStrategy.js","webpack://[name]/./node_modules/draft-js/lib/sanitizeDraftText.js","webpack://[name]/./node_modules/draft-js/lib/setDraftEditorSelection.js","webpack://[name]/./node_modules/draft-js/lib/splitBlockInContentState.js","webpack://[name]/./node_modules/draft-js/lib/splitTextIntoTextBlocks.js","webpack://[name]/./node_modules/enquire.js/src/MediaQuery.js","webpack://[name]/./node_modules/enquire.js/src/MediaQueryDispatch.js","webpack://[name]/./node_modules/enquire.js/src/QueryHandler.js","webpack://[name]/./node_modules/enquire.js/src/Util.js","webpack://[name]/./node_modules/enquire.js/src/index.js","webpack://[name]/./node_modules/eventlistener/eventlistener.js","webpack://[name]/./node_modules/fbjs/lib/DataTransfer.js","webpack://[name]/./node_modules/fbjs/lib/Keys.js","webpack://[name]/./node_modules/fbjs/lib/PhotosMimeType.js","webpack://[name]/./node_modules/fbjs/lib/Scroll.js","webpack://[name]/./node_modules/fbjs/lib/Style.js","webpack://[name]/./node_modules/fbjs/lib/TokenizeUtil.js","webpack://[name]/./node_modules/fbjs/lib/URI.js","webpack://[name]/./node_modules/fbjs/lib/UnicodeBidi.js","webpack://[name]/./node_modules/fbjs/lib/UnicodeBidiDirection.js","webpack://[name]/./node_modules/fbjs/lib/UnicodeBidiService.js","webpack://[name]/./node_modules/fbjs/lib/UnicodeUtils.js","webpack://[name]/./node_modules/fbjs/lib/UserAgent.js","webpack://[name]/./node_modules/fbjs/lib/UserAgentData.js","webpack://[name]/./node_modules/fbjs/lib/VersionRange.js","webpack://[name]/./node_modules/fbjs/lib/camelize.js","webpack://[name]/./node_modules/fbjs/lib/containsNode.js","webpack://[name]/./node_modules/fbjs/lib/createArrayFromMixed.js","webpack://[name]/./node_modules/fbjs/lib/cx.js","webpack://[name]/./node_modules/fbjs/lib/emptyFunction.js","webpack://[name]/./node_modules/fbjs/lib/emptyObject.js","webpack://[name]/./node_modules/fbjs/lib/getActiveElement.js","webpack://[name]/./node_modules/fbjs/lib/getDocumentScrollElement.js","webpack://[name]/./node_modules/fbjs/lib/getElementPosition.js","webpack://[name]/./node_modules/fbjs/lib/getElementRect.js","webpack://[name]/./node_modules/fbjs/lib/getScrollPosition.js","webpack://[name]/./node_modules/fbjs/lib/getStyleProperty.js","webpack://[name]/./node_modules/fbjs/lib/getUnboundedScrollPosition.js","webpack://[name]/./node_modules/fbjs/lib/getViewportDimensions.js","webpack://[name]/./node_modules/fbjs/lib/hyphenate.js","webpack://[name]/./node_modules/fbjs/lib/invariant.js","webpack://[name]/./node_modules/fbjs/lib/isNode.js","webpack://[name]/./node_modules/fbjs/lib/isTextNode.js","webpack://[name]/./node_modules/fbjs/lib/joinClasses.js","webpack://[name]/./node_modules/fbjs/lib/mapObject.js","webpack://[name]/./node_modules/fbjs/lib/memoizeStringOnly.js","webpack://[name]/./node_modules/fbjs/lib/nullthrows.js","webpack://[name]/./node_modules/fbjs/lib/setImmediate.js","webpack://[name]/./node_modules/fbjs/lib/warning.js","webpack://[name]/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://[name]/./node_modules/immutable/dist/immutable.js","webpack://[name]/./node_modules/is-negative-zero/index.js","webpack://[name]/./node_modules/json2mq/index.js","webpack://[name]/./node_modules/lodash.debounce/index.js","webpack://[name]/./node_modules/lodash.throttle/index.js","webpack://[name]/./node_modules/lodash/_DataView.js","webpack://[name]/./node_modules/lodash/_Hash.js","webpack://[name]/./node_modules/lodash/_ListCache.js","webpack://[name]/./node_modules/lodash/_Map.js","webpack://[name]/./node_modules/lodash/_MapCache.js","webpack://[name]/./node_modules/lodash/_Promise.js","webpack://[name]/./node_modules/lodash/_Set.js","webpack://[name]/./node_modules/lodash/_SetCache.js","webpack://[name]/./node_modules/lodash/_Stack.js","webpack://[name]/./node_modules/lodash/_Symbol.js","webpack://[name]/./node_modules/lodash/_Uint8Array.js","webpack://[name]/./node_modules/lodash/_WeakMap.js","webpack://[name]/./node_modules/lodash/_apply.js","webpack://[name]/./node_modules/lodash/_arrayEach.js","webpack://[name]/./node_modules/lodash/_arrayFilter.js","webpack://[name]/./node_modules/lodash/_arrayIncludes.js","webpack://[name]/./node_modules/lodash/_arrayIncludesWith.js","webpack://[name]/./node_modules/lodash/_arrayLikeKeys.js","webpack://[name]/./node_modules/lodash/_arrayMap.js","webpack://[name]/./node_modules/lodash/_arrayPush.js","webpack://[name]/./node_modules/lodash/_arraySome.js","webpack://[name]/./node_modules/lodash/_asciiToArray.js","webpack://[name]/./node_modules/lodash/_assignMergeValue.js","webpack://[name]/./node_modules/lodash/_assignValue.js","webpack://[name]/./node_modules/lodash/_assocIndexOf.js","webpack://[name]/./node_modules/lodash/_baseAssign.js","webpack://[name]/./node_modules/lodash/_baseAssignIn.js","webpack://[name]/./node_modules/lodash/_baseAssignValue.js","webpack://[name]/./node_modules/lodash/_baseClone.js","webpack://[name]/./node_modules/lodash/_baseCreate.js","webpack://[name]/./node_modules/lodash/_baseEach.js","webpack://[name]/./node_modules/lodash/_baseFindIndex.js","webpack://[name]/./node_modules/lodash/_baseFlatten.js","webpack://[name]/./node_modules/lodash/_baseFor.js","webpack://[name]/./node_modules/lodash/_baseForOwn.js","webpack://[name]/./node_modules/lodash/_baseGet.js","webpack://[name]/./node_modules/lodash/_baseGetAllKeys.js","webpack://[name]/./node_modules/lodash/_baseGetTag.js","webpack://[name]/./node_modules/lodash/_baseHas.js","webpack://[name]/./node_modules/lodash/_baseHasIn.js","webpack://[name]/./node_modules/lodash/_baseIndexOf.js","webpack://[name]/./node_modules/lodash/_baseIsArguments.js","webpack://[name]/./node_modules/lodash/_baseIsEqual.js","webpack://[name]/./node_modules/lodash/_baseIsEqualDeep.js","webpack://[name]/./node_modules/lodash/_baseIsMap.js","webpack://[name]/./node_modules/lodash/_baseIsMatch.js","webpack://[name]/./node_modules/lodash/_baseIsNaN.js","webpack://[name]/./node_modules/lodash/_baseIsNative.js","webpack://[name]/./node_modules/lodash/_baseIsSet.js","webpack://[name]/./node_modules/lodash/_baseIsTypedArray.js","webpack://[name]/./node_modules/lodash/_baseIteratee.js","webpack://[name]/./node_modules/lodash/_baseKeys.js","webpack://[name]/./node_modules/lodash/_baseKeysIn.js","webpack://[name]/./node_modules/lodash/_baseMap.js","webpack://[name]/./node_modules/lodash/_baseMatches.js","webpack://[name]/./node_modules/lodash/_baseMatchesProperty.js","webpack://[name]/./node_modules/lodash/_baseMerge.js","webpack://[name]/./node_modules/lodash/_baseMergeDeep.js","webpack://[name]/./node_modules/lodash/_baseProperty.js","webpack://[name]/./node_modules/lodash/_basePropertyDeep.js","webpack://[name]/./node_modules/lodash/_baseRest.js","webpack://[name]/./node_modules/lodash/_baseSet.js","webpack://[name]/./node_modules/lodash/_baseSetToString.js","webpack://[name]/./node_modules/lodash/_baseSlice.js","webpack://[name]/./node_modules/lodash/_baseTimes.js","webpack://[name]/./node_modules/lodash/_baseToString.js","webpack://[name]/./node_modules/lodash/_baseUnary.js","webpack://[name]/./node_modules/lodash/_baseUniq.js","webpack://[name]/./node_modules/lodash/_baseUnset.js","webpack://[name]/./node_modules/lodash/_baseValues.js","webpack://[name]/./node_modules/lodash/_cacheHas.js","webpack://[name]/./node_modules/lodash/_castPath.js","webpack://[name]/./node_modules/lodash/_cloneArrayBuffer.js","webpack://[name]/./node_modules/lodash/_cloneBuffer.js","webpack://[name]/./node_modules/lodash/_cloneDataView.js","webpack://[name]/./node_modules/lodash/_cloneRegExp.js","webpack://[name]/./node_modules/lodash/_cloneSymbol.js","webpack://[name]/./node_modules/lodash/_cloneTypedArray.js","webpack://[name]/./node_modules/lodash/_copyArray.js","webpack://[name]/./node_modules/lodash/_copyObject.js","webpack://[name]/./node_modules/lodash/_copySymbols.js","webpack://[name]/./node_modules/lodash/_copySymbolsIn.js","webpack://[name]/./node_modules/lodash/_coreJsData.js","webpack://[name]/./node_modules/lodash/_createAssigner.js","webpack://[name]/./node_modules/lodash/_createBaseEach.js","webpack://[name]/./node_modules/lodash/_createBaseFor.js","webpack://[name]/./node_modules/lodash/_createSet.js","webpack://[name]/./node_modules/lodash/_customOmitClone.js","webpack://[name]/./node_modules/lodash/_defineProperty.js","webpack://[name]/./node_modules/lodash/_equalArrays.js","webpack://[name]/./node_modules/lodash/_equalByTag.js","webpack://[name]/./node_modules/lodash/_equalObjects.js","webpack://[name]/./node_modules/lodash/_flatRest.js","webpack://[name]/./node_modules/lodash/_freeGlobal.js","webpack://[name]/./node_modules/lodash/_getAllKeys.js","webpack://[name]/./node_modules/lodash/_getAllKeysIn.js","webpack://[name]/./node_modules/lodash/_getMapData.js","webpack://[name]/./node_modules/lodash/_getMatchData.js","webpack://[name]/./node_modules/lodash/_getNative.js","webpack://[name]/./node_modules/lodash/_getPrototype.js","webpack://[name]/./node_modules/lodash/_getRawTag.js","webpack://[name]/./node_modules/lodash/_getSymbols.js","webpack://[name]/./node_modules/lodash/_getSymbolsIn.js","webpack://[name]/./node_modules/lodash/_getTag.js","webpack://[name]/./node_modules/lodash/_getValue.js","webpack://[name]/./node_modules/lodash/_hasPath.js","webpack://[name]/./node_modules/lodash/_hasUnicode.js","webpack://[name]/./node_modules/lodash/_hashClear.js","webpack://[name]/./node_modules/lodash/_hashDelete.js","webpack://[name]/./node_modules/lodash/_hashGet.js","webpack://[name]/./node_modules/lodash/_hashHas.js","webpack://[name]/./node_modules/lodash/_hashSet.js","webpack://[name]/./node_modules/lodash/_initCloneArray.js","webpack://[name]/./node_modules/lodash/_initCloneByTag.js","webpack://[name]/./node_modules/lodash/_initCloneObject.js","webpack://[name]/./node_modules/lodash/_isFlattenable.js","webpack://[name]/./node_modules/lodash/_isIndex.js","webpack://[name]/./node_modules/lodash/_isIterateeCall.js","webpack://[name]/./node_modules/lodash/_isKey.js","webpack://[name]/./node_modules/lodash/_isKeyable.js","webpack://[name]/./node_modules/lodash/_isMasked.js","webpack://[name]/./node_modules/lodash/_isPrototype.js","webpack://[name]/./node_modules/lodash/_isStrictComparable.js","webpack://[name]/./node_modules/lodash/_iteratorToArray.js","webpack://[name]/./node_modules/lodash/_listCacheClear.js","webpack://[name]/./node_modules/lodash/_listCacheDelete.js","webpack://[name]/./node_modules/lodash/_listCacheGet.js","webpack://[name]/./node_modules/lodash/_listCacheHas.js","webpack://[name]/./node_modules/lodash/_listCacheSet.js","webpack://[name]/./node_modules/lodash/_mapCacheClear.js","webpack://[name]/./node_modules/lodash/_mapCacheDelete.js","webpack://[name]/./node_modules/lodash/_mapCacheGet.js","webpack://[name]/./node_modules/lodash/_mapCacheHas.js","webpack://[name]/./node_modules/lodash/_mapCacheSet.js","webpack://[name]/./node_modules/lodash/_mapToArray.js","webpack://[name]/./node_modules/lodash/_matchesStrictComparable.js","webpack://[name]/./node_modules/lodash/_memoizeCapped.js","webpack://[name]/./node_modules/lodash/_nativeCreate.js","webpack://[name]/./node_modules/lodash/_nativeKeys.js","webpack://[name]/./node_modules/lodash/_nativeKeysIn.js","webpack://[name]/./node_modules/lodash/_nodeUtil.js","webpack://[name]/./node_modules/lodash/_objectToString.js","webpack://[name]/./node_modules/lodash/_overArg.js","webpack://[name]/./node_modules/lodash/_overRest.js","webpack://[name]/./node_modules/lodash/_parent.js","webpack://[name]/./node_modules/lodash/_root.js","webpack://[name]/./node_modules/lodash/_safeGet.js","webpack://[name]/./node_modules/lodash/_setCacheAdd.js","webpack://[name]/./node_modules/lodash/_setCacheHas.js","webpack://[name]/./node_modules/lodash/_setToArray.js","webpack://[name]/./node_modules/lodash/_setToString.js","webpack://[name]/./node_modules/lodash/_shortOut.js","webpack://[name]/./node_modules/lodash/_stackClear.js","webpack://[name]/./node_modules/lodash/_stackDelete.js","webpack://[name]/./node_modules/lodash/_stackGet.js","webpack://[name]/./node_modules/lodash/_stackHas.js","webpack://[name]/./node_modules/lodash/_stackSet.js","webpack://[name]/./node_modules/lodash/_strictIndexOf.js","webpack://[name]/./node_modules/lodash/_stringToArray.js","webpack://[name]/./node_modules/lodash/_stringToPath.js","webpack://[name]/./node_modules/lodash/_toKey.js","webpack://[name]/./node_modules/lodash/_toSource.js","webpack://[name]/./node_modules/lodash/_unicodeToArray.js","webpack://[name]/./node_modules/lodash/cloneDeep.js","webpack://[name]/./node_modules/lodash/constant.js","webpack://[name]/./node_modules/lodash/debounce.js","webpack://[name]/./node_modules/lodash/eq.js","webpack://[name]/./node_modules/lodash/flatMap.js","webpack://[name]/./node_modules/lodash/flatten.js","webpack://[name]/./node_modules/lodash/get.js","webpack://[name]/./node_modules/lodash/has.js","webpack://[name]/./node_modules/lodash/hasIn.js","webpack://[name]/./node_modules/lodash/identity.js","webpack://[name]/./node_modules/lodash/isArguments.js","webpack://[name]/./node_modules/lodash/isArray.js","webpack://[name]/./node_modules/lodash/isArrayLike.js","webpack://[name]/./node_modules/lodash/isArrayLikeObject.js","webpack://[name]/./node_modules/lodash/isBuffer.js","webpack://[name]/./node_modules/lodash/isEqual.js","webpack://[name]/./node_modules/lodash/isFunction.js","webpack://[name]/./node_modules/lodash/isLength.js","webpack://[name]/./node_modules/lodash/isMap.js","webpack://[name]/./node_modules/lodash/isNil.js","webpack://[name]/./node_modules/lodash/isNumber.js","webpack://[name]/./node_modules/lodash/isObject.js","webpack://[name]/./node_modules/lodash/isObjectLike.js","webpack://[name]/./node_modules/lodash/isPlainObject.js","webpack://[name]/./node_modules/lodash/isSet.js","webpack://[name]/./node_modules/lodash/isString.js","webpack://[name]/./node_modules/lodash/isSymbol.js","webpack://[name]/./node_modules/lodash/isTypedArray.js","webpack://[name]/./node_modules/lodash/keys.js","webpack://[name]/./node_modules/lodash/keysIn.js","webpack://[name]/./node_modules/lodash/last.js","webpack://[name]/./node_modules/lodash/map.js","webpack://[name]/./node_modules/lodash/memoize.js","webpack://[name]/./node_modules/lodash/merge.js","webpack://[name]/./node_modules/lodash/noop.js","webpack://[name]/./node_modules/lodash/now.js","webpack://[name]/./node_modules/lodash/omit.js","webpack://[name]/./node_modules/lodash/property.js","webpack://[name]/./node_modules/lodash/set.js","webpack://[name]/./node_modules/lodash/stubArray.js","webpack://[name]/./node_modules/lodash/stubFalse.js","webpack://[name]/./node_modules/lodash/toArray.js","webpack://[name]/./node_modules/lodash/toNumber.js","webpack://[name]/./node_modules/lodash/toPlainObject.js","webpack://[name]/./node_modules/lodash/toString.js","webpack://[name]/./node_modules/lodash/uniqBy.js","webpack://[name]/./node_modules/lodash/values.js","webpack://[name]/./node_modules/mini-store/lib/PropTypes.js","webpack://[name]/./node_modules/mini-store/lib/Provider.js","webpack://[name]/./node_modules/mini-store/lib/connect.js","webpack://[name]/./node_modules/mini-store/lib/create.js","webpack://[name]/./node_modules/mini-store/lib/index.js","webpack://[name]/./node_modules/mutationobserver-shim/dist/mutationobserver.min.js","webpack://[name]/./node_modules/object-assign/index.js","webpack://[name]/./node_modules/performance-now/lib/performance-now.js","webpack://[name]/./node_modules/process/browser.js","webpack://[name]/./node_modules/prop-types/checkPropTypes.js","webpack://[name]/./node_modules/prop-types/factoryWithTypeCheckers.js","webpack://[name]/./node_modules/prop-types/index.js","webpack://[name]/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://[name]/./node_modules/raf/index.js","webpack://[name]/./node_modules/rc-editor-core/es/EditorCore/ConfigStore.js","webpack://[name]/./node_modules/rc-editor-core/es/EditorCore/customHTML2Content.js","webpack://[name]/./node_modules/rc-editor-core/es/EditorCore/export/exportText.js","webpack://[name]/./node_modules/rc-editor-core/es/EditorCore/export/getHTML.js","webpack://[name]/./node_modules/rc-editor-core/es/EditorCore/export/isUnitlessNumber.js","webpack://[name]/./node_modules/rc-editor-core/es/EditorCore/index.js","webpack://[name]/./node_modules/rc-editor-core/es/Toolbar/Toolbar.js","webpack://[name]/./node_modules/rc-editor-core/es/Toolbar/ToolbarLine.js","webpack://[name]/./node_modules/rc-editor-core/es/Toolbar/index.js","webpack://[name]/./node_modules/rc-editor-core/es/index.js","webpack://[name]/./node_modules/react-is/cjs/react-is.development.js","webpack://[name]/./node_modules/react-is/index.js","webpack://[name]/./node_modules/react-lazy-load/lib/LazyLoad.js","webpack://[name]/./node_modules/react-lazy-load/lib/utils/getElementPosition.js","webpack://[name]/./node_modules/react-lazy-load/lib/utils/inViewport.js","webpack://[name]/./node_modules/react-lazy-load/lib/utils/parentScroll.js","webpack://[name]/./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack://[name]/./node_modules/react-slick/lib/arrows.js","webpack://[name]/./node_modules/react-slick/lib/default-props.js","webpack://[name]/./node_modules/react-slick/lib/dots.js","webpack://[name]/./node_modules/react-slick/lib/index.js","webpack://[name]/./node_modules/react-slick/lib/initial-state.js","webpack://[name]/./node_modules/react-slick/lib/inner-slider.js","webpack://[name]/./node_modules/react-slick/lib/slider.js","webpack://[name]/./node_modules/react-slick/lib/track.js","webpack://[name]/./node_modules/react-slick/lib/utils/innerSliderUtils.js","webpack://[name]/./node_modules/regenerator-runtime/runtime.js","webpack://[name]/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://[name]/./node_modules/rmc-feedback/es/TouchFeedback.js","webpack://[name]/./node_modules/rmc-feedback/es/index.js","webpack://[name]/./node_modules/setimmediate/setImmediate.js","webpack://[name]/./node_modules/shallowequal/index.js","webpack://[name]/./node_modules/string-convert/camel2hyphen.js","webpack://[name]/./node_modules/string-template/index.js","webpack://[name]/./node_modules/timers-browserify/main.js","webpack://[name]/./node_modules/tslib/tslib.es6.js","webpack://[name]/./node_modules/ua-parser-js/src/ua-parser.js","webpack://[name]/./node_modules/warning/warning.js","webpack://[name]/(webpack)/buildin/global.js","webpack://[name]/(webpack)/buildin/module.js","webpack://[name]/external {\"root\":\"mobx\",\"commonjs2\":\"mobx\",\"commonjs\":\"mobx\",\"amd\":\"mobx\"}","webpack://[name]/external {\"root\":\"moment\",\"commonjs2\":\"moment\",\"commonjs\":\"moment\",\"amd\":\"moment\"}","webpack://[name]/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://[name]/external {\"root\":\"ReactDOM\",\"commonjs2\":\"react-dom\",\"commonjs\":\"react-dom\",\"amd\":\"react-dom\"}"],"names":["e","defaultMessage","isString","Error","message","console","error","normalizeLanguage","language","replace","toLowerCase","defaultFeedback","loadSuccess","_result","loadFailed","exception","$l","submitSuccess","success","submitFailed","DataSetEvents","DataSetSelection","DataSetStatus","RecordStatus","FieldType","SortOrder","BooleanValue","FieldIgnore","FieldTrim","FieldFormat","LabelAlign","LabelLayout","ResponsiveKeys","formatReactTemplate","template","map","result","Object","keys","forEach","key","node","flatMap","text","stringText","isValidElement","placeholder","length","textArr","index","indexOf","push","slice","format","every","join","createElement","Fragment","setMomentLocale","locale","moment","lang","defaultLocale","LocaleContext","runInAction","supports","defaultSupports","component","cmp","get","tslib_1","observable","prototype","action","Lang","injectionOptions","localeContext","zh_CN","en_GB","en_US","Table","show_cached_seletion","hide_cached_seletion","edit_button","create_button","save_button","cancel_button","delete_button","remove_button","reset_button","query_button","expand_button","collapse_button","export_button","advanced_search","dirty_info","restore","empty_data","choose_export_columns","column_name","filter_bar_placeholder","advanced_query","advanced_query_conditions","Pagination","records_per_page","Upload","file_selection","click_to_upload","upload_success","upload_failure","no_file","upload_path_unset","not_acceptable_prompt","file_list_max_length","Modal","ok","cancel","DataSet","unsaved_data_confirm","invalid_query_dataset","delete_selected_row_confirm","delete_all_row_confirm","query_failure","submit_success","submit_failure","cannot_add_record_when_head_no_current","DatePicker","value_missing_no_label","value_missing","type_mismatch","today","now","this_week","EmailField","IntlField","modal_title","NumberField","Radio","SelectBox","Select","no_matching_results","select_all","unselect_all","Lov","choose","Transfer","items","UrlField","ColorPicker","Validator","bad_input","pattern_mismatch","range_overflow","range_underflow","step_mismatch","step_mismatch_between","too_long","too_short","unique","unknown","Icon","icons","whatsNew","direction","suggestion","edit","data","other","series","ColumnLock","ColumnAlign","ScrollPosition","SelectionMode","TableButtonType","TableCommandType","TableMode","TableEditMode","TableQueryBarType","TablePaginationPosition","TableColumnTooltip","on","eventName","fn","el","useCapture","addEventListener","attachEvent","off","removeEventListener","detachEvent","EventManager","events","findIndex","event","splice","filter","capture","rest","Promise","all","then","resolve","preventDefault","stopPropagation","stopEvent","KeyCode","keyCode","altKey","ctrlKey","metaKey","F1","F12","ALT","CAPS_LOCK","CONTEXT_MENU","CTRL","DOWN","END","ESC","HOME","INSERT","LEFT","MAC_FF_META","META","NUMLOCK","NUM_CENTER","PAGE_DOWN","PAGE_UP","PAUSE","PRINT_SCREEN","RIGHT","SHIFT","UP","WIN_KEY","WIN_KEY_RIGHT","ZERO","NINE","NUM_ZERO","NUM_MULTIPLY","A","Z","window","navigator","userAgent","SPACE","QUESTION_MARK","NUM_PLUS","NUM_MINUS","NUM_PERIOD","NUM_DIVISION","SEMICOLON","DASH","EQUALS","COMMA","PERIOD","SLASH","APOSTROPHE","SINGLE_QUOTE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","MAC_ENTER","BACKSPACE","TAB","ENTER","DELETE","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","NUM_ONE","NUM_TWO","NUM_THREE","NUM_FOUR","NUM_FIVE","NUM_SIX","NUM_SEVEN","NUM_EIGHT","NUM_NINE","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","WIN_IME","TaskRunner","callbacks","delay","callback","start","interval","once","id","setInterval","cb","reject","clearInterval","addEventListenerWrap","target","eventType","unstable_batchedUpdates","run","addDOMEventListener","easeInOutCubic","t","b","c","d","cc","Size","getScroll","top","prop","method","isWindow","ret","document","documentElement","interopDefault","m","animation","isCssAnimationSupported","undefined","domPrefixes","split","elm","style","animationName","i","isFlexSupported","scrollbarWidth","rootFontSize","getRootFontSize","defaultView","getComputedStyle","fontSize","parseFloat","measureScrollbar","scrollDiv","cssText","body","appendChild","size","offsetWidth","clientWidth","offsetHeight","clientHeight","removeChild","matchMediaPolifill","mediaQuery","media","matches","addListener","removeListener","animate","show","done","height","requestAnimationFrameId","cssAnimation","opacity","active","raf","end","enter","leave","appear","scrollTo","y","options","getContainer","duration","container","scrollTop","startTime","Date","frameFunc","timestamp","time","nextScrollTop","pageXOffset","throttleByAnimationFrame","requestId","later","args","throttled","throttleByAnimationFrameDecorator","descriptor","value","definingProperty","configurable","hasOwnProperty","call","boundFn","bind","defineProperty","writable","triggerEvent","type","createEvent","initEvent","dispatchEvent","warned","valid","warning","getTargetRect","getBoundingClientRect","left","bottom","getOffset","element","elemRect","targetRect","scrollLeft","docElem","clientTop","clientLeft","width","getDefaultTarget","Affix","arguments","state","affixStyle","placeholderStyle","eventHandlers","saveFixedNode","fixedNode","savePlaceholderNode","placeholderNode","props","onChange","noop","originalAffixStyle","shallowequal","setState","originalPlaceholderStyle","setAffixStyle","setPlaceholderStyle","offsetBottom","offset","offsetTop","targetNode","affixNode","findDOMNode","elemOffset","elemSize","offsetMode","targetInnerHeight","innerHeight","position","targetBottomOffet","syncPlaceholderStyle","timeout","setTimeout","setTargetEventListeners","updatePosition","nextProps","clearEventListeners","clearTimeout","getTarget","handler","remove","prefixCls","children","className","classNames","getPrefixCls","omit","Component","displayName","propTypes","PropTypes","number","func","Alert","closing","closed","handleClose","dom","onClose","animationEnd","afterClose","description","customizePrefixCls","closeText","banner","closable","showIcon","iconType","alertCls","closeIcon","obj","Align","hidden","onAlign","align","source","ref","domAlign","monitorWindowResize","forceAlign","startMonitorWindowResize","prevProps","preHidden","preAlign","preTarget","reAlign","lastTarget","currentTarget","stopMonitorWindowResize","monitorBufferTime","resizeHandler","bufferMonitor","clear","childrenProps","newProps","cloneElement","Children","only","object","isRequired","bool","any","defaultProps","getDefaultContainer","getOffsetTop","getClientRects","rect","ownerDocument","sharpMatcherRegx","Anchor","activeLink","links","handleScrollTo","link","targetOffset","sharpLinkMatch","exec","targetElement","getElementById","eleOffsetTop","animating","saveInkNode","inkNode","handleScroll","bounds","currentActiveLink","getCurrentAnchor","updateInk","linkNode","getElementsByClassName","onClick","c7nAnchor","registerLink","includes","unregisterLink","scrollContainer","scrollEvent","currentContainer","linkSections","toString","maxSection","reduce","prev","curr","affix","showInkInFixed","inkClass","visible","wrapperClass","anchorClass","fixed","wrapperStyle","maxHeight","anchorContent","childContextTypes","AnchorLink","handleClick","context","href","title","prevHref","wrapperClassName","titleClassName","contextTypes","Link","defaultKey","getChildrenFromProps","Animate","currentlyAnimatingKeys","keysToEnter","keysToLeave","toArrayChildren","childrenRefs","performEnter","childRef","componentWillEnter","handleDoneAdding","performAppear","componentWillAppear","exclusive","onAppear","onEnd","onEnter","isValidChildByKey","performLeave","animUtil","allowAppearCallback","allowEnterCallback","componentWillLeave","handleDoneLeaving","onLeave","hiddenProp","currentChildren","allowLeaveCallback","isSameChildren","child","nextChildren","stop","newChildren","nextChild","newChild","currentChild","findChildInChildrenByKey","mergeChildren","hasPrev","showInNext","showInNow","findShownChildInChildrenByKey","hasNext","transitionName","transitionEnter","transitionAppear","transitionLeave","Cmp","componentProps","otherProps","stateChildren","AnimateChild","passedProps","oneOfType","string","transitionMap","isEnterSupported","transition","isAppearSupported","isLeaveSupported","animationType","finishCallback","nameIsObj","stopper","name","activeName","cssAnimate","find","c1","c2","same","child2","next","nextChildrenPending","pendingChildren","concat","InputElement","focus","ele","blur","saveRef","isSelectOptionOrSelectOptGroup","isSelectOption","isSelectOptGroup","AutoComplete","getInputElement","Option","elementProps","saveSelect","select","notFoundContent","optionLabelProp","dataSource","cls","large","small","childArray","toArray","item","SelectMode","combobox","OptGroup","choiceTransitionName","showSearch","filterOption","Avatar","setScale","childrenNode","avatarChildren","childrenWidth","avatarNode","avatarWidth","scale","handleImgLoadError","onError","errorFlag","isImgExist","prevState","shape","src","icon","alt","others","sizeCls","classString","sizeStyle","isNumber","lineHeight","transformString","childrenStyle","msTransform","WebkitTransform","transform","sizeChildrenStyle","span","BackTop","scrollToTop","visibilityHeight","defaultElement","divProps","backTopBtn","getNumberArray","num","reverse","Number","ScrollNumber","renderCurrentNumber","getPositionByNum","animateStarted","removeTransition","lastCount","renderNumberList","count","currentDigit","lastDigit","onAnimated","childrenToReturn","currentClassName","isNaN","restProps","borderColor","boxShadow","renderNumberElement","Badge","showZero","scrollNumberPrefixCls","overflowCount","dot","status","displayCount","isZero","isDot","isEmpty","statusCls","scrollNumberCls","badgeCls","styleWithOffset","marginTop","marginLeft","scrollNumber","statusText","getBreadcrumbName","route","params","breadcrumbName","paramsKeys","RegExp","replacement","defaultItemRender","routes","paths","isLastItem","Breadcrumb","crumbs","separator","itemRender","path","__ANT_BREADCRUMB_ITEM","array","BreadcrumbItem","Item","Button","clicked","loading","currentLoading","delayTimeout","htmlType","ghost","funcType","ComponentProp","classes","iconNode","ProgressType","kids","disabled","__ANT_BUTTON","oneOf","ButtonGroup","Group","Header","onYearChange","year","validRange","newValue","clone","parseInt","newYear","newMonth","month","onValueChange","onMonthChange","onTypeChange","getCalenderHeaderNode","calenderHeaderNode","yearSelectOffset","yearSelectTotal","fullscreen","suffix","String","current","localeData","months","monthsShort","rangeStart","rangeEnd","currentYear","yearSelect","getYearSelectElement","monthSelect","getMonthSelectElement","getMonthsLocale","typeSwitch","zerofixed","v","Calendar","monthCellRender","dateCellRender","date","setValue","way","onSelect","mode","onPanelChange","setType","stateMode","onHeaderValueChange","onHeaderTypeChange","getDateRange","disabledDate","startDate","endDate","inRange","isBetween","renderCalendar","localeCode","dateFullCellRender","monthFullCellRender","defaultValue","isMoment","enUS","ar_EG","bg_BG","ca_ES","cs_CZ","de_DE","el_GR","es_ES","et_EE","fa_IR","fi_FI","fr_BE","fr_FR","is_IS","it_IT","ja_JP","ko_KR","ku_IQ","nb_NO","nl_BE","nl_NL","pl_PL","pt_BR","pt_PT","ru_RU","sk_SK","sl_SI","sr_RS","sv_SE","th_TH","tr_TR","uk_UA","vi_VN","zh_TW","Grid","Meta","avatar","avatarDom","titleDom","descriptionDom","MetaDetail","Card","widerPadding","onTabChange","updateWiderPadding","resizeEvent","noHovering","WIDTH_BOUDARY_PX","updateWiderPaddingCalled","some","actions","actionList","hoverable","extra","bodyStyle","bordered","cover","tabList","activeTabKey","defaultActiveTabKey","onHeadClick","getCompatibleHoverable","isContainGrid","loadingBlock","hasActiveTabKey","extraProps","head","tabs","tab","coverDom","actionDom","getAction","matchMedia","SlickCarousel","require","Carousel","onWindowResized","debounce","autoplay","slick","innerSlider","autoPlay","leading","saveSlick","slickNext","slickPrev","slide","slickGoTo","effect","fade","vertical","dots","arrows","draggable","highlightKeyword","str","keyword","defaultFilterOption","inputValue","option","label","defaultRenderFilteredOption","defaultSortFilteredOption","a","elem","defaultDisplayRender","Cascader","handleChange","selectedOptions","__IS_FILTERED_OPTION","unwrappedValue","unwrappedSelectedOptions","handlePopupVisibleChange","popupVisible","inputFocused","onPopupVisibleChange","handleInputBlur","handleInputClick","nativeEvent","stopImmediatePropagation","handleKeyDown","handleInputChange","clearSelection","saveInput","input","flattenOptions","flattenTree","changeOnSelect","displayRender","Array","isArray","arrayTreeFilter","o","level","ancestor","render","sort","filtered","customizeInputPrefixCls","inputPrefixCls","arrowCls","pickerCls","inputProps","generateFilteredOptions","cachedOptions","dropdownMenuColumnStyle","isNotFound","resultListMatchInputWidth","matchInputWidth","getLabel","popupPlacement","allowClear","Checkbox","saveCheckbox","rcCheckbox","nextState","nextContext","checkboxGroup","shallowEqual","indeterminate","onMouseEnter","onMouseLeave","checkboxProps","toggleOption","checked","checkboxClass","CheckboxGroup","optionIndex","getOptions","wrapperClassString","labelClassString","Col","Collapse","collapseClassName","Panel","CollapsePanel","openAnimation","showArrow","collapsePanelClassName","defaultRenderEmpty","componentName","globalConfig","maxAge","max","code","add","update","horizontal","normal","categories","jsonDate","dateTime","week","getConfig","suffixCls","getProPrefixCls","mergeProps","configure","config","isObject","set","toJS","getShowDateFromValue","newEnd","isSame","formatValue","pickerValueAdapter","isEmptyArray","arr","fixLocale","RangePicker","clearHoverValue","hoverValue","showDate","handleOpenChange","open","onOpenChange","handleShowDateChange","handleHoverChange","handleRangeMouseLeave","handleCalendarInputSelect","handleRangeClick","onOk","savePicker","picker","renderFooter","ranges","renderExtraFooter","customFooter","operations","range","rangeNode","pickerValue","defaultPickerValue","hidePanel","showTime","popupStyle","disabledTime","showToday","dateRender","onCalendarChange","calendarClassName","pickerChangeHandler","calendarProps","timePicker","changedValue","startPlaceholder","rangePlaceholder","endPlaceholder","calendar","pickerStyle","clearIcon","pickerWrapperInputClass","pickerInputClass","pickerClass","onFocus","onBlur","WeekPicker","weekDateRender","focused","onPickerIconClick","setOpen","createPicker","TheCalendar","_a","handleCalendarChange","MonthCalendar","pickerProps","monthCellContentRender","wrapPicker","RcCalendar","MonthPicker","CalendarLocale","timePickerLocale","TimePickerLocale","backToToday","timeSelect","dateSelect","decadeSelect","yearFormat","dateFormat","dayFormat","dateTimeFormat","monthFormat","monthBeforeYear","previousMonth","nextMonth","previousYear","nextYear","previousDecade","nextDecade","previousCentury","nextCentury","getColumns","showHour","showMinute","showSecond","use12Hours","column","Picker","defaultFormat","handleFocus","handleBlur","getDefaultLocale","renderPicker","border","timeFormat","rcTimePickerProps","generateShowHourMinuteSecond","columns","timePickerCls","autoFocus","Divider","orientation","dashed","orientationPrefix","DropdownButton","overlay","trigger","onVisibleChange","placement","getPopupContainer","dropdownProps","Dropdown","overlayProps","overlayElements","dropdownTrigger","selectable","fixedModeOverlay","getTransitionName","mouseEnterDelay","mouseLeaveDelay","Form","form","PureRenderMixin","shouldComponentUpdate","apply","layout","hideRequiredMark","formClassName","formProps","FormLayout","onSubmit","inline","FormItem","createFormField","create","createDOMForm","fieldNameProp","fieldMetaProp","FIELD_META_PROP","fieldDataProp","FIELD_DATA_PROP","helpShow","onHelpAnimEnd","_key","onLabelClick","propId","getId","controls","querySelectorAll","control","querySelector","getControls","onlyControl","getOnlyControl","help","errors","getField","recursively","childrenArray","getChildProp","getHelpMsg","field","validating","FormItemValidateStatus","fieldValue","getMeta","initialValue","c3","validateStatus","getValidateStatus","hasFeedback","wrapperCol","required","meta","validate","rules","rule","renderWrapper","renderValidateWrapper","renderHelp","renderExtra","itemClassName","colon","renderChildren","renderFormItem","stringOrNumber","objectOrNumber","order","pull","sizeClassObj","sizeProps","xs","sm","md","lg","xl","xxl","defaultGutter","Row","renderRow","gutter","justify","rowStyle","marginRight","cols","col","paddingLeft","paddingRight","IconSelect","handleRender","handlePageChange","pageSize","filterValue","initIcon","handleFilter","rcSelect","total","showAll","minIndex","maxIndex","favorite","currentData","dropdownClassName","selectCls","dropDownCls","selectProps","renderOption","showCheckAll","iconfontPrefix","ENV","process","warn","InputNumber","inputNumberClass","inputNumberRef","step","compact","fixControlledValue","Input","onPressEnter","onKeyDown","readOnly","handleCopy","onCopy","execCommand","handleTogglePassword","showPassword","saveRenderedRef","rendered","savePrefix","prefix","saveSuffix","setRenderedStyle","suffixWidth","prefixWidth","margin","copy","getInputClassName","maxLength","showLengthInfo","inputLength","hasValue","showPasswordEye","getSizeClassName","renderPlaceholder","renderInput","renderFloatLabel","renderCopyIcon","renderShowPassword","getLengthInfo","addonBefore","addonAfter","autosize","onKeyUp","Search","onSearch","enterButton","enterButtonAsElement","buttonOrIcon","getButtonOrIcon","searchSuffix","inputClassName","onNextFrame","requestAnimationFrame","clearNextFrameAction","nextFrameId","cancelAnimationFrame","TextArea","textareaStyles","resizeTextarea","textAreaRef","minRows","maxRows","calculateNodeHeight","handleTextareaChange","handleInput","saveTextAreaRef","textArea","nextFrameActionId","onInput","getWrapperClassName","getTextAreaClassName","HIDDEN_TEXTAREA_STYLE","SIZING_STYLE","computedStyleCache","hiddenTextarea","calculateNodeStyling","useCache","nodeRef","getAttribute","boxSizing","getPropertyValue","paddingSize","borderSize","sizingStyle","nodeInfo","uiTextNode","setAttribute","removeAttribute","minHeight","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","scrollHeight","overflowY","singleRowHeight","Math","min","dimensionMap","generateId","Sider","responsiveHandler","below","collapsed","setCollapsed","onCollapse","toggle","belowShowChange","belowShow","uniqueId","breakpoint","mql","defaultCollapsed","collapsedWidth","siderCollapsed","MediaQueryListEvent","siderHook","addSider","removeSider","collapsible","reverseArrow","siderWidth","zeroWidthTrigger","iconObj","expanded","defaultTrigger","triggerDom","divStyle","flex","maxWidth","minWidth","siderCls","__ANT_LAYOUT_SIDER","Layout","generator","BasicComponent","Basic","divCls","BasicLayout","siders","currentId","hasSider","Footer","Content","content","getGrid","grid","floor","GridColumns","metaContent","otherContent","contentClassString","actionsContent","actionsContentItem","extraContent","mainContent","List","renderItem","rowKey","renderEmpty","contextLocale","emptyText","loadMore","pagination","footer","itemLayout","header","empty","loadingProp","spinning","isLoading","isSomethingAfterLastTtem","paginationContent","childrenContent","childrenList","LocaleReceiver","c7nLocale","localeFromContext","exist","getLocale","getLocaleCode","TimePicker","filterTitle","filterConfirm","filterReset","selectAll","selectInvert","okText","cancelText","justOkText","Popconfirm","searchPlaceholder","itemUnit","itemsUnit","uploading","removeFile","uploadError","previewFile","titles","selectNone","filterPlaceholder","LocaleProvider","componentDidUpdate","nextLocale","changeConfirmLocale","Mention","onSearchChange","defaultSearchChange","ev","mentionEle","_editor","focusEditor","mentionRef","suggestions","searchValue","filteredSuggestions","Nav","notFound","getMentions","multiLines","toContentState","toEditorState","MenuItem","menuItem","saveMenuItem","inlineCollapsed","rootPrefixCls","isMenuItem","SubMenu","subMenu","saveSubMenu","menuTheme","Menu","inlineOpenKeys","openKeys","setOpenKeys","defaultOpenKeys","theme","getInlineCollapsed","switchModeFromInline","menuMode","openTransitionName","menuOpenAnimation","getRealMenuMode","getMenuOpenAnimation","menuClassName","menuProps","ItemGroup","focusable","defaultDuration","defaultTop","defaultBottom","messageInstance","defaultPlacement","getCustomizePrefixCls","getMessageInstance","Notification","newInstance","getPlacementStyle","getPlacementTransitionName","instance","notice","info","removeNotice","destroy","right","defaultTransitionName","ActionButton","actionFn","closeModal","$this","timeoutId","okProps","cancelProps","cancelButton","mousePosition","mousePositionEventBinded","handleCancel","onCancel","handleOk","okType","confirmLoading","disableOk","disableCancel","x","pageX","pageY","defaultFooter","getConfirmLocale","maskTransitionName","center","isFixedWidth","Sidebar","alwaysCanCancel","okCancel","runtimeLocale","cancalBtn","handleStatus","fixedWidth","IS_REACT_16","ReactDOM","createPortal","ConfirmDialog","close","zIndex","keyboard","maskClosable","propOkType","propWidth","propStyle","propOkText","propCancelText","actionButtonProps","triggerCancel","confirm","div","unmountResult","unmountComponentAtNode","parentNode","param","newLocale","notificationInstance","defaultGetContainer","setNotificationConfig","getNotificationInstance","cacheKey","notification","typeToIcon","outerPrefixCls","autoMarginTag","btn","api","LargeSelect","MiniSelect","getSelect","getIcon","page","renderPagination","customizeSelectPrefixCls","selectPrefixCls","showSizeChanger","showSizeChangerLabel","tiny","pageSizeOptions","showTotal","sizeChangerOptionText","onConfirm","setVisible","saveTooltip","tooltip","renderOverlay","popconfirmLocale","getPopupDomNode","Popover","getOverlay","overlayStyle","SIZE","Loading","ProgressStatus","ProgressPosition","Progress","percent","trailColor","successPercent","strokeWidth","showInfo","gapDegree","gapPosition","progressStatus","progressInfo","progress","textFormatter","percentNumber","circleType","circle","dashboard","line","percentStyle","successPercentStyle","successSegment","circleSize","circleStyle","circleWidth","gapPos","gapDeg","getCheckedValue","matched","radio","RadioGroup","onRadioChange","lastValue","checkedValue","radioGroup","radioProps","RadioButton","Rate","saveRate","rcRate","character","goStartMonth","startOf","goEndMonth","endOf","goTime","unit","goMonth","goYear","goWeek","goDay","createReactClass","selectedValue","showDateInput","showWeekNumber","showOk","dateInputPlaceholder","onClear","renderSidebar","mixins","CommonMixin","CalendarMixin","getDefaultProps","getInitialState","componentWillReceiveProps","nodeName","isAllowedDate","onDateInputChange","onDateTableSelect","timePickerDefaultValue","syncTime","onToday","getTodayTime","getRootDOMNode","openTimePicker","closeTimePicker","showTimePicker","disabledTimeConfig","getTimeConfig","timePickerEle","timePickerProps","defaultOpenValue","dateInputElement","getFormat","renderRoot","FullCalendar","defaultType","showTypeSwitch","headerComponents","headerComponent","headerRender","showHeader","onMonthSelect","TheHeader","CalendarHeader","table","dateCellContentRender","stateValue","handlePanelChange","_","refFn","getCalendarContainer","defaultOpen","saveCalendarRef","focusTimeout","focusCalendar","componentWillUnmount","onCalendarKeyDown","onCalendarSelect","cause","onCalendarOk","onCalendarClear","getCalendarElement","createChainedFunction","calendarInstance","getBuiltInPlacements","placement_haslabel","getPlacements","placements","isArraysEqual","getValueFromSelectedValue","normalizeAnchor","init","defaultSelectedValue","normalizedValue","generateOptions","extraOptionGen","onInputSelect","originalValue","compare","fireSelectValueChange","RangeCalendar","arrayOf","showClear","onHoverChange","prevSelectedValue","firstSelectedValue","newState","onDatePanelEnter","hasSelectedValue","fireHoverValueChange","onDatePanelLeave","nextSelectedValue","endValue","startValue","onDayHover","onOpenTimePicker","onCloseTimePicker","isAllowedDateAndTime","onStartInputSelect","oargs","onEndInputSelect","onStartValueChange","leftValue","fireValueChange","onEndValueChange","rightValue","onStartPanelChange","newMode","onEndPanelChange","getStartValue","getEndValue","getEndDisableTime","userSettingDisabledTime","hours","hour","minutes","minute","second","disabledHours","disabledMinutes","disabledSeconds","oldDisabledMinutes","olddisabledSeconds","disabledStartTime","disabledEndTime","isMonthYearPanelShow","v1","v2","diff","direct","disabledStartMonth","isSameOrAfter","disabledEndMonth","isSameOrBefore","classnames","placeholder1","placeholder2","showOkButton","todayTime","thisMonth","thisYear","isTodayInView","nextMonthOfStart","isClosestMonths","saveRoot","CalendarFooter","footerEl","extraFooter","nowEl","okBtn","timePickerBtn","footerBtn","toFragment","cx","showIf","condition","enablePrev","enableNext","disabledMonth","yearPanelReferer","onYearSelect","referer","onDecadeSelect","monthYearElement","selectClassName","showYearPanel","showMonthPanel","day","my","showDecadePanel","panel","OkButton","okDisabled","TimePickerButton","timePickerDisabled","TodayButton","localeNow","disabledToday","isDisabled","disabledTodayClass","getTodayTimeStr","DATE_ROW_COUNT","DATE_COL_COUNT","DateInput","invalid","cachedSelectionStart","dateInputInstance","selectionStart","cachedSelectionEnd","selectionEnd","setSelectionRange","onInputChange","parsed","isValid","saveDateInput","dateInput","invalidClass","isSameDay","one","two","beforeCurrentMonthYear","afterCurrentMonthYear","getIdFromDate","DateTBody","contentRender","iIndex","jIndex","dateTable","cellClass","weekNumberCellClass","dateClass","todayClass","selectedClass","selectedDateClass","selectedStartDateClass","selectedEndDateClass","inRangeClass","lastMonthDayClass","nextMonthDayClass","disabledClass","firstDisableClass","lastDisableClass","lastDayOfMonthClass","month1","lastMonthDiffDay","firstDayOfWeek","lastMonth1","passed","DateConstants","tableHtml","isCurrentWeek","weekNumberCell","isActiveWeek","dateCells","last","selected","isBeforeCurrentMonthYear","isAfterCurrentMonthYear","rangeValue","isAfter","isBefore","dateHtml","getTitleString","DateTHead","veryShortWeekdays","weekDays","showWeekNumberEl","dateColIndex","weekdaysMin","weekdaysShort","weekDaysEls","xindex","DateTable","ROW","COL","chooseDecade","DecadePanel","startYear","preYear","endYear","decades","rowIndex","colIndex","startDecade","endDecade","decadesEls","row","decadeIndex","tds","decadeData","dStartDecade","dEndDecade","isLast","isNext","classNameMap","clickHandler","overflow","getMonthName","overflowX","yearSelectElement","monthSelectElement","switchCls","typeSwitcher","changeTypeToDate","changeTypeToMonth","getNow","getNowByCurrentStateValue","setSelectedValue","enUs","rootInstance","root","setAndChangeValue","MonthPanel","setAndSelectValue","cellRender","onYearPanelShow","chooseMonth","MonthTable","currentMonth","monthsEls","monthData","testValue","cellEl","currentValue","autoAdjustOverflow","adjustX","adjustY","bottomLeft","points","bottomRight","topRight","topLeft","copyPlacements","cloneDeep","CalendarPart","timePickerDisabledTime","shouldShowTimePicker","rangeClassName","outline","defaultDisabledTime","utcOffset","from","to","isTimeValidByConfig","invalidTime","seconds","isTimeValid","chooseYear","YearPanel","years","yeasEls","yearData","onDecadePanelShow","BUILT_IN_PLACEMENTS","activeValue","setProps","setPopupVisible","targetOption","menuIndex","triggerNode","getRootDomNode","loadData","expandTrigger","activeOptions","getActiveOptions","isLeaf","currentLevel","currentOptions","getCurrentLevelOptions","currentIndex","nextIndex","handleMenuSelect","isEqual","newValues","popupClassName","builtinPlacements","menus","emptyMenuClassName","saveTrigger","tabIndex","Menus","menuItems","scrollActiveItemToView","expandProps","menuItemCls","hasChildren","delayOnSelect","isActiveOption","values","activeOption","unshift","delayTimer","optionsLength","getShowOptions","itemComponent","getOption","defaultChecked","globalProps","substr","activeKey","currentActiveKey","defaultActiveKey","openAnimationFactory","accordion","isActive","setActiveKey","destroyInactivePanel","headerClass","onItemClick","onClickItem","getItems","forceRender","headerCls","itemCls","iconCls","handleItemClick","PanelContent","isInactive","_isActived","contentCls","uuid","openCount","w","setTransformOrigin","transformOrigin","pos","doc","parentWindow","Dialog","dialogNode","dialog","docWidth","docHeight","onEventListener","onAnimateLeave","wrap","display","inTransition","removeScrollingEffect","onAnimateEnd","onMaskClick","openTime","activeElement","dialogRoot","shiftKey","sentinel","getDialogElement","dest","titleId","closer","dialogElement","bodyProps","destroyOnClose","getZIndexStyle","getWrapStyle","wrapStyle","getMaskStyle","maskStyle","getMaskElement","maskElement","mask","maskTransition","getMaskTransitionName","maskProps","maskAnimation","setScrollbar","bodyIsOverflowing","addScrollingEffect","checkScrollbar","resetScrollbar","fullWindowWidth","innerWidth","documentElementRect","abs","getScrollBarSize","adjustDialog","modalIsOverflowing","resetAdjustments","padding","lastOutSideFocusNode","elOffset","wrapClassName","wrapProps","DialogWrap","saveDialog","_component","getComponent","renderComponent","removeContainer","portal","LazyRenderBox","hiddenClassName","onOverlayClick","minOverlayWidthMatchTrigger","overlayNode","rootNode","alignInstance","defaultVisible","extraOverlayProps","showAction","hideAction","overlayClassName","afterVisibleChange","getMenuElement","topCenter","bottomCenter","editorState","selection","getSelection","_decorator","getDecorator","getCurrentContent","exportContent","Reset","mention","createMention","getPrefix","tag","mentionStyle","Suggestions","plugins","EditorState","createWithContent","CompositeDecorator","decorators","SelectionState","createEmpty","controlledMode","acceptSelection","suggestionStyle","getSuggestionContainer","editorClass","editorProps","defaultValueState","ContentState","createFromText","wrapper","_wrapper","editor","onEditorChange","noRedup","getUnderLine","MentionContent","backgroundColor","SuggestionPortal","suggestionRegex","decoratedText","updatePortalPosition","setEditorState","getEditorState","matchDecorates","offsetKey","mentionStore","inActiveSuggestion","updateSuggestion","searchPortal","SuggestionWrapper","renderOrReady","renderReady","unstable_renderSubtreeIntoContainer","isNotFalse","store","closeDropDown","getHasFocus","getSearchWord","word","selectionInsideMention","decode","blockKey","decoratorKey","leafKey","anchorKey","leaf","getBlockTree","getIn","startKey","endKey","anchorOffset","selectionInText","activeOffsetKey","getTrigger","substring","lastSearchValue","lastTrigger","openDropDown","newIndex","focusedIndex","popupContainer","mountNode","command","selectedSuggestion","onMentionSelect","dropdownContainer","dropDownPosition","dropDownStyle","getPositionStyle","isTopCrowded","scrollY","isBottomCrowded","focusItem","scrollIntoView","onlyScrollIfNeeded","mentionClass","onMouseDown","onEditorStateChange","mentions","clearMention","insertMention","getSuggestionStyle","onUpArrow","handleReturn","handleKeyBinding","onDownArrow","navigations","getNavigations","Map","currentOffset","activeSuggestion","searchWord","begin","replacedContent","Modifier","replaceText","merge","focusOffset","InsertSpaceContent","insertText","getSelectionAfter","newEditorState","forceSelection","findWithRegex","regex","contentBlock","getText","matchArr","mentionContentStrategy","contentState","findEntityRanges","entityKey","getEntity","getType","MentionContentComponent","getData","getRegExp","strategy","encodeContent","MentionGenerator","contentRaw","convertToRaw","processContent","blocks","encode","block","generate","entities","getBlockMap","blockText","trim","elementContainer","parentElement","prefixArray","prefixToken","getWord","search","getAnchorKey","getAnchorOffset","currentContent","currentBlock","getBlockForKey","entityMode","createEntity","getLastCreatedEntityKey","DEFAULT_TRIGGER","createBaseForm","validateMessages","onFieldsChange","onValuesChange","mapProps","identity","mapPropsToFields","formPropName","withRef","decorate","WrappedComponent","fields","fieldsStore","createFieldsStore","instances","cachedBind","clearedFieldMetaCache","submitting","updateFields","onCollectCommon","fieldMeta","getFieldMeta","originalProps","getValueFromEvent","getFieldValue","valuesAll","getAllValues","valuesAllSet","touched","onCollect","name_","newField","dirty","hasRules","setFields","onCollectValidate","validateFieldsInternal","firstFields","validateFirst","getCacheBind","cache","recoverClearedField","setFieldMeta","getFieldDecorator","fieldOption","getFieldProps","fieldElem","valuePropName","defaultValuePropName","toUpperCase","getFieldValuePropValue","usersFieldOption","isValidNestedFieldName","validateTrigger","validateRules","normalizeValidateRules","validateTriggers","getValidateTriggers","getFieldInstance","getRules","actionRules","flattenArray","maybeNestedFields","flattenRegisteredFields","changedFields","acc","getNestedAllFields","forceUpdate","resetFields","ns","newFields","names","setFieldsValue","changedValues","fieldsMeta","isRegistered","allValues","clearField","fieldNames","allRules","allFields","alreadyErrors","force","f","isEmptyObject","getFieldsValue","isModifiedFields","validator","AsyncValidator","messages","errorsGroup","fieldName","has","fieldErrors","expired","nowAllFields","nowField","validateFields","opt","getParams","getValidFieldsFullName","getValidFieldsName","isSubmitting","submit","wrappedComponentRef","getForm","argumentContainer","computedStyle","currentStyle","letter","getScrollableContainer","n","mixin","formMixin","validateFieldsAndScroll","newCb","modify","validNames","firstNode","firstTop","scroll","partOf","FieldsStore","initialValues","flattenedInitialValues","getValueFromFields","getNestedFields","getNestedField","fullName","getFieldError","getErrorStrs","getFieldMember","isFieldValidating","isFieldTouched","isModifiedField","flattenFields","isFormField","validFieldsName","getAllFieldsName","nowFields","nowValues","normalize","nowValue","maybePartialName","maybePartialNames","partialName","startsWith","getValueProps","getNotCollectedFields","member","getter","fullNames","isArrayValue","suffixNameStartIndex","setFieldsInitialValue","getFieldsError","isFieldsValidating","isFieldsTouched","createForm","Field","getDisplayName","Container","hoistStatics","treeTraverse","tree","isLeafNode","errorMessage","subTree","subTreeKey","newItem","pre","lastIndexOf","InputHandler","onTouchStart","onTouchEnd","onMouseUp","defaultParser","SPEED","DELAY","pow","ratio","getRatio","up","down","inputting","parser","toNumberWhenUserInput","getCurrentValidValue","persist","autoStepTimer","recursive","pressingUpOrDown","useTouch","upDisabledClass","downDisabledClass","val","editable","upEvents","downEvents","isUpDisabled","isDownDisabled","upHandler","downHandler","toNumber","toPrecisionAsStep","getValidValue","focusOnUpDown","selectionRange","isNotCompleteNumber","changed","precision","valueString","ratioPrecision","getPrecision","stepPrecision","currentValuePrecision","getMaxPrecision","isNegativeZero","formatter","toFixed","test","rat","precisionFactor","getPrecisionFactor","Infinity","outOfRange","inputDisplayValue","inputDisplayValueFormat","formatWrapper","onMouseOver","onMouseOut","pattern","renderSuffix","canUseDOM","MENUITEM_OVERFLOWED_CLASSNAME","DOMWrap","lastVisibleIndex","ul","keyPrefix","overflowedItems","overflowedIndicator","throwAway","eventKey","visibility","menuAllProps","k","ulChildrenNodes","lastOverflowedIndicatorPlaceholder","setStyle","menuItemNodes","getMenuItemNodes","menuItemSizes","getWidth","overflowedIndicatorWidth","originalTotalWidth","cur","handleResize","currentSumWidth","liWidth","setChildrenWidthAndResize","menuUl","resizeObserver","ResizeObserver","entries","observe","MutationObserver","mutationObserver","disconnect","attributes","childList","childNode","overflowed","getOverflowedSubMenuItem","Tag","selectInfo","selectedKeys","getState","selectedKey","multiple","innerMenu","getWrappedInstance","processSingle","oneChanged","onDeselect","defaultSelectedKeys","getActiveKey","updateMiniStore","lastOpen","getFlatInstanceArray","subIndex","subMenuKey","triggerSubMenuAction","renderCommonMenuItem","parentMenu","setInnerMenu","onDestroy","subMenuOpenDelay","subMenuCloseDelay","forceSubMenuRender","defaultActiveFirst","inlineIndent","onItemHover","componentDidMount","manualRef","hover","domEvent","isSelected","keyPath","getActiveClassName","getSelectedClassName","getDisabledClassName","attrs","attribute","role","mouseEvent","checkbox","connect","MenuItemGroup","renderMenuItem","listClassName","renderInnerMenuItem","isMenuItemGroup","guid","popupPlacementMap","updateDefaultActiveFirst","menuId","getMenuIdFromSubMenuEventKey","menu","menuInstance","isOpen","onTitleClick","triggerOpenChange","handled","subMenuInstance","onTitleMouseEnter","onTitleMouseLeave","addKeyPath","openChange","mouseenterTimeout","loopMenuItemRecursively","subMenuTitle","popupMenu","isRootMenu","minWidthTimeout","adjustWidth","baseProps","onSubMenuClick","_menuId","saveMenuInstance","itemIcon","expandIcon","haveRendered","haveOpened","animProps","isInlineMode","getOpenClassName","isChildrenSelected","mouseEvents","titleClickEvents","titleMouseEvents","ariaOwns","saveSubMenuTitle","popupAlign","popupOffset","connected","isSubMenu","allDisabled","updateActiveKey","getEventKey","originalActiveKey","found","loopMenuItem","getKeyFromChildrenIndex","instanceArray","SubPopupMenu","activeItem","len","activeIndex","ci","childProps","newChildProps","getOpenTransitionName","domProps","leftTop","rightTop","menuEventKey","construct","styleProperty","Notice","clearCloseTimer","closeTimer","startCloseTimer","componentClass","seed","getUuid","notices","previousState","noticeNodes","newNotificationInstance","properties","called","noticeProps","NUMPAD_ZERO","NUMPAD_NINE","ARROW_UP","ARROW_DOWN","Options","items_per_page","changeSize","goInputText","KEYCODE","quickGo","goButton","buildOptionText","selectComponentClass","changeSelect","goInput","gotoButton","go","jump_to_confirm","jump_to","changeSizeLabel","label_items_per_page","Pager","handleKeyPress","onKeyPress","showTitle","isInteger","isFinite","paginationNode","p","currentInputValue","newCurrent","calculatePage","onShowSizeChange","getJumpPrevPage","getJumpNextPage","charCode","restParams","runIfEnter","first","jumpPrev","jumpNext","hasOnChange","hasCurrent","defaultCurrent","defaultPageSize","lastCurrentNode","showLessItems","hideOnSinglePage","allPages","pagerList","firstPager","lastPager","showQuickJumper","pageBufferSize","prevPage","nextPage","simple","handleGoTO","prev_page","runIfEnterPrev","handleKeyUp","next_page","runIfEnterNext","prevItemTitle","prev_3","prev_5","nextItemTitle","next_3","next_5","showPrevNextJumpers","runIfEnterJumpPrev","runIfEnterJumpNext","totalText","fistDisabled","lastDisabled","first_page","runIfEnterFirst","last_page","runIfEnterLast","prevDisabled","nextDisabled","sizeChanger","changePageSize","savePaginationNode","LOCALE","Circle","radius","beginPositionX","beginPositionY","endPositionX","endPositionY","pathString","PI","trailPathStyle","strokeDasharray","strokeDashoffset","strokePathStyle","trailWidth","strokeColor","strokeLinecap","getPathStyles","enhancer","Line","pathStyle","viewBoxString","transitionDuration","prevTimeStamp","getStarValue","cleanedValue","isReset","changeValue","allowHalf","stars","rate","starEle","getStarDOM","leftDis","getOffsetLeft","onHover","Star","starValue","getClassName","pageYOffset","getClientPosition","box","DropdownMenu","firstActiveItem","scrollIntoViewOpts","firstActiveValue","alignWithTop","menuRef","checkAll","lastInputValue","lastVisible","defaultActiveFirstOption","onMenuSelect","backfillValue","onMenuDeselect","getSelectKeys","activeKeyProps","clonedMenuItems","foundFirst","dropdownMenuStyle","onFilterChange","preventDefaultEvent","renderMenu","filterInput","renderFilterInput","selectOpt","renderCheckLabel","onPopupScroll","onPopupFocus","getFooter","onMenuDeSelect","FilterInput","filterInputRef","clearInputValue","valueType","propName","basicType","labelInValueShape","labelInValue","tags","SelectPropTypes","blurChange","optionFilterProp","onInputKeyDown","onChoiceItemClick","dropdownStyle","maxTagTextLength","maxTagCount","maxTagPlaceholder","tokenSeparators","choiceRender","choiceRemove","onChoiceRemove","chaining","fns","BUILT_IN_PLACEMENTS_LABEL","optionsInfo","getOptionsInfoFromProps","getValueFromProps","getLabelBySingleValue","onInputValueChange","isMultipleOrTags","includesSeparators","nextValue","getValueByInput","fireChange","setOpenState","setInputValue","isCombobox","needExpand","_focused","clearBlurTime","timeoutFocus","updateFocusClassName","selectTriggerRef","getFilterInput","getInputDOMNode","removeSelected","openIfHasChildren","getInnerMenu","handleBackfill","getValuePropValue","fireSelect","findIndexInValueBySingleValue","skipAdjustOpen","clearAdjustTimer","skipAdjustOpenTimer","getPropValue","autoClearSearchValue","onDropdownVisibleChange","isMultipleOrTagsOrCombobox","_mouseDown","maybeFocus","blurTimer","isSingleMode","_options","firstOption","findFirstMenuItem","getVLForOnChange","triggerRef","forcePopupAlign","isMultiple","getOptionsFromChildren","oldOptionsInfo","singleValue","getMapKey","getLabelFromOption","defaultLabel","getLabelFromPropsValue","defaultInfo","getOptionInfoBySingleValue","getOptionBySingleValue","vls_","vls","vl","inputElement","inputCls","topCtrlRef","inputRef","inputMirrorRef","getPopupDOMNode","needFocus","fireSearch","hasNewValue","splitBySeparators","getValueByLabel","_open","selectionRef","backfill","defaultFilter","defaultFilterFn","filterFn","focusTimer","clearFocusTime","rootRef","isChildDisabled","isDefaultPrevented","getVLBySingleValue","canMultiple","getOptionsBySingleValue","childrenToArray","childValue","hiddenForNoOptions","renderFilterOptions","showNotFindInputItem","showNotFindSelectedItem","childrenKeys","renderFilterOptionsFromChildren","UNSELECTABLE_STYLE","UNSELECTABLE_ATTRIBUTE","notFindInputItem","sel","innerItems","validateOptionValue","isTags","innerNode","showSelectedValue","selectedValueNodes","limitedCountValue","maxTagPlaceholderEl","omittedValues","choiceClassName","li","handleChoiceItemClick","isChoiceRemove","foundValue","getPlaceholderElement","renderClear","onArrowClick","Set","adjustOpenState","inputNode","mirrorNode","getInputMirrorDOMNode","onChoiceAnimationLeave","onClearSelection","ctrlNode","renderTopControlNode","extraSelectionProps","rootCls","dropdownAlign","dropdownMatchSelectWidth","onDropdownMouseDown","getBuiltinPlacements","onOuterBlur","onOuterFocus","Trigger","SelectTrigger","dropdownWidth","dropdownMenuRef","filterRef","getDropdownPrefixCls","setDropdownWidth","dropdownPrefixCls","popupElement","getDropdownElement","widthProp","getDropdownTransitionName","itemValue","itemKey","userSelect","WebkitUserSelect","unselectable","separators","reg","token","Handle","clickFocused","handle","setClickFocus","onMouseUpListener","handleMouseUp","postionStyle","elStyle","ariaProps","Range","removeDocumentEvents","onAfterChange","getValue","trimAlignValue","recent","nextBounds","utils","isNotControlled","onBeforeChange","calcValueByPos","startPosition","closestBound","getClosestBound","prevMovedHandleIndex","getBoundNeedMoving","prevValue","oldValue","moveTo","valueMutator","mutatedValue","isFromKeyboardEvent","boundNeedMoving","isAtTheSamePoint","marks","_getPointsCache","pointsObject","point","nextHandle","pushable","pushSurroundingHandles","allowCross","handlesRefs","threshold","diffToNext","pushHandle","amount","pushHandleOnePoint","getPoints","pointIndex","nextPointIndex","mergedProps","valInRange","valNotConflict","ensureValueNotConflict","thershold","included","handleGenerator","trackStyle","handleStyle","offsets","calcOffset","handleClassName","handles","dragging","h","saveHandle","tracks","trackClassName","createSlider","Slider","minimumTrackStyle","_trackStyle","track","Marks","upperBound","lowerBound","onClickLabel","marksKeys","marksCount","markWidth","elements","markPoint","markPointIsObject","markLabel","markClassName","bottomStyle","marginBottom","leftStyle","markStyle","calcPoints","Steps","dotStyle","activeDotStyle","isActived","pointClassName","Track","positonStyle","button","isVertical","dragOffset","handlePosition","onStart","addDocumentMouseEvents","addDocumentTouchEvents","clickFocus","sliderRef","onMove","onKeyboard","slider","onTouchMoveListener","onTouchMove","onTouchUpListener","onMouseMoveListener","onMouseMove","coords","getSliderLength","pixelOffset","getSliderStart","calcValue","maximumTrackStyle","railStyle","sliderClassName","saveSlider","getLowerBound","getUpperBound","onClickMarkLabel","createSliderWithTooltip","visibles","tipFormatter","tipProps","restTooltipProps","handleStyleWithIndex","handleTooltipVisibleChange","handleWithTooltip","isEventFromHandle","isValueOutOfRange","isNotTouchEvent","touches","getClosestPoint","closestStep","round","diffs","stepString","getMousePosition","clientY","getTouchPosition","getHandleCenterPosition","ensureValueInRange","ensureValuePrecision","closestPoint","pauseEvent","getKeyboardValueMutator","Step","progressDot","stepNumber","iconPrefix","iconClassName","iconDot","itemWidth","adjustMarginRight","tailContent","stepItemStyle","renderIconNode","domNode","calcTimeout","lastStepOffsetWidth","lastChild","flexSupported","calcStepOffsetWidth","labelPlacement","filteredChildren","lastIndex","adjustedlabelPlacement","Switch","setChecked","checkedChildren","unCheckedChildren","switchTabIndex","switchClassName","saveNode","module","exports","BaseTable","isHover","currentHoverKey","renderData","indent","ancestorKeys","columnManager","components","childrenColumnName","rowClassName","rowRef","onRowClick","onRowDoubleClick","onRowContextMenu","onRowMouseEnter","onRowMouseLeave","onRow","getRowKey","expander","isAnyColumnsFixed","rows","record","onHoverProps","handleRowHover","leafColumns","leftLeafColumns","rightLeafColumns","rowPrefixCls","needIndentSpaced","handleExpandChange","expandableRow","renderRows","getBodyWrapper","tableClassName","hasHead","hasBody","hasFoot","tableStyle","tableLayout","BodyWrapper","BodyTable","handleBodyScroll","useFixedHeader","innerBodyStyle","paddingBottom","hasFooter","baseTable","refName","ColGroup","expandIconAsCell","dataIndex","Column","colSpan","onCellClick","onCell","onHeaderCell","ColumnGroup","ColumnManager","_cache","groupedColumns","_leafColumns","leftColumns","rightColumns","_groupColumns","currentRow","parentColumn","grouped","setRowSpan","rowSpan","newColumn","isTableColumnGroup","_cached","ExpandIcon","expandable","onExpand","expandClassName","ExpandableRow","columnIndex","expandRowByClick","expandIconColumnIndex","onExpandedChange","cells","renderExpandIcon","handleDestroy","expandedRowRender","indentSize","childrenData","expandableRowProps","handleRowClick","hasExpandIcon","renderExpandIconCell","expandedRowKeys","ExpandableTable","onExpandedRowsChange","expandedRowIndex","iconColumn","parentKey","expandedRowClassName","nextAncestorKeys","nextIndent","renderExpandedRow","defaultExpandAllRows","defaultExpandedRowKeys","finnalExpandedRowKeys","expandedRowsHeight","colCount","cell","renderExpandIndentCell","FootTable","handleBodyScrollLeft","footStyle","HeadTable","headStyle","syncFixedTableRowHeight","setScrollPositionClassName","tableRect","tableNode","headRows","headTable","bodyTable","footRows","footTable","bodyRows","fixedColumnsHeadRowsHeight","fixedColumnsFootRowsHeight","fixedColumnsBodyRowsHeight","lastScrollLeft","fixedColumnsBodyLeft","fixedColumnsBodyRight","lastScrollTop","handleBodyScrollTop","setScrollPosition","debouncedWindowResize","handleWindowResize","reset","hasScrollX","resetScrollX","scrollPosition","scrollToLeft","scrollToRight","scrollable","renderTable","renderEmptyText","emptyClassName","hasLeftFixed","isAnyColumnsLeftFixed","hasRightFixed","isAnyColumnsRightFixed","renderTitle","renderMainTable","renderLeftFixedTable","renderRightFixedTable","onHeaderRow","TableCell","BodyCell","tdProps","isInvalidRenderCellText","indentText","textAlign","appendExpandIconColumn","expandIconCol","TableFooter","FooterWrapper","FOOTER_ROW_KEY","getColumnFooter","TableFooterRow","hovered","FooterRow","FooterCell","handleMouseEnter","handleMouseLeave","getRowHeight","getHeaderRows","TableHeader","HeaderWrapper","TableHeaderRow","HeaderRow","HeaderCell","rowProps","customStyle","cellProps","customProps","headerHeight","TableRow","shouldRender","saveRowRef","expandedRow","setExpanedRowHeight","setRowHeight","BodyRow","onContextMenu","isDev","styles","wrapNode","nav","containerOffset","inkBarNode","inkBar","activeTab","inkBarNodeStyle","tabBarPosition","tabNode","tabOffset","transformSupported","isTransformSupported","setTransform","inkBarAnimated","getInkBarNode","ScrollableInkTabBar","RefMixin","TabBarMixin","InkTabBarMixin","ScrollableTabBarMixin","getTabs","scrollbarNode","getScrollBarNode","getRootNode","scrollAnimated","onPrevClick","onNextClick","debouncedResize","setNextPrev","scrollToActiveTab","setOffset","nextPrev","isNextPrevShown","navNode","navNodeWH","getScrollWH","containerWH","getOffsetWH","navWrapNodeWH","navWrap","minOffset","realOffset","setNext","setPrev","getOffsetLT","checkNextPrev","navOffset","navStyle","prevTransitionEnd","propertyName","needToSroll","lastNextPrevShown","activeTabWH","wrapOffset","activeTabOffset","navWrapNode","showNextPrev","prevButton","nextButton","navClassName","navClasses","onTabClick","panels","tabBarGutter","rst","generateKey","contents","topOrBottom","tabBarExtraContentStyle","extraContentStyle","getDataAttr","TabContent","animated","animatedWithMargin","getTabPanes","destroyInactiveTabPane","getActiveIndex","animatedStyle","getMarginStyle","getTransformPropValue","getTransformByIndex","TabPane","isRender","getDefaultActiveKey","activeKeyIsValid","Tabs","tabBar","eventKeyCode","nextKey","getNextActiveKey","previousKey","renderTabContent","renderTabBar","onNavKeyDown","isNil","webkitTransform","mozTransform","setTransition","webkitTransition","MozTransition","MozTransform","translate","marginDirection","getStyle","property","setPxStyle","formatOption","disabledOptions","Combobox","isAM","ampm","onCurrentSelectPanelChange","hourOptions","hourOptionsAdj","hourAdj","onItemChange","onEnterSelectPanel","minuteOptions","secondOptions","AMPMOptions","match","getHourSelect","getMinuteSelect","getSecondSelect","getAMPMSelect","allowEmpty","getProtoValue","disabledHourOptions","disabledMinuteOptions","disabledSecondOptions","onEsc","focusOnOpen","refs","clearText","inputReadOnly","getInput","getClearButton","currentSelectPanel","hideDisabledOptions","addon","hourStep","minuteStep","secondStep","requestAnimationFrameTimeout","difference","perTick","list","scrollToSelected","selectedIndex","onclick","ReactDom","topOption","saveList","saveInputRef","savePanelRef","fmtString","onPanelClear","selectColumnCount","onOpen","autoComplete","getPopupClassName","getPanelElement","Tooltip","arrowContent","destroyTooltipOnHide","getTooltipContainer","getPopupElement","rightBottom","leftBottom","nonEmptyStringType","propsName","treeCheckable","treeCheckStrictly","filterTreeNode","dropdownPopupAlign","showCheckedStrategy","SHOW_ALL","SHOW_PARENT","SHOW_CHILD","treeIcon","treeLine","treeDefaultExpandAll","treeNodeLabelProp","treeNodeFilterProp","treeData","treeDataSimpleMode","labelCompatible","loopTreeData","popValue","pop","isLabelInValue","selectedLabel","getLabelFromNode","checkableSelect","checkEvt","clearSearchInput","getCheckedNodes","extraInfo","triggerValue","allCheckedNodes","checkedNodes","flatToHierarchy","checkedNodesPositions","_checkedNodes","_tree","popupEle","_treeNodesStates","checkKeys","_cacheTreeNodesStates","renderedTreeData","renderTreeData","addLabelToValue","inputMirrorInstance","_savedValue","getTreeNodesStates","clearDelayTimer","loopAllChildren","onPlaceholderClick","getSearchPlaceholderElement","inputInstance","getPopupEleRefs","_props","_strict","halfCheckedValues","halfChecked","checkedTreeNodes","_cachetreeData","mapLabVal","itemObj","checkedValues","posArr","filterParentPosition","unCheckPos","newVals","newCkTns","isPositionPrefix","nv","documentClickClose","value_","getLabelFromProps","selectedVal","getDeselectedValue","vals","sv","ex","preValue","labs","filterAllCheckedData","_vls","ii","includeVal","ind","validProps","simpleFormat","pId","rootPId","processSimpleTreeData","_expandedKeys","fireOnExpand","expandedKeys","treeNode","filterVal","treeNodes","filterPoss","processedPoss","res","filterNodesPositions","hierarchyNodes","halfCheckedKeys","newTreeNodes","trProps","showLine","defaultExpandAll","defaultExpandedKeys","treeDefaultExpandedKeys","highlightTreeNode","checkable","onCheck","checkStrictly","checkedKeys","autoExpandParent","processTreeNode","renderTree","TreeNode","TreeSelect","newProp","isInclude","smallArray","bigArray","smallPos","bigPos","charAt","getChildrenlength","getSiblingPosition","siblingPosition","childs","parent","loop","_parent","levelObj","posLen","levelArr","haveParent","j","_i","nArr","stripTail","st","splitPosition","handleCheckState","checkedPositionArr","checkIt","objKeys","iArr","saved","_pos","_posArr","__pos","_posLen","sibling","siblingChecked","parentPosition","pIndex","getCheck","treeNodesStates","checkedPositions","keyOrPos","recursiveCloneChildren","ch","recursiveGen","subChildren","vs","checkChildren","__checked","checkParent","__halfChecked","unflatten2","saveRefs","rcTree","renderTreeNode","isKeyChecked","onNodeExpand","onNodeSelect","onNodeMouseEnter","onNodeMouseLeave","onNodeContextMenu","onNodeDragStart","onNodeDragEnter","onNodeDragOver","onNodeDragLeave","onNodeDragEnd","onNodeDrop","onBatchNodeCheck","onCheckConductFinished","Tree","onDragStart","dragNode","dragNodesKeys","getDragNodesKeys","arrDel","onDragEnter","dropPosition","calcDropPosition","dragOverNodeKey","delayedDragEnterLogic","newExpandedKeys","arrAdd","onDragOver","onDragLeave","onDragEnd","onDrop","dropNodeKey","posToArr","dropResult","dropToGap","targetSelected","selectedNodes","traverseTreeNodes","setUncontrolledState","eventObj","startNode","checkedBatch","checkedKeySet","halfCheckedKeySet","newCheckedKeys","newHalfCheckedKeys","selectedObj","getStrictlyValue","targetExpanded","onRightClick","needSync","myPrevProps","checkSync","calcCheckedKeys","calcExpandedKeys","calcSelectedKeys","getPosition","dragOver","dragOverGapTop","dragOverGapBottom","defaultExpandParent","defaultCheckedKeys","getFullKeyList","getSyncProps","switcherIcon","ICON_OPEN","ICON_CLOSE","LOAD_STATUS_NONE","LOAD_STATUS_LOADING","LOAD_STATUS_LOADED","LOAD_STATUS_FAILED","defaultTitle","onlyTreeNodeWarned","nodeContextTypes","rcTreeNode","onUpCheckConduct","nodeChecked","nodeHalfChecked","nodePos","isCheckDisabled","getNodeChildren","checkedCount","childPos","enabledChildrenCount","nextChecked","nextHalfChecked","isSelectable","disableCheckbox","targetChecked","onDownCheckConduct","dragNodeHighlight","dataTransfer","setData","callbackPromise","loadStatus","selectHandle","treeDisabled","switcherIconFromProps","switcherIconFromCtx","switcherCls","$custom","getNodeState","wrapClass","$icon","renderIcon","$title","setSelectHandle","onSelectorClick","renderFirst","nodeList","$children","syncLoadData","originList","targetList","treeSelectable","renderSwitcher","renderCheckbox","renderSelector","win","isTreeNode","subTreeData","processNode","parentPos","subNodes","subNode","subPos","keyList","isParent","directly","parentPath","childPath","getNodesStatistic","statistic","keyNodes","posNodes","gapHeight","needExpandKeys","needExpandPathList","calcExpandedKeyList","calcCheckStateConduct","tgtCheckedKeys","tgtHalfCheckedKeys","conductUp","allSubChecked","sub","conductDown","conduct","keyProps","Popup","popupDomNode","currentAlignClassName","getClassNameFromAlign","stretch","stretchChecked","targetHeight","targetWidth","$ele","savePopupRef","saveAlignRef","setStretchSize","popupInstance","destroyPopupOnHide","newStyle","popupInnerProps","PopupInner","returnEmptyString","returnDocument","ALL_HANDLERS","fireEvents","delaySetPopupVisible","relatedTarget","contains","isFocusToShow","focusTime","focusDelay","preClickTime","preTouchTime","isBlurToHide","blurDelay","isContextMenuToShow","preTime","nextVisible","isClickToHide","isClickToShow","popupNode","getPopupClassNameFromAlign","onPopupAlign","popupAnimation","popupTransitionName","popup","getPopupAlign","mouseProps","isMouseEnterToShow","onPopupMouseEnter","isMouseLeaveToHide","onPopupMouseLeave","getPopupClassFromAlign","savePopup","getDocument","prevPopupVisible","afterPopupVisibleChange","defaultPopupVisible","triggerAfterPopupVisibleChange","currentDocument","clickOutsideHandler","onDocumentClick","touchOutsideHandler","contextMenuOutsideHandler1","onContextMenuClose","contextMenuOutsideHandler2","clearOutsideHandler","getAlignFromPlacement","delayS","childPros","childCallback","createTwoChains","handlePortalUpdate","isPointsEq","a1","a2","placementStr","baseAlign","AjaxUploader","uid","getUid","files","uploadFiles","fileInput","click","file","attrAccept","accept","_isMounted","abort","postFiles","upload","fileList","beforeUpload","post","before","processedFile","processedFileType","log","onProgress","request","customRequest","defaultRequest","reqs","filename","headers","withCredentials","onSuccess","xhr","err","onFileDrop","saveFileInput","IFRAME_STYLE","IframeUploader","response","getIframeDocument","script","getElementsByTagName","innerHTML","endUpload","getFormInputNode","startUpload","iframe","updateIframeWH","initIframe","getIframeNode","contentDocument","domain","domainScript","domainInput","iframeNode","contentWindow","initIframeSrc","write","getIframeHTML","onchange","formNode","getFormNode","dataSpan","getFormDataNode","inputs","createDocumentFragment","iframeStyle","saveIframe","onLoad","uploader","supportServerRender","onReady","File","AjaxUpload","IframeUpload","ComponentUploader","saveUploader","multipart","endsWith","acceptedFiles","acceptedFilesArray","fileName","mimeType","baseMimeType","validType","getError","msg","url","getBody","responseText","JSON","parse","XMLHttpRequest","onprogress","loaded","formData","FormData","append","onerror","onload","setRequestHeader","send","mirror","mapSelf","ContainerRender","ready","autoMount","autoDestroy","Portal","createContainer","didUpdate","_container","shallowCompare","ReactComponentWithPureRenderMixin","chainedFunction","cached","fresh","inner","outer","outerStyle","pointerEvents","widthContained","widthScroll","enquire","responsiveMap","Breakpoint","responsiveArray","Responsive","breakpoints","register","getValues","unregister","unmatch","isArrayLike","processValue","PureComponent","wrapEvent","originalEvent","MouseDown","clientX","hide","rippleChild","RippleChild","handleMouseDown","sqrt","currentCircleStyle","ripple","Ripple","renderSelect","modeConfig","getNotFoundContent","toggleTooltipVisible","customizeTooltipPrefixCls","tooltipPrefixCls","rcSlider","Spin","notCssAnimationSupported","debounceTimeout","currentSpinning","indicator","dotClassName","getIndicatorWidth","tip","spinClassName","spinElement","renderIndicator","animateClassName","containerClassName","saveSwitch","rcSwitch","ColumnFilter","getVisibleColumns","onColumnFilterChange","notDisplay","disableClick","getColumnKey","__ANT_TABLE_COLUMN_GROUP","FilterBar","onFilterSelectChange","onFilterSelectClear","onFilter","filters","columnFilters","PAIR_SPLIT","VALUE_SPLIT","OPTION_OR","VALUE_OR","pairValue","barPair","removeDoubleOr","FilterSelect","columnRefs","handleDropdownMouseDown","saveColumnRef","handleInputKeyDown","selectColumn","columFilters","filterText","getColumnTitle","fireColumnFilterChange","pair","columnKey","shift","findColumn","filterMultiple","handleSelect","handleMultiCheckConfirm","handleClear","change","columnFilter","toValueString","getColumnsWidthFilters","renderColumnsTitle","changedColumnKeys","changedColumnFilters","columnFiltersValues","getColumnFiltersValues","deleted","filterIndex","constructor","filteredValue","filterByInputValue","_checked","getInputFilterOptions","opts","myKey","textContent","SelectionBox","getCheckState","subscribe","unsubscribe","defaultSelection","selectionDirty","selectedRowKeys","SelectionCheckboxAll","handleSelectAllChagne","defaultSelections","hideDefaultSelections","getIndeterminateState","setCheckState","byDefaultChecked","getCheckboxPropsByItem","getRecordKey","checkSelection","selections","selectionPrefixCls","customSelections","newSelections","renderMenus","findBodyDom","childElementCount","childFound","defaultPagination","emptyObject","refTable","rowSelection","getCheckboxProps","CheckboxPropsCache","custom","handleFilterSelectClear","setNewFilterState","barFilters","handleFilterSelectChange","handleColumnFilterChange","nextFilters","stateFilters","currentColumnKeys","treeMap","getDefaultSelection","setSelectedRowKeys","selectWay","changeRowKeys","handleRadioSelect","handleSelectRow","selectionKey","onSelectFunc","getFlatCurrentPageData","changeableRowKeys","customSelectionStartIndex","autoScroll","propsPagination","statePagination","scrollIntoViewIfNeeded","otherArguments","prepareParamsArguments","renderSelectionBox","recordKey","handleShowSizeChange","nextPagination","filterBarMultiple","filterBarPlaceholder","filterBar","getCurrentPageData","renderRowSelection","renderColumnsDropdown","removeHiddenColumns","bar","getLeafColumns","normalizeColumns","createComponents","getDefaultSortOrder","getFiltersFromColumns","getDefaultPagination","createStore","getFlatData","hasPagination","newPagination","sortColumn","sortOrder","getSortOrderColumns","sortState","getSortStateFromColumns","filteredValueColumns","getFilteredValueColumns","filtersFromColumns","newFilters","isFiltersChanged","selectedRows","onSelectAll","changeRows","onSelectInvert","filtersChanged","flatFilter","colKey","definedSortState","defaultSortedColumn","defaultSortOrder","sortedColumn","sorter","isSortColumn","selectionColumnClass","selectionColumn","columnWidth","checkboxAllDisabled","customizeDropdownPrefixCls","originColumn","filterDropdown","sortButton","colFilters","isAscend","setSortOrder","paginationPosition","getLocalData","getMaxCurrent","MAX_VALUE","flatArray","sorterFn","recursiveSort","noFilter","getSorterFn","filteredData","isOr","doBarFilter","findColumnByFilterValue","prevComponents","bodyRow","preBodyRow","createBodyRow","paginationPatchClass","createTableRow","initialState","listeners","partial","listener","FilterMenu","setNeverShown","filterBelongToScrollBody","closest","neverShown","setSelectedKeys","handleClearFilters","handleConfirm","confirmFilter","handleFilterDropdownMenuClick","handleMenuItemClick","keyPathOfSelectedItem","renderFilterIcon","filterIcon","dropdownSelectedClass","filterDropdownVisible","onFilterDropdownVisibleChange","propSelectedKeys","containSelected","subMenuCls","dropdownMenuClass","hasSubMenu","childrenName","mapper","TabsType","TabsPosition","createNewTab","targetKey","onEdit","removeTab","NO_FLEX","tabPosition","tabBarStyle","hideAdd","tabBarExtraContent","tabPaneAnimated","tabPane","isCard","card","childrenWithClose","CheckableTag","defaultPrevented","existed","color","isPresetColor","tagStyle","handleOpenClose","saveTimePicker","timePickerRef","renderTimePicker","getDefaultFormat","Timeline","pending","pendingDot","pendingNode","falsylessItems","idx","pendingItem","TimelineItem","splitObject","picked","omited","isNoTitle","arrowPointAtCenter","verticalArrowShift","isHoverTrigger","spanStyle","cursor","buttonStyle","openClassName","getDisabledCompatibleChildren","childCls","autoAdjustOverflowEnabled","autoAdjustOverflowDisabled","getOverflowOptions","arrowWidth","horizontalArrowShift","placementMap","rcPlacements","TransferDirection","targetKeys","sourceSelectedKeys","targetSelectedKeys","moveKeys","newMoveKeys","newTargetKeys","oppositeDirection","getSelectedKeysName","handleSelectChange","moveToLeft","moveToRight","handleSelectAll","filteredDataSource","originalSelectedKeys","currentKeys","newKeys1","newKeys2","holder","handleLeftSelectAll","handleRightSelectAll","handleLeftFilter","handleRightFilter","handleLeftClear","handleRightClear","selectedItem","handleLeftSelect","handleRightSelect","onScroll","handleLeftScroll","handleRightScroll","renderTransfer","listStyle","lazy","leftFilter","rightFilter","splitDataSource","leftDataSource","rightDataSource","leftActive","rightActive","getTitles","splitedDataSource","newSourceSelectedKeys","newTargetSelectedKeys","indexOfKey","onSelectChange","transferLocale","Operation","renderedText","renderedEl","listItem","lazyProps","throttle","isRenderResultPlainObject","TransferList","mounted","triggerScrollTimer","listNode","matchFilter","renderResult","timer","titleText","footerDom","bodyDom","listCls","totalDataSource","showItems","listBody","listFooter","checkStatus","getCheckStatus","checkedAll","checkAllCheckbox","leftArrowText","rightArrowText","saveTreeSelect","rcTreeSelect","renderTreeSelect","renderSwitcherIcon","switcherOriginCls","Dragger","nextFileList","targetItem","fileToObject","autoUpdateProgress","clearProgressTimer","getFileItem","handleManualRemove","handleRemove","dragState","uniqBy","saveUpload","renderUploadList","uploadLocale","showUploadList","listType","onPreview","showRemoveIcon","showPreviewIcon","defaultFileList","getPercent","genPercentAdd","curPercent","progressTimer","onRemove","removedFileList","removeFileItem","rcUploadProps","uploadList","dragCls","uploadButtonCls","uploadButton","reader","FileReader","onloadend","readAsDataURL","isImageUrl","UploadList","handlePreview","originFileObj","thumbUrl","previewDataUrl","thumbnail","progressAttr","loadingProgress","infoUploadingClass","preview","linkProps","previewIcon","removeIcon","removeIconCross","iconAndPreview","listClassNames","animationDirection","lastModified","lastModifiedDate","s","matchKey","removed","version","c7n","req","locales","mod"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wF;;;;;;;;;;;;ACzDA;AAAA;AAAA;AAAA;AACe,yEAACA,CAAD,EAAIC,cAAJ,EAAuB;AAClC,MAAIC,sDAAQ,CAACF,CAAD,CAAZ,EAAiB;AACbC,kBAAc,GAAGD,CAAjB;AACH,GAFD,MAGK,IAAIA,CAAC,YAAYG,KAAjB,EAAwB;AACzBF,kBAAc,GAAGD,CAAC,CAACI,OAAnB;AACH,GAFI,MAGA,IAAIJ,CAAC,IAAIA,CAAC,CAACI,OAAX,EAAoB;AACrBH,kBAAc,GAAGD,CAAC,CAACI,OAAnB;AACH;;AACD,MAAI,OAAOC,OAAP,KAAmB,WAAvB,EAAoC;AAChCA,WAAO,CA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A;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACe3zB,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACe2zB,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AACA;AACeC,gIAAf,E;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CA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;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,OAAO;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,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA,oC;;;;;;;;;;;;ACrRa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,mBAAmB,mBAAO,CAAC,+EAAe;;AAE1C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;;;;;;;;;;AClDA;AACA,CAAC,KAA4D;AAC7D,CAAC,SACoC;AACrC,CAAC,qBAAqB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA,CAAC;;;;;;;;;;;;;AC5BY;;AAEb;AACA;AACA,CAAC;;AAED,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,YAAY,mBAAO,CAAC,yDAAQ;;AAE5B,iBAAiB,mBAAO,CAAC,0EAAc;;AAEvC;;AAEA,iBAAiB,mBAAO,CAAC,iEAAY;;AAErC,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,4B;;;;;;;;;;;;ACzSa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA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CA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;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,GAAG;AACH;AACA;AACA;;AAEA,0B;;;;;;;;;;;;ACvGa;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,0DAAS;;AAE7B;;AAEA,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9Q;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;AC7Ba;;AAEb;AACA;AACA,CAAC;;AAED,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,iEAAiE,aAAa;AAC9E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,uDAAuD;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;AC9Na;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;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,2B;;;;;;;;;;;;ACxCa;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6B;;;;;;;;;;;;ACvCa;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0B;;;;;;;;;;;;AC1Ca;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;;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,gC;;;;;;;;;;;;ACzCa;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;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,6B;;;;;;;;;;;;ACxCa;;AAEb;AACA;AACA,CAAC;;AAED,cAAc,mBAAO,CAAC,uEAAU;;AAEhC;;AAEA,cAAc,mBAAO,CAAC,uEAAU;;AAEhC;;AAEA,cAAc,mBAAO,CAAC,uEAAU;;AAEhC;;AAEA,eAAe,mBAAO,CAAC,yEAAW;;AAElC;;AAEA,cAAc,mBAAO,CAAC,uEAAU;;AAEhC;;AAEA,eAAe,mBAAO,CAAC,yEAAW;;AAElC;;AAEA,aAAa,mBAAO,CAAC,qEAAS;;AAE9B;;AAEA,aAAa,mBAAO,CAAC,qEAAS;;AAE9B;;AAEA,cAAc,mBAAO,CAAC,uEAAU;;AAEhC;;AAEA,YAAY,mBAAO,CAAC,mEAAQ;;AAE5B;;AAEA,eAAe,mBAAO,CAAC,yEAAW;;AAElC;;AAEA,YAAY,mBAAO,CAAC,mEAAQ;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,2EAAY;;AAEpC;;AAEA,YAAY,mBAAO,CAAC,mEAAQ;;AAE5B;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACjFa;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;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,6B;;;;;;;;;;;;ACxCa;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4B;;;;;;;;;;;;ACvCa;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;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,4B;;;;;;;;;;;;AC3Ca;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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AAEzC;;AAEA,iHAAiH,mBAAmB,EAAE,mBAAmB,4JAA4J;;AAErT,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,CAAC;AACD;AACA,E;;;;;;;;;;;;ACpBa;;AAEb;AACA;AACA,CAAC;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA,CAAC;;AAED;AACA;;;;;;;;;;;;AC1MA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK,KAA6B;AAClC;AACA;AACA,EAAE,UAAU,IAA4E;AACxF;AACA,EAAE,iCAAqB,EAAE,mCAAE;AAC3B;AACA,GAAG;AAAA,oGAAC;AACJ,EAAE,MAAM,EAEN;AACF,CAAC;;;;;;;;;;;;ACnDD;AACA;AACA;;AAEA;AACA,cAAc,mBAAO,CAAC,0DAAS;AAC/B,CAAC;AACD,cAAc,mBAAO,CAAC,oEAAmB;AACzC;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AAC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AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACtBA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;;;;;ACJa;AACb,SAAS,mBAAO,CAAC,0EAAc;AAC/B,aAAa,mBAAO,CAAC,kFAAkB;AACvC,kBAAkB,mBAAO,CAAC,gFAAiB;AAC3C,UAAU,mBAAO,CAAC,8DAAQ;AAC1B,iBAAiB,mBAAO,CAAC,8EAAgB;AACzC,YAAY,mBAAO,CAAC,oEAAW;AAC/B,kBAAkB,mBAAO,CAAC,8EAAgB;AAC1C,WAAW,mBAAO,CAAC,0EAAc;AACjC,iBAAiB,mBAAO,CAAC,8EAAgB;AACzC,kBAAkB,mBAAO,CAAC,8EAAgB;AAC1C,cAAc,mBAAO,CAAC,gEAAS;AAC/B,eAAe,mBAAO,CAAC,8FAAwB;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,6BAA6B;AAC7B,0BAA0B;AAC1B,0BAA0B;AAC1B,qBAAqB;AACrB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,8EAA8E,OAAO;AACrF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC,qBAAqB;AACrB,0BAA0B;AAC1B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;;;;;;ACpEA;AACA,UAAU;AACV;;;;;;;;;;;;ACFA;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA,WAAW,mBAAO,CAAC,8DAAQ;AAC3B,eAAe,mBAAO,CAAC,0EAAc;AACrC,UAAU,mBAAO,CAAC,8DAAQ;AAC1B,cAAc,mBAAO,CAAC,0EAAc;AACpC;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,kEAAU;AAChC,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,GAAG,EAAE;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACpDa;AACb;AACA,kBAAkB,mBAAO,CAAC,8EAAgB;AAC1C,cAAc,mBAAO,CAAC,8EAAgB;AACtC,WAAW,mBAAO,CAAC,8EAAgB;AACnC,UAAU,mBAAO,CAAC,4EAAe;AACjC,eAAe,mBAAO,CAAC,0EAAc;AACrC,cAAc,mBAAO,CAAC,sEAAY;AAClC;;AAEA;AACA,6BAA6B,mBAAO,CAAC,kEAAU;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,UAAU,EAAE;AAChD,mBAAmB,sCAAsC;AACzD,CAAC,qCAAqC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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rC,cAAc,mBAAO,CAAC,wEAAa;AACnC,eAAe,mBAAO,CAAC,0EAAc;AACrC,eAAe,mBAAO,CAAC,0EAAc;AACrC,eAAe,mBAAO,CAAC,0EAAc;AACrC,gBAAgB,mBAAO,CAAC,4EAAe;AACvC,kBAAkB,mBAAO,CAAC,gFAAiB;AAC3C,iBAAiB,mBAAO,CAAC,kFAAkB;AAC3C,cAAc,mBAAO,CAAC,kFAAkB;AACxC,cAAc,mBAAO,CAAC,sFAAoB;AAC1C,YAAY,mBAAO,CAAC,8EAAgB;AACpC,YAAY,mBAAO,CAAC,8EAAgB;AACpC,UAAU,mBAAO,CAAC,0EAAc;AAChC,YAAY,mBAAO,CAAC,8EAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,sBAAsB,uBAAuB,WAAW,IAAI;AAC5D,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA,sBAAsB,mCAAmC;AACzD,KAAK;AACL,GAAG;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;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gCAAgC;AAChG;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,EAAE,mBAAO,CAAC,8EAAgB;AAC1B,EAAE,mBAAO,CAAC,4EAAe;AACzB;;AAEA,sBAAsB,mBAAO,CAAC,sEAAY;AAC1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;;AAE5E;AACA;AACA;AACA,oBAAoB,uBAAuB;;AAE3C,oDAAoD,6BAA6B;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,eAAe,EAAE;AAC3C,0BAA0B,gBAAgB;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,8CAA8C,YAAY,EAAE;;AAE5D;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO,QAAQ,iCAAiC;AACpG,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,oCAAoC,mBAAO,CAAC,gEAAS;AACrD;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACrPA;AACA,mBAAO,CAAC,8FAAwB;;;;;;;;;;;;ACDhC;AACA,mBAAO,CAAC,0FAAsB;;;;;;;;;;;;ACD9B;AACA,cAAc,mBAAO,CAAC,oEAAW;;AAEjC,uCAAuC,SAAS,mBAAO,CAAC,4FAAuB,UAAU;;;;;;;;;;;;ACHzF;AACA,mBAAO,CAAC,8FAAwB;;;;;;;;;;;;ACDhC;AACA,mBAAO,CAAC,0FAAsB;;;;;;;;;;;;ACD9B;AACA,cAAc,mBAAO,CAAC,oEAAW;;AAEjC,uCAAuC,SAAS,mBAAO,CAAC,4FAAuB,UAAU;;;;;;;;;;;;ACHzF,mBAAO,CAAC,4EAAe;;;;;;;;;;;;ACAvB,mBAAO,CAAC,4EAAe;;;;;;;;;;;;ACAvB,mBAAO,CAAC,0FAAsB;AAC9B,aAAa,mBAAO,CAAC,oEAAW;AAChC,WAAW,mBAAO,CAAC,gEAAS;AAC5B,gBAAgB,mBAAO,CAAC,0EAAc;AACtC,oBAAoB,mBAAO,CAAC,8DAAQ;;AAEpC;AACA;AACA;AACA;AACA;;AAEA,eAAe,yBAAyB;AACxC;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,4DAAe;;AAErC,kBAAkB,mBAAO,CAAC,oEAAsB;AAChD,iBAAiB,mBAAO,CAAC,gEAAoB;;AAE7C,IAAI,IAAqC;AACzC,gBAAgB,mBAAO,CAAC,4DAAkB;AAC1C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA,CAAC,MAAM,EAEN;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,gBAAgB,QAAQ;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,0BAA0B;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,WAAW;AAC1B;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0BAA0B;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA,KAAK;AACL;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,KAAK;AACL;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,UAAU,IAAqC;AAC/C;AACA;AACA,wCAAwC;AACxC,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,IAAqC;AACjD;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;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,UAAU,IAAqC;AAC/C;AACA;;AAEA,YAAY,IAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA,gBAAgB,IAAqC;AACrD;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,2CAA2C;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,cAAc,SAAS;AACvB;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wDAAwD;AACxD;AACA;AACA;AACA,cAAc,IAAqC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,cAAc,IAAqC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;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,KAAK;;AAEL;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,IAAqC;AAC7C;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;;;;;;;;;;;;;AC75BA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,YAAY,mBAAO,CAAC,oBAAO;AAC3B,cAAc,mBAAO,CAAC,+DAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC3BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEe,+EAAgB,E;;;;;;;;;;;;AChI/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmD;AACvB;AACY;;AAExC,8BAA8B,8CAAK;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yEAAyE,mEAAO;AAChF;AACA;AACA;AACA;AACA;AACA,oBAAoB,wDAAO;;AAE3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,IAAI,8CAAK;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE,8CAAK;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,IAAI,8CAAK;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE,8CAAK;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEmC;;AAEpB,2EAAY,E;;;;;;;;;;;;AC9K3B;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;;AAE3C,qCAAqC;AACrC;AACA;;AAEA;AACA,cAAc;AACd;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,uBAAuB;;AAEvB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,8EAA8E;;AAE9E;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C;;AAE3C,0DAA0D;;AAE1D;AACA,+BAA+B;;AAE/B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA,2BAA2B;;AAE3B;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,kBAAkB;AAC/B;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;;AAE/B;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA,sEAAsE,cAAc;AACpF;AACA;;AAEA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,uCAAuC;AACvC,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA,2BAA2B,cAAc;AACzC,2BAA2B,cAAc,mBAAmB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mCAAmC,2BAA2B;AAC9D;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qCAAqC,2BAA2B;AAChE;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf,qDAAqD;;AAErD,mCAAmC;;AAEnC;AACA,2CAA2C;;AAE3C,sFAAsF;;AAEtF,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,EAAE;;AAEX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,EAAE;;;AAGX;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA,mEAAmE;AACnE;;AAEA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA,8DAA8D;;AAE9D;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;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;;AAEA;AACA;;AAEA;AACA,gBAAgB,eAAe,KAAK,mBAAmB;AACvD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sHAAsH;;AAEtH;AACA,iDAAiD;AACjD;AACA,GAAG;AACH;;AAEe,2EAAY,EAAC;AACQ;AACpC;;;;;;;;;;;;ACvyCA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,wDAAa;;AAEnC;AACA,mBAAmB;AACnB,oBAAoB;AACpB,mBAAmB;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACtBa;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;;AChDa;;AAEb,WAAW,mBAAO,CAAC,+DAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;AChIa;;AAEb,iBAAiB,mBAAO,CAAC,+FAAwB,E;;;;;;;;;;;;ACFpC;;AAEb,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,oGAAoG,mBAAmB,EAAE,mBAAmB,kGAAkG;;AAE9O;;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;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;AACA;;AAEA;AACA,iBAAiB,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,aAAa,kBAAkB;AAC/B;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;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,CAAC;;AAED;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,CAAC,Y;;;;;;;;;;;;ACtbD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,4DAAe;;AAErC,6CAA6C,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAExP,sBAAsB,mBAAO,CAAC,yEAAmB;AACjD,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,mBAAmB,mBAAO,CAAC,mEAAgB;AAC3C,uBAAuB,mBAAO,CAAC,2EAAoB;AACnD,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,oBAAoB,mBAAO,CAAC,qEAAiB;AAC7C,kBAAkB,mBAAO,CAAC,iEAAe;AACzC,gBAAgB,mBAAO,CAAC,6DAAW;AACnC,qBAAqB,mBAAO,CAAC,uEAAkB;;AAE/C,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,8BAA8B,mBAAO,CAAC,yFAA2B;;AAEjE;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,6CAA6C,oBAAoB;;AAEjE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA,OAAO;AACP,4CAA4C;AAC5C;AACA,OAAO;AACP;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,kC;;;;;;;;;;;;AChIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,iC;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC,oBAAoB,mBAAO,CAAC,wEAAwB;AACpD,0BAA0B,mBAAO,CAAC,iFAAuB;;AAEzD;AACA;AACA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,mBAAmB;AAC1D,OAAO;AACP;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA,2B;;;;;;;;;;;;AChHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,eAAe,mBAAO,CAAC,6DAAW;AAClC;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA,mC;;;;;;;;;;;;AClHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;;AAGA;AACA,sBAAsB,UAAU;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sBAAsB,UAAU;AAChC;AACA;AACA;;AAEA,yC;;;;;;;;;;;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC,0BAA0B,mBAAO,CAAC,iFAAuB;;AAEzD;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA,8B;;;;;;;;;;;;AC1IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC,0BAA0B,mBAAO,CAAC,iFAAuB;;AAEzD;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,kC;;;;;;;;;;;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,sBAAsB,mBAAO,CAAC,yEAAmB;AACjD,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,mBAAmB,mBAAO,CAAC,mEAAgB;AAC3C,uBAAuB,mBAAO,CAAC,2EAAoB;AACnD,kBAAkB,mBAAO,CAAC,iEAAe;AACzC,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,gBAAgB,mBAAO,CAAC,6DAAW;AACnC,qBAAqB,mBAAO,CAAC,uEAAkB;;AAE/C,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,wBAAwB,mBAAO,CAAC,6EAAqB;;AAErD;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA,CAAC;;AAED,8B;;;;;;;;;;;;ACrMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,wBAAwB,mBAAO,CAAC,6EAAqB;;AAErD,eAAe,mBAAO,CAAC,6DAAW;AAClC;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,yC;;;;;;;;;;;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,eAAe,mBAAO,CAAC,6DAAW;AAClC;;AAEA,YAAY,mBAAO,CAAC,oBAAO;;AAE3B,SAAS,mBAAO,CAAC,kDAAa;;AAE9B,yCAAyC,+CAA+C;AACxF,yCAAyC,+CAA+C;AACxF,2CAA2C,gDAAgD;;AAE3F;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;;AAED,4C;;;;;;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,E;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,uBAAuB,mBAAO,CAAC,2EAAoB;AACnD,sBAAsB,mBAAO,CAAC,yEAAmB;AACjD,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,8BAA8B,mBAAO,CAAC,yFAA2B;AACjE,mBAAmB,mBAAO,CA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;AAGA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO,uBAAuB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,6B;;;;;;;;;;;;ACvdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,4DAAe;;AAErC,6CAA6C,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAExP,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,sBAAsB,mBAAO,CAAC,qFAAyB;AACvD,qBAAqB,mBAAO,CAAC,uEAAkB;AAC/C,YAAY,mBAAO,CAAC,oBAAO;AAC3B,eAAe,mBAAO,CAAC,4BAAW;AAClC,aAAa,mBAAO,CAAC,0DAAiB;AACtC,YAAY,mBAAO,CAAC,wDAAgB;AACpC,kBAAkB,mBAAO,CAAC,oEAAsB;AAChD,2BAA2B,mBAAO,CAAC,sFAA+B;;AAElE,SAAS,mBAAO,CAAC,kDAAa;AAC9B,yBAAyB,mBAAO,CAAC,kFAA6B;AAC9D,wBAAwB,mBAAO,CAAC,gFAA4B;AAC5D,4BAA4B,mBAAO,CAAC,wFAAgC;AACpE,gBAAgB,mBAAO,CAAC,gEAAoB;AAC5C,iBAAiB,mBAAO,CAAC,kEAAqB;;AAE9C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,4CAA4C,KAAqC,yDAAyD,SAAgB;AAC1J;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,OAAO,qDAAqD;AAC5D;AACA;AACA;;AAEA;AACA,CAAC;;AAED,kC;;;;;;;;;;;;AC7MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,oBAAoB,mBAAO,CAAC,qEAAiB;AAC7C,kBAAkB,mBAAO,CAAC,iEAAe;AACzC,WAAW,mBAAO,CAAC,sDAAe;;AAElC,+BAA+B,mBAAO,CAAC,2FAA4B;AACnE,qBAAqB,mBAAO,CAAC,uEAAkB;AAC/C,6BAA6B,mBAAO,CAAC,uFAA0B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,+C;;;;;;;;;;;;AC9KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,4DAAe;;AAErC,6CAA6C,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAExP,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,uBAAuB,mBAAO,CAAC,uFAA0B;AACzD,qBAAqB,mBAAO,CAAC,uEAAkB;AAC/C,kBAAkB,mBAAO,CAAC,iEAAe;AACzC,YAAY,mBAAO,CAAC,oBAAO;;AAE3B,SAAS,mBAAO,CAAC,kDAAa;AAC9B,kBAAkB,mBAAO,CAAC,oEAAsB;AAChD,iBAAiB,mBAAO,CAAC,kEAAqB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,oBAAoB,2BAA2B;AAC/C;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;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,8BAA8B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO,0BAA0B;AACjC;AACA;AACA;;AAEA;AACA,CAAC;;AAED,qC;;;;;;;;;;;;ACzPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,0BAA0B,mBAAO,CAAC,uGAAkC;;AAEpE,qC;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,mBAAmB,mBAAO,CAAC,sEAAuB;AAClD,oBAAoB,mBAAO,CAAC,qEAAiB;AAC7C,kBAAkB,mBAAO,CAAC,iEAAe;;AAEzC,4BAA4B,mBAAO,CAAC,qFAAyB;AAC7D,8BAA8B,mBAAO,CAAC,yFAA2B;AACjE,+BAA+B,mBAAO,CAAC,2FAA4B;AACnE,qBAAqB,mBAAO,CAAC,uEAAkB;AAC/C,iBAAiB,mBAAO,CAAC,kEAAqB;;AAE9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wC;;;;;;;;;;;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,oBAAoB,mBAAO,CAAC,6EAAqB;AACjD,aAAa,mBAAO,CAAC,+DAAc;AACnC,yBAAyB,mBAAO,CAAC,uFAA0B;AAC3D,aAAa,mBAAO,CAAC,+DAAc;AACnC,YAAY,mBAAO,CAAC,6DAAa;AACjC,iBAAiB,mBAAO,CAAC,uEAAkB;AAC3C,kBAAkB,mBAAO,CAAC,yEAAmB;AAC7C,cAAc,mBAAO,CAAC,iEAAe;AACrC,cAAc,mBAAO,CAAC,iEAAe;AACrC,gBAAgB,mBAAO,CAAC,qEAAiB;AACzC,cAAc,mBAAO,CAAC,iEAAe;AACrC,eAAe,mBAAO,CAAC,mEAAgB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wC;;;;;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,4DAAe;;AAErC,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,0BAA0B,mBAAO,CAAC,6FAA6B;AAC/D,YAAY,mBAAO,CAAC,oBAAO;AAC3B,eAAe,mBAAO,CAAC,4BAAW;;AAElC,gBAAgB,mBAAO,CAAC,gEAAoB;AAC5C,8BAA8B,mBAAO,CAAC,yFAA2B;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,KAAqC,sCAAsC,SAAgB;AACvG;AACA,aAAa,KAAqC,uCAAuC,SAAgB;AACzG;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,oBAAoB,KAAqC,4CAA4C,SAAgB;AACrH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,KAAqC,0CAA0C,SAAgB;AAC/G;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK,IAAI;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,iC;;;;;;;;;;;;ACzKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,YAAY,mBAAO,CAAC,oBAAO;;AAE3B,SAAS,mBAAO,CAAC,kDAAa;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,OAAO,uBAAuB;AAC9B;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,wC;;;;;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,YAAY,mBAAO,CAAC,oBAAO;AAC3B,eAAe,mBAAO,CAAC,4BAAW;AAClC,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gCAAgC;AACnC;AACA,+BAA+B,gCAAgC;;AAE/D;AACA;AACA,GAAG,gCAAgC;AACnC;AACA,+BAA+B,gCAAgC;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iCAAiC,KAAqC,gDAAgD,SAAgB;AACtI;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,wDAAwD;AAC/D;AACA;AACA;;AAEA;AACA,CAAC;;AAED,qC;;;;;;;;;;;;AClHa;;AAEb,cAAc,mBAAO,CAAC,4DAAe;;AAErC,6CAA6C,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAExP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,mBAAO,CAAC,iFAAuB;AACzD,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;;;AAGA;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;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,qDAAqD,EAAE;AAC7G,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,kBAAkB,KAAqC,2DAA2D,SAAgB;AAClI;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6B;;;;;;;;;;;;ACjMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC;;;AAGA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,qC;;;;;;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,sBAAsB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;;;;;;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA,mC;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,wBAAwB,mBAAO,CAAC,uFAA0B;;AAE1D,mC;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,8BAA8B,mBAAO,CAAC,yFAA2B;AACjE,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC,gCAAgC,mBAAO,CAAC,6FAA6B;AACrE,+BAA+B,mBAAO,CAAC,2FAA4B;AACnE,8BAA8B,mBAAO,CAAC,yFAA2B;AACjE,qCAAqC,mBAAO,CAAC,uGAAkC;AAC/E,iCAAiC,mBAAO,CAAC,+FAA8B;AACvE,gBAAgB,mBAAO,CAAC,gEAAoB;AAC5C,iCAAiC,mBAAO,CAAC,+FAA8B;AACvE,4BAA4B,mBAAO,CAAC,qFAAyB;AAC7D,kCAAkC,mBAAO,CAAC,iGAA+B;AACzE,+BAA+B,mBAAO,CAAC,2FAA4B;;AAEnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA,iCAAiC,KAAqC,0EAA0E,SAAgB;AAChK;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,0BAA0B,4BAA4B;AACtD,KAAK;AACL,GAAG;;AAEH;AACA;AACA,0BAA0B,kBAAkB;AAC5C,KAAK;AACL,GAAG;;AAEH;AACA;AACA,0BAA0B,yCAAyC;AACnE,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA,+B;;;;;;;;;;;;AC/JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AA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AE,eAAe;;AAExP,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,gBAAgB,mBAAO,CAAC,6DAAa;AACrC,mBAAmB,mBAAO,CAAC,mEAAgB;AAC3C,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,gBAAgB,mBAAO,CAAC,6DAAW;AACnC,qBAAqB,mBAAO,CAAC,uEAAkB;;AAE/C;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA,kCAAkC;AAClC;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA,yCAAyC,2CAA2C;AACpF;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;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;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,6B;;;;;;;;;;;;AChjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,oBAAoB,mBAAO,CAAC,qEAAiB;AAC7C,kBAAkB,mBAAO,CAAC,iEAAe;AACzC,qBAAqB,mBAAO,CAAC,uEAAkB;;AAE/C,sCAAsC,mBAAO,CAAC,yGAAmC;AACjF,iBAAiB,mBAAO,CAAC,kEAAqB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA,YAAY;AACZ,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,GAAG;;AAEH;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;AACA;AACA;;AAEA,oC;;;;;;;;;;;;ACrTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,oBAAoB,mBAAO,CAAC,qEAAiB;AAC7C,kBAAkB,mBAAO,CAAC,iEAAe;;AAEzC,8BAA8B,mBAAO,CAAC,yFAA2B;AACjE,iBAAiB,mBAAO,CAAC,kEAAqB;;AAE9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,oC;;;;;;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,CAAC;;AAED,gC;;;;;;;;;;;;ACrIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,iD;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,wBAAwB,mBAAO,CAAC,6EAAqB;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2C;;;;;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC,gCAAgC,mBAAO,CAAC,6FAA6B;;AAErE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,2C;;;;;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,4DAAe;;AAErC,6CAA6C,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAExP,mBAAmB,mBAAO,CAAC,mEAAgB;AAC3C,uBAAuB,mBAAO,CAAC,2EAAoB;AACnD,qBAAqB,mBAAO,CAAC,uEAAkB;;AAE/C,yBAAyB,mBAAO,CAAC,+EAAsB;AACvD,8BAA8B,mBAAO,CAAC,yFAA2B;AACjE,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,KAAqC,kDAAkD,SAAgB;;AAEhJ;AACA,4DAA4D;AAC5D;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,4C;;;;;;;;;;;;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,6CAA6C,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAExP;AACA,cAAc,mBAAO,CAAC,4DAAe;;AAErC,2CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,mBAAmB,mBAAO,CAAC,mEAAgB;AAC3C,uBAAuB,mBAAO,CAAC,2EAAoB;AACnD,iCAAiC,mBAAO,CAAC,+FAA8B;AACvE,kBAAkB,mBAAO,CAAC,iEAAe;AACzC,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC,eAAe,mBAAO,CAAC,6DAAW;AAClC;;AAEA,UAAU,mBAAO,CAAC,oDAAc;;AAEhC,SAAS,mBAAO,CAAC,kDAAa;AAC9B,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,0BAA0B,mBAAO,CAAC,iFAAuB;AACzD,gBAAgB,mBAAO,CAAC,gEAAoB;AAC5C,wBAAwB,mBAAO,CAAC,6EAAqB;;AAErD;;AAEA;AACA;;;AAGA,kBAAkB;AAClB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC;AACtC,mCAAmC;;AAEnC;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2DAA2D;;AAE3D;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,kBAAkB,iCAAiC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,yCAAyC,KAAqC,4DAA4D,SAAgB;AAC1J;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,oBAAoB;AACpB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0EAA0E;AAC1E;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,6EAA6E;AAC7E,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,UAAU;AACV;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,6BAA6B;AACvD;;AAEA,UAAU;AACV;;AAEA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;;AAGA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gD;;;;;;;;;;;;AC3oBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,4DAAe;;AAErC,6CAA6C,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAExP,mBAAmB,mBAAO,CAAC,mEAAgB;AAC3C,uBAAuB,mBAAO,CAAC,2EAAoB;AACnD,mBAAmB,mBAAO,CAAC,mEAAgB;AAC3C,kBAAkB,mBAAO,CAAC,iEAAe;AACzC,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,uBAAuB,mBAAO,CAAC,2EAAoB;AACnD,gBAAgB,mBAAO,CAAC,6DAAW;AACnC,qBAAqB,mBAAO,CAAC,uEAAkB;;AAE/C,0BAA0B,mBAAO,CAAC,iFAAuB;AACzD,yBAAyB,mBAAO,CAAC,+EAAsB;AACvD,8BAA8B,mBAAO,CAAC,yFAA2B;AACjE,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,sBAAsB,UAAU,4BAA4B;AAC5D,GAAG;AACH;;AAEA;AACA,oBAAoB;AACpB;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,KAAqC,+FAA+F,SAAgB;;AAEzL;AACA;;AAEA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,KAAqC,+FAA+F,SAAgB;AAC5K;AACA;;AAEA;AACA;;AAEA,8DAA8D;AAC9D;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,+EAA+E;AAC/E,GAAG;;AAEH;AACA;;AAEA;AACA,oCAAoC,KAAqC,sDAAsD,SAAgB;;AAE/I;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,4C;;;;;;;;;;;;ACnOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC;;;AAGA;AACA;AACA;AACA,qCAAqC,+BAA+B;AACpE,GAAG;AACH;AACA;;AAEA,qC;;;;;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,mBAAmB,mBAAO,CAAC,sEAAuB;;AAElD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,UAAU;AACpC;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,oC;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,eAAe,mBAAO,CAAC,6DAAW;AAClC;;AAEA,mBAAmB,mBAAO,CAAC,sEAAuB;;AAElD;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,yC;;;;;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,gBAAgB,mBAAO,CAAC,6DAAa;AACrC,oBAAoB,mBAAO,CAAC,qEAAiB;AAC7C,kBAAkB,mBAAO,CAAC,iEAAe;AACzC,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C,+BAA+B,mBAAO,CAAC,2FAA4B;AACnE,qBAAqB,mBAAO,CAAC,uEAAkB;AAC/C,6BAA6B,mBAAO,CAAC,uFAA0B;AAC/D,iBAAiB,mBAAO,CAAC,kEAAqB;AAC9C,mBAAmB,mBAAO,CAAC,sEAAuB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,mC;;;;;;;;;;;;;ACzKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,kBAAkB,mBAAO,CAAC,iEAAe;;AAEzC,mBAAmB,mBAAO,CAAC,sEAAuB;AAClD,uBAAuB,mBAAO,CAAC,8EAA2B;;AAE1D;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,4B;;;;;;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,kBAAkB,mBAAO,CAAC,iEAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,0BAA0B;AACtF;AACA;AACA;;AAEA,wC;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,+BAA+B,mBAAO,CAAC,2FAA4B;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4B;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,oBAAoB,mBAAO,CAAC,qEAAiB;AAC7C,kBAAkB,mBAAO,CAAC,iEAAe;AACzC,YAAY,mBAAO,CAAC,wDAAgB;;AAEpC,+BAA+B,mBAAO,CAAC,2FAA4B;AACnE,wBAAwB,mBAAO,CAAC,gFAA4B;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA,2B;;;;;;;;;;;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,kBAAkB,mBAAO,CAAC,iEAAe;AACzC,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,6B;;;;;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,oBAAoB,mBAAO,CAAC,qEAAiB;AAC7C,qBAAqB,mBAAO,CAAC,uEAAkB;AAC/C,kBAAkB,mBAAO,CAAC,iEAAe;AACzC,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C,4BAA4B,mBAAO,CAAC,qFAAyB;AAC7D,iBAAiB,mBAAO,CAAC,kEAAqB;;AAE9C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qCAAqC,uDAAuD;AAC5F,GAAG;;AAEH;AACA;;AAEA,6B;;;;;;;;;;;;;AC3KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,oBAAoB,mBAAO,CAAC,qEAAiB;AAC7C,kBAAkB,mBAAO,CAAC,iEAAe;AACzC,qBAAqB,mBAAO,CAAC,uEAAkB;AAC/C,WAAW,mBAAO,CAAC,sDAAe;AAClC,yBAAyB,mBAAO,CAAC,+EAAsB;AACvD,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C,qBAAqB,mBAAO,CAAC,uEAAkB;AAC/C,uCAAuC,mBAAO,CAAC,2GAAoC;AACnF,8BAA8B,mBAAO,CAAC,yFAA2B;AACjE,2BAA2B,mBAAO,CAAC,mFAAwB;AAC3D,8BAA8B,mBAAO,CAAC,yFAA2B;AACjE,0CAA0C,mBAAO,CAAC,iHAAuC;AACzF,4CAA4C,mBAAO,CAAC,qHAAyC;AAC7F,+BAA+B,mBAAO,CAAC,2FAA4B;AACnE,4BAA4B,mBAAO,CAAC,qFAAyB;AAC7D,oCAAoC,mBAAO,CAAC,qGAAiC;AAC7E,qBAAqB,mBAAO,CAAC,uEAAkB;;AAE/C;;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;;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;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,+B;;;;;;;;;;;;ACzJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,sBAAsB,mBAAO,CAAC,yEAAmB;AACjD,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,mBAAmB,mBAAO,CAAC,sEAAuB;AAClD,oBAAoB,mBAAO,CAAC,qEAAiB;AAC7C,0BAA0B,mBAAO,CAAC,iFAAuB;AACzD,kBAAkB,mBAAO,CAAC,iEAAe;AACzC,yBAAyB,mBAAO,CAAC,+EAAsB;;AAEvD,+BAA+B,mBAAO,CAAC,2FAA4B;AACnE,8BAA8B,mBAAO,CAAC,yFAA2B;AACjE,qBAAqB,mBAAO,CAAC,uEAAkB;AAC/C,8BAA8B,mBAAO,CAAC,yFAA2B;;AAEjE;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;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA,OAAO;;AAEP;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA,6B;;;;;;;;;;;;ACpKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,kBAAkB,mBAAO,CAAC,iEAAe;AACzC,eAAe,mBAAO,CAAC,4BAAW;;AAElC,8BAA8B,mBAAO,CAAC,yFAA2B;AACjE,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,KAAqC,4CAA4C,SAAgB;AACjH,oDAAoD,KAAqC,qEAAqE,SAAgB;AAC9K;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,8B;;;;;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,qBAAqB,mBAAO,CAAC,uEAAkB;AAC/C,mBAAmB,mBAAO,CAAC,sEAAuB;;AAElD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA,oC;;;;;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,mBAAmB,mBAAO,CAAC,sEAAuB;;AAElD,0BAA0B,mBAAO,CAAC,iFAAuB;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;;AAEA,yC;;;;;;;;;;;;ACpEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAO,CAAC,sEAAuB;;AAElD,0BAA0B,mBAAO,CAAC,iFAAuB;AACzD,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB,KAAqC,+CAA+C,SAAgB;;AAEtH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,mBAAmB;AACrC;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;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB,KAAqC,oFAAoF,SAAgB;AAC9J;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,KAAqC,4EAA4E,SAAgB;AACjK;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qCAAqC,SAAS;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,0C;;;;;;;;;;;;AC/LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,mCAAmC,mBAAO,CAAC,mGAAgC;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uC;;;;;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA,qC;;;;;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mC;;;;;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,0BAA0B,mBAAO,CAAC,iFAAuB;;AAEzD,8BAA8B,mBAAO,CAAC,yFAA2B;AACjE,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,gCAAgC,KAAqC,0FAA0F,SAAgB;;AAE/K;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,0C;;;;;;;;;;;;AClHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,4BAA4B,mBAAO,CAAC,qFAAyB;AAC7D,4BAA4B,mBAAO,CAAC,qFAAyB;;AAE7D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,GAAG;AACH;;AAEA,yC;;;;;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,qBAAqB,mBAAO,CAAC,uEAAkB;AAC/C,WAAW,mBAAO,CAAC,sDAAe;AAClC,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,sC;;;;;;;;;;;;AC3HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,uCAAuC,mBAAO,CAAC,2GAAoC;;AAEnF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yC;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,4BAA4B,mBAAO,CAAC,qFAAyB;AAC7D,mCAAmC,mBAAO,CAAC,mGAAgC;AAC3E,+BAA+B,mBAAO,CAAC,2FAA4B;AACnE,gBAAgB,mBAAO,CAAC,gEAAoB;AAC5C,iBAAiB,mBAAO,CAAC,kEAAqB;;AAE9C;AACA;AACA;AACA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA,kGAAkG,KAAqC,0DAA0D,SAAgB;;AAEjN;AACA;AACA;AACA;AACA,kFAAkF,KAAqC,gEAAgE,SAAgB;AACvM;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kD;;;;;;;;;;;;ACtLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0C;;;;;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,8BAA8B,mBAAO,CAAC,yFAA2B;;AAEjE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,0C;;;;;;;;;;;;AC3Ba;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,mBAAO,CAAC,2EAAoB;;AAEnD;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,0C;;;;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,0BAA0B,mBAAO,CAAC,iFAAuB;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4C;;;;;;;;;;;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,kBAAkB;AAC3D;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,EAAE,KAAM,GAAG,KAAqC,+FAA+F,SAAgB,GAAG,SAAM;AACxK;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,iBAAiB,yBAAyB;AAC1C,GAAG;;AAEH,qBAAqB,KAAqC,6DAA6D,SAAgB;;AAEvI;AACA;;AAEA,yC;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,KAAqC,qDAAqD,SAAgB;AACrI;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,6BAA6B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8C;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,KAAqC,6FAA6F,SAAgB;AACtL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yC;;;;;;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,qBAAqB,mBAAO,CAAC,uEAAkB;;AAE/C,iBAAiB,mBAAO,CAAC,kEAAqB;;AAE9C;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,0C;;;;;;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,iCAAiC,mBAAO,CAAC,+FAA8B;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,yC;;;;;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,sBAAsB,mBAAO,CAAC,yEAAmB;AACjD,uBAAuB,mBAAO,CAAC,2EAAoB;AACnD,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC,qBAAqB,mBAAO,CAAC,uEAAkB;AAC/C,gBAAgB,mBAAO,CAAC,gEAAoB;AAC5C,4BAA4B,mBAAO,CAAC,qFAAyB;;AAE7D;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA,kCAAkC,KAAqC,kGAAkG,SAAgB;;AAEzL;AACA;AACA;AACA;;AAEA;;AAEA;AACA,4CAA4C,KAAqC,kGAAkG,SAAgB;AACnM;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gD;;;;;;;;;;;;AC1PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC,qBAAqB,mBAAO,CAAC,uEAAkB;AAC/C,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;;;AAGA;AACA,kCAAkC,KAAqC,oFAAoF,SAAgB;;AAE3K;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA,4C;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA,wC;;;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,kBAAkB,mBAAO,CAAC,iEAAe;;AAEzC,+BAA+B,mBAAO,CAAC,2FAA4B;AACnE,uCAAuC,mBAAO,CAAC,2GAAoC;AACnF,4BAA4B,mBAAO,CAAC,qFAAyB;AAC7D,6BAA6B,mBAAO,CAAC,uFAA0B;;AAE/D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA,kD;;;;;;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,yBAAyB,mBAAO,CAAC,+EAAsB;AACvD,kBAAkB,mBAAO,CAAC,iEAAe;;AAEzC,4BAA4B,mBAAO,CAAC,qFAAyB;AAC7D,6BAA6B,mBAAO,CAAC,uFAA0B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA,yC;;;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,yBAAyB,mBAAO,CAAC,+EAAsB;AACvD,kBAAkB,mBAAO,CAAC,iEAAe;;AAEzC,2BAA2B,mBAAO,CAAC,mFAAwB;AAC3D,6BAA6B,mBAAO,CAAC,uFAA0B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA,sC;;;;;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,oBAAoB,mBAAO,CAAC,qEAAiB;AAC7C,kBAAkB,mBAAO,CAAC,iEAAe;;AAEzC;AACA;AACA;AACA;;AAEA,yC;;;;;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,kBAAkB,mBAAO,CAAC,iEAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;;AAEA,qD;;;;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,kBAAkB,mBAAO,CAAC,iEAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;;AAEA,uD;;;;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,kBAAkB,mBAAO,CAAC,iEAAe;AACzC,mBAAmB,mBAAO,CAAC,sEAAuB;;AAElD,4BAA4B,mBAAO,CAAC,qFAAyB;AAC7D,6BAA6B,mBAAO,CAAC,uFAA0B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0C;;;;;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,kBAAkB,mBAAO,CAAC,iEAAe;AACzC,mBAAmB,mBAAO,CAAC,sEAAuB;;AAElD,2BAA2B,mBAAO,CAAC,mFAAwB;AAC3D,6BAA6B,mBAAO,CAAC,uFAA0B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uC;;;;;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,oBAAoB,mBAAO,CAAC,qEAAiB;AAC7C,kBAAkB,mBAAO,CAAC,iEAAe;;AAEzC,8BAA8B,mBAAO,CAAC,yFAA2B;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;;AAEA,+C;;;;;;;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,kBAAkB,mBAAO,CAAC,iEAAe;;AAEzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,mDAAmD;AAC9F;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yCAAyC,gCAAgC;;AAEzE;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,gC;;;;;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,4C;;;;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,uBAAuB,mBAAO,CAAC,2EAAoB;AACnD,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC,+BAA+B,mBAAO,CAAC,2FAA4B;AACnE,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA,mCAAmC,KAAqC,4DAA4D,SAAgB;;AAEpJ;AACA;;AAEA,8BAA8B,KAAqC,+DAA+D,SAAgB;;AAElJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA,0EAA0E,KAAqC,+DAA+D,SAAgB;;AAE9L;AACA,GAAG;AACH;;AAEA,yDAAyD,KAAqC,+DAA+D,SAAgB;;AAE7K;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA,yC;;;;;;;;;;;;AChMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,uC;;;;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,0BAA0B,+CAA+C;AACzE;;AAEA,sC;;;;;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,uBAAuB,mBAAO,CAAC,2EAAoB;AACnD,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC,wBAAwB,mBAAO,CAAC,6EAAqB;;AAErD;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uC;;;;;;;;;;;;AChHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,wBAAwB,mBAAO,CAAC,6EAAqB;;AAErD,0BAA0B,mBAAO,CAAC,iFAAuB;AACzD,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,sBAAsB;AACtB;AACA,GAAG;AACH,wCAAwC,KAAqC,yEAAyE,SAAgB;AACtK;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,uC;;;;;;;;;;;;ACpGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,uBAAuB,mBAAO,CAAC,2EAAoB;AACnD,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC,+BAA+B,mBAAO,CAAC,2FAA4B;;AAEnE;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,6C;;;;;;;;;;;;ACjTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,oBAAoB,mBAAO,CAAC,qEAAiB;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wC;;;;;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;AACA;AACA;;AAEA,mC;;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,0BAA0B,mBAAO,CAAC,iFAAuB;;AAEzD,mBAAmB,mBAAO,CAAC,sEAAuB;AAClD,uBAAuB,mBAAO,CAAC,8EAA2B;AAC1D,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qCAAqC,KAAqC,2EAA2E,SAAgB;AACrK;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;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;;AAEA;AACA;AACA;AACA;AACA;AACA,qCAAqC,iBAAiB;AACtD;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,iBAAiB;AACpD;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,yC;;;;;;;;;;;;;ACpPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,uBAAuB,mBAAO,CAAC,2EAAoB;AACnD,gBAAgB,mBAAO,CAAC,6DAAW;;AAEnC,wBAAwB,mBAAO,CAAC,6EAAqB;AACrD,gBAAgB,mBAAO,CAAC,gEAAoB;;AAE5C;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA,kCAAkC,KAAqC,4DAA4D,SAAgB;;AAEnJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA,6CAA6C,KAAqC,iEAAiE,SAAgB;;AAEnK;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA,0C;;;;;;;;;;;;AClIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;AACA;AACA;;AAEA,yC;;;;;;;;;;;ACrBA,mBAAmB,mBAAO,CAAC,qEAAgB;AAC3C,WAAW,mBAAO,CAAC,qDAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iCAAiC;AACjC,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;;;;;;;;;;;AC5FA,iBAAiB,mBAAO,CAAC,iEAAc;AACvC,WAAW,mBAAO,CAAC,qDAAQ;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,4BAA4B;AAC3C,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,mBAAmB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpFA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,YAAY;AACtB;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC3CA,yBAAyB,mBAAO,CAAC,iFAAsB;AACvD;;;;;;;;;;;;ACDA;AACA,QAAQ,IAA0C;AAClD,QAAQ,oCAAO,OAAO;AAAA;AAAA;AAAA;AAAA,oGAAC;AACvB,KAAK,MAAM,EAIR;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,G;;;;;;;;;;;;ACvBY;;AAEb,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,mBAAO,CAAC,mEAAkB;;AAE/C,2BAA2B,mBAAO,CAAC,+EAAwB;AAC3D,oBAAoB,mBAAO,CAAC,iEAAiB;;AAE7C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,cAAc;AACd;;;AAGA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;;;AAGA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,cAAc;AACd;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;;;AAGA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,8B;;;;;;;;;;;;AC1Na;;AAEb;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,E;;;;;;;;;;;;ACjCa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;ACzBa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,WAAW;AACtB,WAAW,YAAY;AACvB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,SAAS;AAC/C;AACA,sBAAsB,SAAS;AAC/B;;AAEA;AACA;AACA,aAAa,WAAW;AACxB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA,aAAa,WAAW;AACxB,cAAc;AACd;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,wB;;;;;;;;;;;;AClFa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,mBAAO,CAAC,uEAAoB;;AAEnD;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,cAAc,sBAAsB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,uB;;;;;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8BAA8B,kCAAkC;;AAEhE;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,qB;;;;;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,2BAA2B,mBAAO,CAAC,+EAAwB;;AAE3D,gBAAgB,mBAAO,CAAC,yDAAa;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;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,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,KAAqC,uEAAuE,SAAgB;AAC/K;AACA;;AAEA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6B;;;;;;;;;;;;ACzJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,gBAAgB,mBAAO,CAAC,yDAAa;;AAErC,wBAAwB;AACxB,gBAAgB;AAChB,gBAAgB;;AAEhB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,KAAqC,4FAA4F,SAAgB;AACpK;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,KAAqC,4FAA4F,SAAgB;AACpK,wBAAwB,KAAqC,iGAAiG,SAAgB;AAC9K;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,KAAqC,mDAAmD,SAAgB;AACvH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sC;;;;;;;;;;;;ACzGA;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;;AAEa;;AAEb,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kBAAkB,mBAAO,CAAC,6DAAe;AACzC,2BAA2B,mBAAO,CAAC,+EAAwB;;AAE3D,gBAAgB,mBAAO,CAAC,yDAAa;;AAErC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL,mDAAmD,KAAqC,mFAAmF,SAAgB;AAC3L;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,oC;;;;;;;;;;;;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,gBAAgB,mBAAO,CAAC,yDAAa;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA,wCAAwC,KAAqC,oGAAoG,SAAgB;AACjM;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,+CAA+C;AAC/C,2EAA2E;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,0BAA0B;AACpC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,cAAc;AAC1B;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8B;;;;;;;;;;;;ACnNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,oBAAoB,mBAAO,CAAC,iEAAiB;AAC7C,mBAAmB,mBAAO,CAAC,+DAAgB;;AAE3C,gBAAgB,mBAAO,CAAC,yDAAa;AACrC,wBAAwB,mBAAO,CAAC,yEAAqB;;AAErD;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc;AACd;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc;AACd;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc;AACd;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc;AACd;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc;AACd;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA,yD;;;;;;;;;;;;AC9OA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,eAAe,mBAAO,CAAC,kEAAc;;AAErC;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wB;;;;;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,gBAAgB,mBAAO,CAAC,yDAAa;;AAErC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;;AAEA,yDAAyD,KAAqC,qEAAqE,SAAgB;;AAEnL;AACA;AACA,GAAG;AACH;AACA;;AAEA,sEAAsE,KAAqC,oFAAoF,SAAgB;;AAE/M;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa,KAAqC,gEAAgE,SAAgB;;AAElI;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB;AACA;AACA,4BAA4B,YAAY;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,aAAa,OAAO;AACpB;AACA;AACA;AACA,6BAA6B,KAAqC,8DAA8D,SAAgB;;AAEhJ;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,wBAAwB;AACzC;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA,8B;;;;;;;;;;;;AC3Xa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,0B;;;;;;;;;;;;AC5Ba;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,2DAAc;;AAEvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA,8B;;;;;;;;;;;;ACpCa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,yDAAa;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,qFAAqF,KAAqC,6DAA6D,SAAgB;;AAEvM,kCAAkC,KAAqC,iEAAiE,SAAgB;;AAExJ,yCAAyC,KAAqC,sEAAsE,SAAgB;;AAEpK,wCAAwC,KAAqC,sGAAsG,+BAA+B,SAAgB;;AAElO;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,aAAa;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;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,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA,sC;;;;;;;;;;;;AC3Ha;;AAEb;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,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oB;;;;;;;;;;;;ACtCa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+B;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,IAAI,IAAqC;AACzC;AACA;;AAEA,6B;;;;;;;;;;;;AChBa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,kC;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0C;;;;;;;;;;;;AC9Ba;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,mBAAO,CAAC,mEAAkB;;AAE/C;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;;;;;;;;;;;AC9Ba;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAO,CAAC,+DAAgB;;AAE3C;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,+BAA+B,mBAAO,CAAC,uFAA4B;AACnE,iCAAiC,mBAAO,CAAC,2FAA8B;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,mC;;;;;;;;;;;;AC5Ca;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,mBAAO,CAAC,uDAAY;AACnC,gBAAgB,mBAAO,CAAC,yDAAa;;AAErC;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;AACA;AACA;AACA;;AAEA,kC;;;;;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4C;;;;;;;;;;;;ACnCa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uC;;;;;;;;;;;;ACxDa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;;AAEA,2B;;;;;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,qDAAqD;AACrD,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA,0BAA0B;AAC1B;AACA;AACA;;AAEA,2B;;;;;;;;;;;;ACpDa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,EAAE;AACb,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA,wB;;;;;;;;;;;;ACrBa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,mDAAU;;AAE/B;AACA,WAAW,EAAE;AACb,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA,4B;;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6B;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2B;;;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mC;;;;;;;;;;;;AC1Ba;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,4B;;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;;AAEA,mBAAO,CAAC,iEAAc;AACtB,qC;;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,oBAAoB,mBAAO,CAAC,iEAAiB;;AAE7C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,IAAI,IAAqC;AACzC;AACA,sFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;;AAEA;AACA,4FAA4F,eAAe;AAC3G;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yB;;;;;;;;;;;;AC7Da;;AAEb;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;;AAEA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,KAA4D;AAC9D,EAAE,SAC4B;AAC9B,CAAC,oBAAoB,cAAc;;AAEnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uBAAuB;AACvB,mBAAmB;;AAEnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB,UAAU;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA,6CAA6C,wBAAwB;AACrE;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mCAAmC,KAAK;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,gBAAgB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;;AAGA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;;;AAIA;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,OAAO;AACP;;;;;AAKA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,uCAAuC,SAAS;AAChD;AACA;;AAEA;AACA;AACA,mFAAmF,yCAAyC;AAC5H;AACA;AACA,iFAAiF,yCAAyC;AAC1H;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;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,gBAAgB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA,2DAA2D;AAC3D;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;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;;AAEA;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;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;;AAGA,2CAA2C;;AAE3C,6CAA6C;;AAE7C,yCAAyC;;;AAGzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,gBAAgB;AAChB;AACA;AACA;AACA,6EAA6E;AAC7E;;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;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oBAAoB;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B,SAAS;AACvC;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,qBAAqB;AAC7D,SAAS;AACT;;AAEA;AACA,mCAAmC,KAAK;AACxC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,0DAA0D,SAAS;AACnE;;AAEA;AACA;AACA;;AAEA;AACA,iDAAiD,eAAe;AAChE;;AAEA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;;AAEA,gDAAgD;AAChD;AACA;;AAEA,+CAA+C;AAC/C;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oDAAoD;AACpD;AACA;;AAEA,mDAAmD;AACnD;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qDAAqD;AACrD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;;AAGA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C,UAAU;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,oCAAoC,WAAW;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe;AACf;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C,UAAU;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,WAAW;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA,mDAAmD,gBAAgB;AACnE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iDAAiD,gBAAgB;AACjE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iDAAiD,UAAU;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,cAAc;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA,sCAAsC,iBAAiB;AACvD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,oBAAoB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA,sBAAsB,mBAAmB;AACzC;AACA;AACA,KAAK;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,aAAa;AACjC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,aAAa;AACjC;AACA;AACA;AACA;AACA;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,sCAAsC,sBAAsB;AAC5D,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;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;AACA;AACA;AACA,wBAAwB,oBAAoB;AAC5C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,oBAAoB;AAC5C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,iDAAiD;AACjD;AACA;;AAEA;AACA;AACA;;AAEA,qDAAqD;AACrD;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,yCAAyC,MAAC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C;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;AACA;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iBAAiB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,qBAAqB;AAC7D,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA,0CAA0C,KAAK;AAC/C;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4DAA4D;AAC5D;AACA,0BAA0B,+CAA+C;AACzE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,qDAAqD,wCAAwC;AAC7F,4DAA4D,gBAAgB;AAC5E;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oDAAoD;AACpD;AACA;AACA,iDAAiD;AACjD;AACA;AACA;;AAEA,+DAA+D;AAC/D;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;;AAEA,iEAAiE;AACjE;AACA;AACA;AACA,2BAA2B,wBAAwB;AACnD;AACA,0BAA0B,4CAA4C;AACtE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mEAAmE;AACnE;AACA,gDAAgD,mCAAmC;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+DAA+D;AAC/D,gDAAgD,wBAAwB;AACxE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,0DAA0D;AAC1D,2CAA2C;AAC3C;AACA;AACA,uCAAuC;AACvC,4CAA4C;AAC5C;AACA,6DAA6D;AAC7D,iDAAiD,kCAAkC;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA,4BAA4B,8DAA8D;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP,kDAAkD;AAClD;AACA,yDAAyD;AACzD,iDAAiD,wBAAwB;AACzE;AACA;AACA,gCAAgC;AAChC;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,KAAK;AACL;AACA,sCAAsC,oCAAoC;AAC1E;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;;AAEA;AACA;;;AAGA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;;AAGA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK,uBAAuB,oBAAoB;;AAEhD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;;AAGA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;;;AAGA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,SAAS;AACT,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,kCAAkC,6CAA6C;AAC/E;AACA,uBAAuB,uBAAuB,EAAE;AAChD,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,mCAAmC;AACjE,iCAAiC,kDAAkD;AACnF;AACA,KAAK;AACL,8CAA8C,4CAA4C;AAC1F;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,6DAA6D,cAAc;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,gBAAgB;AAC9D,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,eAAe;AACpE;AACA,OAAO;AACP;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD,KAAK;AACxD;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;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;;AAEA;AACA;AACA;;AAEA,2DAA2D;AAC3D,qEAAqE,qBAAqB;AAC1F;;AAEA,wDAAwD;AACxD,qEAAqE,qBAAqB;AAC1F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,kBAAkB;AACvD,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mCAAmC,KAAK;AACxC;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,sCAAsC;AACtC,yCAAyC,oBAAoB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAmB;AAC3C,2DAA2D,sBAAsB;AACjF;AACA,OAAO;AACP;;AAEA,0CAA0C;AAC1C;AACA;AACA;AACA,yCAAyC,yBAAyB;AAClE;AACA;AACA;AACA,4CAA4C,4BAA4B;AACxE;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA,yCAAyC;AACzC;AACA;AACA;AACA,yCAAyC,yBAAyB;AAClE;AACA;AACA;AACA,0CAA0C,4BAA4B;AACtE;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA;AACA;AACA;;AAEA,gDAAgD;AAChD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qDAAqD;AACrD,kDAAkD,wBAAwB;AAC1E;;AAEA;AACA,4CAA4C,SAAS;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,kBAAkB;AACvD,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0CAA0C,KAAK;AAC/C;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;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,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;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;;AAEA;;AAEA;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,OAAO;AACP;;;AAGA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC,oCAAoC;AACxE;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,iDAAiD,cAAc,EAAE;AACjE;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,0BAA0B;AAC1B;AACA,KAAK;;AAEL;AACA;AACA,0BAA0B;AAC1B;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,sCAAsC,eAAe,EAAE;AACvD;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA,wBAAwB;AACxB;AACA,KAAK;;AAEL;AACA,yCAAyC,8BAA8B;AACvE,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,iFAAiF,YAAY;AAC7F,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA,0CAA0C,0BAA0B;AACpE,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,0CAA0C,4BAA4B;AACtE,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;;;AAGA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,wBAAwB;AACnE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;;;;AAIH;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA,4CAA4C,8BAA8B;AAC1E,KAAK;;AAEL;AACA,gDAAgD,8BAA8B;AAC9E,KAAK;;AAEL,2CAA2C;AAC3C;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,KAAK;;AAEL,wCAAwC;AACxC;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;AACA;AACA;AACA,6DAA6D;;;;AAI7D;;AAEA;;AAEA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,qCAAqC,qBAAqB;AAC1D,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;;;;AAIA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;;AAEA,GAAG;;AAEH;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,8CAA8C,EAAE;AAC3E,2BAA2B,yCAAyC,EAAE;AACtE;AACA,wBAAwB,0BAA0B,EAAE;AACpD,wBAAwB,qBAAqB;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wDAAwD;AACxD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,CAAC,G;;;;;;;;;;;;ACr3JY;;AAEb;AACA;AACA;;;;;;;;;;;;;ACJA,mBAAmB,mBAAO,CAAC,kFAA6B;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,yB;;;;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;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,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;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;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,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;;;;;;;;;;;;ACxXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;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,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;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;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,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,oBAAoB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;;;;;;;;;;;;ACtbA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,WAAW,mBAAO,CAAC,+CAAS;;AAE5B;AACA;;AAEA;;;;;;;;;;;;ACNA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,cAAc,mBAAO,CAAC,qDAAY;AAClC,cAAc,mBAAO,CAAC,qDAAY;AAClC,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC/BA,qBAA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AAW;AACjC,eAAe,mBAAO,CAAC,qDAAY;AACnC,cAAc,mBAAO,CAAC,qDAAY;AAClC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,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;;;;;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACXA,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,SAAS,mBAAO,CAAC,yCAAM;;AAEvB;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,SAAS,mBAAO,CAAC,yCAAM;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC3BA,SAAS,mBAAO,CAAC,yCAAM;;AAEvB;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,WAAW,mBAAO,CAAC,6CAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChBA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,aAAa,mBAAO,CAAC,iDAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChBA,qBAAqB,mBAAO,CAAC,mEAAmB;;AAEhD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;;;;;;ACxBA,YAAY,mBAAO,CAAC,iDAAU;AAC9B,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,aAAa,mBAAO,CAAC,mDAAW;AAChC,qBAAqB,mBAAO,CAAC,mEAAmB;AAChD,qBAAqB,mBAAO,CAAC,mEAAmB;AAChD,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,cAAc,mBAAO,CAAC,mDAAW;AACjC,eAAe,mBAAO,CAAC,qDAAY;AACnC,YAAY,mBAAO,CAAC,+CAAS;AAC7B,eAAe,mBAAO,CAAC,qDAAY;AACnC,YAAY,mBAAO,CAAC,+CAAS;AAC7B,WAAW,mBAAO,CAAC,6CAAQ;;AAE3B;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;;;;;ACpKA,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;AC7BA,iBAAiB,mBAAO,CAAC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ACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC3BA,YAAY,mBAAO,CAAC,iDAAU;AAC9B,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,aAAa,mBAAO,CAAC,mDAAW;AAChC,cAAc,mBAAO,CAAC,mDAAW;AACjC,eAAe,mBAAO,CAAC,qDAAY;AACnC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,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;;;;;;;;;;;;AClFA,aAAa,mBAAO,CAAC,mDAAW;AAChC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,YAAY,mBAAO,CAAC,iDAAU;AAC9B,kBAAkB,mBAAO,CAAC,6DAAgB;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;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,KAAK;AACL;AACA;AACA;AACA;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SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7FA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,uDAAa;AACpC,kBAAkB,mBAAO,CAAC,6DAAgB;;AAE1C;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChBA,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,eAAe,mBAAO,CAAC,uDAAa;AACpC,cAAc,mBAAO,CAAC,qDAAY;AAClC,eAAe,mBAAO,CAAC,qDAAY;AACnC,YAAY,mBAAO,CAAC,iDAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9CA,eAAe,mBAAO,CAAC,qDAAY;AACnC,qBAAqB,mBAAO,CAAC,mEAAmB;AAChD,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,aAAa,mBAAO,CAAC,mDAAW;AAChC,eAAe,mBAAO,CAAC,uDAAa;AACpC,cAAc,mBAAO,CAAC,mDAAW;AACjC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA,eAAe,mBAAO,CAAC,uDAAa;AACpC,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,wBAAwB,mBAAO,CAAC,yEAAsB;AACtD,eAAe,mBAAO,CAAC,uDAAa;AACpC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACvEA,eAAe,mBAAO,CAAC,uDAAa;AACpC,WAAW,mBAAO,CAAC,6CAAQ;AAC3B,aAAa,mBAAO,CAAC,mDAAW;AAChC,YAAY,mBAAO,CAAC,iDAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACZA,cAAc,mBAAO,CAAC,mDAAW;AACjC,YAAY,mBAAO,CAAC,iDAAU;AAC9B,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,yDAAW,mBAAO,CAAC,+CAAS;;AAE5B;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;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AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,gBAAgB,mBAAO,CAAC,yDAAc;;AAEtC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;;;;;;ACVA,eAAe,mBAAO,CAAC,uDAAa;AACpC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,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,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClFA,aAAa,mBAAO,CAAC,mDAAW;AAChC,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,SAAS,mBAAO,CAAC,yCAAM;AACvB,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,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;;;;;;;;;;;;AC/GA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,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;;;;;;;;;;;;ACxFA,cAAc,mBAAO,CAAC,mDAAW;AACjC,eAAe,mBAAO,CAAC,uDAAa;AACpC,kBAAkB,mBAAO,CAAC,6DAAgB;;AAE1C;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA;AACA;;AAEA;;;;;;;;;;;;;ACHA,qBAAqB,mBAAO,CAAC,mEAAmB;AAChD,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,WAAW,mBAAO,CAAC,6CAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;;;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AAsB,mBAAO,CAAC,qEAAoB;;AAElD;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,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5EA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,kBAAkB,mBAAO,CAAC,6DAAgB;;AAE1C;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,aAAa,mBAAO,CAAC,mDAAW;AAChC,kBAAkB,mBAAO,CAAC,2DAAe;AACzC,cAAc,mBAAO,CAAC,mDAAW;;AAEjC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACxBA,SAAS,mBAAO,CAAC,yCAAM;AACvB,kBAAkB,mBAAO,CAAC,2DAAe;AACzC,cAAc,mBAAO,CAAC,qDAAY;AAClC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7BA,cAAc,mBAAO,CAAC,mDAAW;AACjC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACjBA,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACZA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClCA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;AClBA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,WAAW,mBAAO,CAAC,+CAAS;AAC5B,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,UAAU,mBAAO,CAAC,6CAAQ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,cAAc,mBAAO,CAAC,mDAAW;;AAEjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,gBAAgB,mBAAO,CAAC,yDAAc;;AAEtC;AACA;;AAEA;;;;;;;;;;;;ACLA,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;;AAEA;;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,+DAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;;;;;;;AC7BA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA,YAAY,mBAAO,CAAC,iDAAU;;AAE9B;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnCA,cAAc,mBAAO,CAAC,qDAAY;AAClC,gBAAgB,mBAAO,CAAC,yDAAc;;AAEtC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACpBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;;;;;ACjBA,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;;AAEA;;;;;;;;;;;;ACbA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA,gBAAgB,mBAAO,CAAC,yDAAc;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,UAAU,mBAAO,CAAC,6CAAQ;AAC1B,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,qBAAqB,mBAAO,CAAC,mEAAmB;;AAEhD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,oBAAoB,mBAAO,CAAC,iEAAkB;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;;;;;;;;;;;AC1BA,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,EAAE;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACvCA,gBAAgB,mBAAO,CAAC,yDAAc;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA;AACA,mBAAmB,SAAS,GAAG,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA,wCAAwC,SAAS;AACjD;AACA;AACA,WAAW,SAAS,GAAG,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,eAAe,mBAAO,CAAC,qDAAY;AACnC,UAAU,mBAAO,CAAC,2CAAO;AACzB,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;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,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,UAAU,mBAAO,CAAC,2CAAO;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA,kBAAkB,mBAAO,CAAC,6DAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChCA,cAAc,mBAAO,CAAC,qDAAY;AAClC,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB,OAAO,SAAS;AACjC,yBAAyB,gBAAgB,SAAS,GAAG;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClCA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA,0BAA0B,gBAAgB,SAAS,GAAG;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA,8CAA8C,kBAAkB,EAAE;AAClE;AACA;AACA;;AAEA;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,iBAAiB,mBAAO,CAAC,yDAAc;AACvC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChCA,kBAAkB,mBAAO,CAAC,2DAAe;AACzC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChCA,yDAAW,mBAAO,CAAC,+CAAS;AAC5B,gBAAgB,mBAAO,CAAC,uDAAa;;AAErC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACrCA,kBAAkB,mBAAO,CAAC,6DAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClCA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClCA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACxBA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7DA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC1BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,cAAc,mBAAO,CAAC,mDAAW;AACjC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA,uBAAuB,mBAAO,CAAC,uEAAqB;AACpD,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC1BA,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,eAAe,mBAAO,CAAC,uDAAa;AACpC,kBAAkB,mBAAO,CAAC,2DAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,kBAAkB,mBAAO,CAAC,2DAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,eAAe,mBAAO,CAAC,uDAAa;AACpC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,cAAc,mBAAO,CAAC,qDAAY;AAClC,cAAc,mBAAO,CAAC,mDAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;AACA;AACA,MAAM,mBAAmB;AACzB,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpDA,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;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;;AAEA;;;;;;;;;;;;ACxEA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,qBAAqB,mBAAO,CAAC,mEAAmB;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB,aAAa,OAAO;AACpB;AACA;AACA;AACA,YAAY,SAAS,GAAG,SAAS;AACjC;AACA;AACA;AACA,YAAY,SAAS,GAAG,SAAS;AACjC;AACA;AACA;AACA,UAAU,QAAQ,iBAAiB,GAAG,iBAAiB;AACvD;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChBA,WAAW,mBAAO,CAAC,+CAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA,eAAe,mBAAO,CAAC,uDAAa;AACpC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;AACpC,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,eAAe,mBAAO,CAAC,uDAAa;AACpC,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,aAAa,OAAO;AACpB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;ACxDA,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,uBAAuB,mBAAO,CAAC,uEAAqB;AACpD,YAAY,mBAAO,CAAC,iDAAU;AAC9B,YAAY,mBAAO,CAAC,iDAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA,MAAM,OAAO,SAAS,EAAE;AACxB,MAAM,OAAO,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC/BA,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA,iBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,aAAa,mBAAO,CAAC,mDAAW;AAChC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,aAAa,mBAAO,CAAC,mDAAW;AAChC,kBAAkB,mBAAO,CAAC,2DAAe;AACzC,eAAe,mBAAO,CAAC,qDAAY;AACnC,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,aAAa,mBAAO,CAAC,iDAAU;;AAE/B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,MAAM;AACnB;AACA;AACA,cAAc,iBAAiB;AAC/B;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;;;;;;;;;;;;ACzDA,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;;;;;;;;;;;ACjEA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,aAAa,mBAAO,CAAC,iDAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,UAAU;AACV;AACA,aAAa,SAAS;AACtB,UAAU;AACV;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC/BA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC3BA,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS,GAAG,SAAS,GAAG,SAAS;AAC/C,WAAW,SAAS,GAAG,SAAS;AAChC;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,WAAW,mBAAO,CAAC,6CAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACjCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;ACjBY;;AAEb;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,+DAAa;;AAEtC,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,2B;;;;;;;;;;;;ACtDa;;AAEb;AACA;AACA,CAAC;;AAED,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,oBAAoB,mBAAO,CAAC,0DAAc;;AAE1C;;AAEA,4BAA4B,mBAAO,CAAC,2GAAyB;;AAE7D;;AAEA,6BAA6B,mBAAO,CAAC,qGAAyB;;AAE9D,iBAAiB,mBAAO,CAAC,+DAAa;;AAEtC,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,OAAO;;AAEP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,wBAAwB;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,iCAAiC;AACjC;AACA,WAAW;;AAEX;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;;AAEL;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA,C;;;;;;;;;;;;AC/Ja;;AAEb;AACA;AACA,CAAC;;AAED,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;AACA;AACA;AACA;;AAEA;AACA,uBAAuB;AACvB,mBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACtCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,iBAAiB,mBAAO,CAAC,6DAAY;;AAErC;;AAEA,gBAAgB,mBAAO,CAAC,2DAAW;;AAEnC;;AAEA,eAAe,mBAAO,CAAC,yDAAU;;AAEjC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,kC;;;;;;;;;;;ACvBA;AACA;AACA,6DAA6D,cAAc,UAAU,SAAS,cAAc,cAAc,sBAAsB,mBAAmB,4BAA4B,IAAI,cAAc,OAAO,mJAAmJ,GAAG,2CAA2C,SAAS,gBAAgB,aAAa,mBAAmB,iBAAiB;AACne,iCAAiC,2CAA2C,GAAG,yBAAyB,yBAAyB,6BAA6B,gBAAgB,eAAe,gBAAgB,+CAA+C,oBAAoB,YAAY,+BAA+B,IAAI,wDAAwD,2FAA2F,YAAY,2BAA2B;AACzf,gDAAgD,GAAG,oBAAoB,sBAAsB,iBAAiB,cAAc,cAAc,UAAU,4DAA4D,sHAAsH,mFAAmF,2CAA2C,eAAe,gBAAgB;AACne,sDAAsD,SAAS,sGAAsG,2CAA2C,8FAA8F,wEAAwE,qGAAqG,gBAAgB,QAAQ;AACnf,yEAAyE,0FAA0F,gBAAgB,QAAQ,SAAS,gBAAgB,MAAM,OAAO,SAAS,gBAAgB,SAAS,qBAAqB,OAAO,QAAQ,gGAAgG,sCAAsC,SAAS;AACtb,YAAY,SAAS,IAAI,cAAc,IAAI,oCAAoC,SAAS,IAAI,mBAAmB,SAAS,aAAa,gBAAgB,iBAAiB,WAAW,qBAAqB,SAAS,gBAAgB,YAAY,KAAK,WAAW,oBAAoB,SAAS,oBAAoB,KAAK,WAAW,qCAAqC,SAAS,aAAa,aAAa,sBAAsB,WAAW;AACra,gDAAgD,cAAc,WAAW,8BAA8B,0DAA0D,QAAQ,SAAS,GAAG,QAAQ,aAAa,EAAE,gBAAgB,wBAAwB,0BAA0B,WAAW,cAAc,SAAS,uBAAuB,UAAU,qBAAqB,cAAc,kCAAkC,cAAc,mDAAmD,SAAS;;;;;;;;;;;;;ACRhe;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACzFA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,CAAC;;AAED;;;;;;;;;;;;;ACnCA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;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,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;;;;;;ACvLtC;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,IAAI,IAAqC;AACzC,6BAA6B,mBAAO,CAAC,yFAA4B;AACjE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4GAA4G;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;;;;;;;;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,kDAAU;AAChC,aAAa,mBAAO,CAAC,4DAAe;;AAEpC,2BAA2B,mBAAO,CAAC,yFAA4B;AAC/D,qBAAqB,mBAAO,CAAC,qEAAkB;;AAE/C;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,6BAA6B;AAC7B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;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;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,KAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;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,qBAAqB,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;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,MAAM,KAAqC,4FAA4F,SAAM;AAC7I;AACA;;AAEA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,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,6BAA6B;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,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;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,OAAO;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;AACA;;AAEA;AACA;;;;;;;;;;;;AC9kBA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC,gBAAgB,mBAAO,CAAC,kDAAU;;AAElC;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,uFAA2B;AACtD,CAAC,MAAM,EAIN;;;;;;;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;;;;;ACXA,wDAAU,mBAAO,CAAC,8EAAiB;AACnC;AACA;AACA;AACA;AACA;;AAEA,cAAc,4BAA4B;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA,aAAa;AACb,qCAAqC,UAAU;AAC/C;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC1EA;AAAA;AAAA;AAAA,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvH;;AAEhC;AACA;AACA;;AAEA,sBAAsB,qDAAG;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,0EAAW,E;;;;;;;;;;;;ACtB1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqG;AAChE;AACwB;AAC7D;AACA,uEAAuE,aAAa;AACpF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,iCAAiC,uDAAM;AACvC;AACA,uBAAuB,sDAAI;AAC3B;AACA;AACA,yBAAyB,wDAAM;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,oBAAoB,4DAAU;AAC9B,uBAAuB,0DAAiB,SAAS,qCAAqC;AACtF,kCAAkC,sDAAI,CAAC,wDAAM;AAC7C;AACA,eAAe,qDAAY;AAC3B;AACA;AACe;AACf;AACA;AACA,IAAI,qDAAO;AACX;AACA;;AAEA,2BAA2B,gEAAe;AAC1C;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,0DAAiB,SAAS,oBAAoB;AACrE,4CAA4C,4BAA4B,GAAG,aAAa;AACxF;AACA,oDAAoD;AACpD,iCAAiC,qDAAY;AAC7C,iBAAiB,uDAAM;AACvB;AACA;AACA,2BAA2B,sDAAI,CAAC,wDAAM;AACtC,SAAS,OAAO,qDAAY;AAC5B,iBAAiB,uDAAM;AACvB;AACA;AACA,2BAA2B,sDAAI;AAC/B,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA,WAAW,wDAAe;AAC1B,C;;;;;;;;;;;;ACpIA;AAAA;AAAA;AAAA;AAAO;AACP,sCAAsC,wBAAwB,wBAAwB,6BAA6B;AACnH;AACO;AACP;AACA;AACe;AACf,uFAAuF;;AAEvF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL,C;;;;;;;;;;;;AC7BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE3M;AACR;AACO;AAC3C,gBAAgB,4DAAU;AAC1B;AACA,2BAA2B,gEAAuB;AACzD;AACA,sCAAsC,wBAAwB,wBAAwB,6BAA6B;AACnH;AACA;AACA,sCAAsC,wBAAwB,wBAAwB,0BAA0B;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,uCAAuC,yDAAgB;AACvD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iIAAiI;AACjI;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,SAAS;AAC/C;AACA;AACA;AACA,sBAAsB,oDAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;AClKA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;AACc,+EAAgB,E;;;;;;;;;;;;AC9C/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AAC0B;AACS;AAC0H;AACvH;AAChB;AACc;AACO;AACH;AACD;AACyB;AACV;AACtD,yBAAyB,uDAAc;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,8DAAa;AAC3B,sBAAsB,oDAAW;;AAEjC;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,oEAAkB;AACjD,oCAAoC,iDAAQ;AAC5C;AACA;AACA;AACA,iBAAiB;AACjB,qCAAqC,oDAAW;AAChD;AACA;AACA;AACA;AACA,wBAAwB,sDAAI,CAAC,sDAAI;AACjC;AACA;AACA,uCAAuC,oDAAW;AAClD,6CAA6C,oDAAW;AACxD,aAAa;AACb,8BAA8B,oDAAW;AACzC;AACA,SAAS;AACT,0BAA0B,oDAAW;AACrC;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC,qDAAY,gBAAgB,wEAAa;AAC/E,0BAA0B,oDAAW;AACrC,eAAe,oDAAW;AAC1B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,6EAA6E,qDAAY;AACzF,iCAAiC,oDAAW;AAC5C,4BAA4B,oDAAW;AACvC;;AAEA;AACA,qCAAqC,qDAAY;AACjD,0BAA0B,oDAAW;AACrC,4BAA4B,oDAAW;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAA0F;AAC1F;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,qDAAG,CAAC,mEAA0B;AACjE,yBAAyB,sDAAI;AAC7B;AACA,qCAAqC,2DAAkB;AACvD;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,6BAA6B,sDAAI;AACjC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B,oDAAW,8BAA8B,gCAAgC;AACrG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,oDAAW,uBAAuB,2CAA2C;AAC1I;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC,oDAAW;AAChD,qBAAqB;AACrB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,oDAAW;AACpD,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA,2BAA2B,8BAA8B;AACzD;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qEAAoB;AACvC;AACA,eAAe,qEAAoB;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;;AAEA,2FAA2F,cAAc;AACzG;AACA;;AAEA,uBAAuB,oBAAoB;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,8EAA8E,eAAe;AAC7F;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,oBAAoB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,iDAAU,kBAAkB;AAC9C,eAAe,4CAAK;AACpB;AACA,aAAa,gEAAgE;AAC7E,YAAY,4CAAK,yBAAyB,iIAAiI;AAC3K,YAAY,4CAAK;AACjB;AACA,iBAAiB;AACjB;AACA,qBAAqB;AACrB;AACA,qBAAqB,EAAE;AACvB,gBAAgB,4CAAK,eAAe,+CAAM,aAAa,6BAA6B,8aAA8a;AAClgB,2BAA2B,4CAAK,yBAAyB;AACzD;AACA,qBAAqB,+BAA+B;AACpD;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP,qBAAqB,0DAAU;AAC/B,qBAAqB,+DAAO;AAC5B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,oBAAoB,iDAAS;AAC7B,oBAAoB,iDAAS;AAC7B;AACe,yEAAU,E;;;;;;;;;;;;;AClgBzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AAC0B;AACM;AACQ;AACxC;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT,2BAA2B,qDAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,4CAAK;AACrB,uBAAuB,4CAAK;AAC5B;AACA,mBAAmB,4CAAK;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,eAAe,4CAAK;AACpB;AACA,aAAa,oCAAoC;AACjD;AACA,+BAA+B,4CAAK;AACpC,uBAAuB,4CAAK;AAC5B,oBAAoB,oDAAW;AAC/B,qBAAqB,wBAAwB;AAC7C;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEQ,sEAAO,E;;;;;;;;;;;;AC7EtB;AAAA;AAAA;AAAA,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAEld;;AAE1B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe,4CAAK;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEQ,0EAAW,E;;;;;;;;;;;;AC5B1B;AAAA;AAAA;AAAgC;AAChC;AACA;AACO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,mBAAmB,gDAAO;AAC1B;AACA,C;;;;;;;;;;;;AC3BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsC;AACtC,cAAc,mDAAU;AACxB,cAAc,mDAAU;;AAExB,oBAAoB,mDAAU;AAC9B;AACA,gBAAgB,mDAAU;AAC1B;AACA;AACA;AACA;AACuD;AACxC,+EAAgB,E;;;;;;;;;;;;ACZ/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA,8CAA8C,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,sFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,4FAA4F,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,GAAG;AACH;;;;;;;;;;;;;ACvOa;;AAEb,IAAI,KAAqC,EAAE,EAE1C;AACD,mBAAmB,mBAAO,CAAC,0FAA+B;AAC1D;;;;;;;;;;;;;ACNa;;AAEb;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,gBAAgB,mBAAO,CAAC,4BAAW;;AAEnC,qBAAqB,mBAAO,CAAC,oEAAe;;AAE5C,cAAc,mBAAO,CAAC,gEAAiB;;AAEvC;;AAEA,eAAe,mBAAO,CAAC,gEAAiB;;AAExC;;AAEA,oBAAoB,mBAAO,CAAC,sFAAsB;;AAElD;;AAEA,kBAAkB,mBAAO,CAAC,kFAAoB;;AAE9C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;;AAGA;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,E;;;;;;;;;;;;AC5Na;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACjBa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,0BAA0B,mBAAO,CAAC,4FAAsB;;AAExD;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,C;;;;;;;;;;;;AC5Ca;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,+B;;;;;;;;;;;;ACvCA;AAAA;AAAA;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,GAAG;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,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;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;;AAEoB;;;;;;;;;;;;;AC7JP;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,oCAAoC,mBAAO,CAAC,oBAAO;;AAEnD,yCAAyC,mBAAO,CAAC,sDAAY;;AAE7D,wBAAwB,mBAAO,CAAC,0FAA0B;;AAE1D,sCAAsC,uCAAuC,kBAAkB;;AAE/F,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V,qBAAqB,gDAAgD,gBAA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AY;;AAE/M;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA,wFAAwF,iBAAiB;;AAEzG;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA,uCAAuC;;;AAGvC;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;AACA,OAAO,EAAE;;AAET;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO,eAAe;;AAEtB;;AAEA,+DAA+D,0BAA0B;AACzF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA,wFAAwF,iBAAiB;;AAEzG;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;;AAGA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO,iBAAiB;;AAExB;AACA,2DAA2D;AAC3D,OAAO,EAAE;;;AAGT;AACA;AACA,OAAO;;AAEP;AACA;AACA,KAAK;;AAEL;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,OAAO;AACP;AACA,6BAA6B;AAC7B;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,4EAA4E,iBAAiB;AAC7F;AACA,SAAS;AACT,8EAA8E,iBAAiB;AAC/F;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;;AAET,uBAAuB,eAAe;AACtC;AACA;AACA;;AAEA,yBAAyB,kBAAkB;AAC3C;AACA;;AAEA,yBAAyB,gCAAgC;AACzD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA,iCAAiC,iBAAiB;AAClD;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA,iCAAiC,iBAAiB;;AAElD,gDAAgD,6EAA6E;AAC7H;AACA;AACA;AACA;AACA;;AAEA,qDAAqD,sDAAsD;AAC3G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;;AAEhD;;AAEA;AACA;AACA,OAAO,iBAAiB;AACxB;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf,aAAa;;AAEb;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA,iCAAiC,iBAAiB;;AAElD;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,sEAAsE,iBAAiB;AACvF;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,qEAAqE,iBAAiB;AACtF;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,OAAO;AACP,6DAA6D,iBAAiB;AAC9E;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA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A;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,EAAE;;;AAGF;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,EAAE;;;AAGF;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,EAAE;;;AAGF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,oCAAoC;AACpC,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,4DAA4D;AAC5D;;AAEA,iDAAiD;AACjD;AACA,KAAK;AACL,6CAA6C;AAC7C;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA,4EAA4E;AAC5E;AACA,KAAK;;AAEL;AACA;AACA;AACA,gDAAgD;AAChD;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,uDAAuD;AACvD;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uDAAuD;AACvD;AACA,OAAO;;AAEP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;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;;AAEA;AACA;AACA;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,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B;AAC1B;AACA;AACA,4CAA4C;AAC5C;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uEAAuE;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,6DAA6D;AAC7D;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,yCAAyC;AACzC;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yBAAyB,0BAA0B;AACnD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,8B;;;;;;;;;;;ACj6BA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;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;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;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;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;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;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE,KAA0B,oBAAoB,SAAE;AAClD;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACrtBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,EAAE;AACjB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA,iCAAiC,YAAY;AAC7C,mDAAmD,gBAAgB;AACnE;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,gCAAgC,6BAA6B,EAAE,aAAa;AAC5G,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;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,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,qDAAqD,mCAAmC,EAAE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA,6CAA6C,gBAAgB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B,WAAW,UAAU;AACrB,aAAa;AACb;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,6CAA6C,yBAAyB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,kCAAkC,iEAAiE;AACnG;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,8CAA8C;AAC9C,CAAC;AACD;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,2CAA2C;AAC7E;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;AACA,eAAe,yBAAyB;AACxC;AACA,eAAe,eAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAEc,oEAAK,EAAC;;;;;;;;;;;;;;AC/5BrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqD;AACc;AACN;AAC4B;AAClC;AAC7B;AACU;AACpC;;AAEA;AACA,IAAI,qEAAS;;AAEb;AACA,QAAQ,2EAAe;;AAEvB,oBAAoB,sFAA0B;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,IAAI,wEAAY;AAChB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,4CAAK;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,oEAAQ,GAAG;AAC3C;AACA,gCAAgC,iDAAU;AAC1C;AACA,uBAAuB,4CAAK,qBAAqB,oEAAQ,EAAE;AAC3D,kCAAkC;AAClC;AACA,mBAAmB,4CAAK;AACxB;AACA,KAAK;;AAEL;AACA,CAAC,CAAC,4CAAK;;AAEQ,4EAAa,EAAC;;AAE7B;AACA;AACA,E;;;;;;;;;;;;ACrHA;AAAA;AAAA;AAAA;;;;;;;;;;;;ACAA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA,kBAAkB;AAClB;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;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0CAA0C,sBAAsB,EAAE;AAClE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;;;;;;;;;;;ACzLD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB,oBAAoB;AACvC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;AC7CA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA,8B;;;;;;;;;;;ACRA,eAAe,iBAAiB;;AAEhC;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,oCAAoC;AACpC,+CAA+C;AAC/C;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;;;;;;;;;;;ACnCA;AACA;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CA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA,0CAA0C;AAC1C;;AAEA;AACA;;AAEA;;AAEA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA,mCAAmC,mBAAmB;AACtD;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;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AAEA,kCAAkC;AAClC;;AAEA,gCAAgC,IAAI,EAAE;AACtC;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,IAAI;AAC7B;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,0BAA0B;AAC1B;AACA,+BAA+B;AAC/B;;AAEA;AACA;;AAEA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4BAA4B,IAAI;AAChC;;AAEA;AACA;;AAEA;AACA,wBAAwB,IAAI,6BAA6B;AACzD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA,wDAAwD;AACxD;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,sBAAsB;AACtB;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;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,YAAY,IAA2C;AACvD,YAAY,mCAAO;AACnB;AACA,aAAa;AAAA,oGAAC;AACd,SAAS,MAAM,EAGN;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;;;;;;;;;;;;;AC/3BD;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,aAAoB;;AAElC;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7DA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;ACrBA,kD;;;;;;;;;;;ACAA,oD;;;;;;;;;;;ACAA,mD;;;;;;;;;;;ACAA,uD","file":"choerodon-ui-with-locales.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"mobx\"), require(\"moment\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"mobx\", \"moment\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"choerodon-ui-with-locales\"] = factory(require(\"mobx\"), require(\"moment\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"choerodon-ui-with-locales\"] = factory(root[\"mobx\"], root[\"moment\"], root[\"React\"], root[\"ReactDOM\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE_mobx__, __WEBPACK_EXTERNAL_MODULE_moment__, __WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_react_dom__) {\nreturn "," \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, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./index-with-locales.js\");\n","var map = {\n\t\"./locale-provider/ar_EG.tsx\": \"./components/locale-provider/ar_EG.tsx\",\n\t\"./locale-provider/bg_BG.tsx\": \"./components/locale-provider/bg_BG.tsx\",\n\t\"./locale-provider/ca_ES.tsx\": \"./components/locale-provider/ca_ES.tsx\",\n\t\"./locale-provider/cs_CZ.tsx\": \"./components/locale-provider/cs_CZ.tsx\",\n\t\"./locale-provider/de_DE.tsx\": \"./components/locale-provider/de_DE.tsx\",\n\t\"./locale-provider/el_GR.tsx\": \"./components/locale-provider/el_GR.tsx\",\n\t\"./locale-provider/en_GB.tsx\": \"./components/locale-provider/en_GB.tsx\",\n\t\"./locale-provider/en_US.tsx\": \"./components/locale-provider/en_US.tsx\",\n\t\"./locale-provider/es_ES.tsx\": \"./components/locale-provider/es_ES.tsx\",\n\t\"./locale-provider/et_EE.tsx\": \"./components/locale-provider/et_EE.tsx\",\n\t\"./locale-provider/fa_IR.tsx\": \"./components/locale-provider/fa_IR.tsx\",\n\t\"./locale-provider/fi_FI.tsx\": \"./components/locale-provider/fi_FI.tsx\",\n\t\"./locale-provider/fr_BE.tsx\": \"./components/locale-provider/fr_BE.tsx\",\n\t\"./locale-provider/fr_FR.tsx\": \"./components/locale-provider/fr_FR.tsx\",\n\t\"./locale-provider/is_IS.tsx\": \"./components/locale-provider/is_IS.tsx\",\n\t\"./locale-provider/it_IT.tsx\": \"./components/locale-provider/it_IT.tsx\",\n\t\"./locale-provider/ja_JP.tsx\": \"./components/locale-provider/ja_JP.tsx\",\n\t\"./locale-provider/ko_KR.tsx\": \"./components/locale-provider/ko_KR.tsx\",\n\t\"./locale-provider/ku_IQ.tsx\": \"./components/locale-provider/ku_IQ.tsx\",\n\t\"./locale-provider/nb_NO.tsx\": \"./components/locale-provider/nb_NO.tsx\",\n\t\"./locale-provider/nl_BE.tsx\": \"./components/locale-provider/nl_BE.tsx\",\n\t\"./locale-provider/nl_NL.tsx\": \"./components/locale-provider/nl_NL.tsx\",\n\t\"./locale-provider/pl_PL.tsx\": \"./components/locale-provider/pl_PL.tsx\",\n\t\"./locale-provider/pt_BR.tsx\": \"./components/locale-provider/pt_BR.tsx\",\n\t\"./locale-provider/pt_PT.tsx\": \"./components/locale-provider/pt_PT.tsx\",\n\t\"./locale-provider/ru_RU.tsx\": \"./components/locale-provider/ru_RU.tsx\",\n\t\"./locale-provider/sk_SK.tsx\": \"./components/locale-provider/sk_SK.tsx\",\n\t\"./locale-provider/sl_SI.tsx\": \"./components/locale-provider/sl_SI.tsx\",\n\t\"./locale-provider/sr_RS.tsx\": \"./components/locale-provider/sr_RS.tsx\",\n\t\"./locale-provider/sv_SE.tsx\": \"./components/locale-provider/sv_SE.tsx\",\n\t\"./locale-provider/th_TH.tsx\": \"./components/locale-provider/th_TH.tsx\",\n\t\"./locale-provider/tr_TR.tsx\": \"./components/locale-provider/tr_TR.tsx\",\n\t\"./locale-provider/uk_UA.tsx\": \"./components/locale-provider/uk_UA.tsx\",\n\t\"./locale-provider/vi_VN.tsx\": \"./components/locale-provider/vi_VN.tsx\",\n\t\"./locale-provider/zh_CN.tsx\": \"./components/locale-provider/zh_CN.tsx\",\n\t\"./locale-provider/zh_TW.tsx\": \"./components/locale-provider/zh_TW.tsx\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./components sync recursive ^\\\\.\\\\/locale-provider\\\\/.+_.+\\\\.tsx$\";","import isString from 'lodash/isString';\r\nexport default (e, defaultMessage) => {\r\n if (isString(e)) {\r\n defaultMessage = e;\r\n }\r\n else if (e instanceof Error) {\r\n defaultMessage = e.message;\r\n }\r\n else if (e && e.message) {\r\n defaultMessage = e.message;\r\n }\r\n if (typeof console !== 'undefined') {\r\n console.error(e);\r\n }\r\n return defaultMessage;\r\n};\r\n","export default function normalizeLanguage(language) {\r\n return language && language.replace('_', '-').toLowerCase();\r\n}\r\n","import message from '../message';\r\nimport exception from '../_util/exception';\r\nimport { $l } from '../locale-context';\r\nconst defaultFeedback = {\r\n loadSuccess(_result) { },\r\n loadFailed(error) {\r\n message.error(exception(error, $l('DataSet', 'query_failure')));\r\n },\r\n submitSuccess(_result) {\r\n message.success($l('DataSet', 'submit_success'));\r\n },\r\n submitFailed(error) {\r\n message.error(exception(error, $l('DataSet', 'submit_failure')));\r\n },\r\n};\r\nexport default defaultFeedback;\r\n","export var DataSetEvents;\r\n(function (DataSetEvents) {\r\n DataSetEvents[\"query\"] = \"query\";\r\n DataSetEvents[\"beforeLoad\"] = \"beforeLoad\";\r\n DataSetEvents[\"load\"] = \"load\";\r\n DataSetEvents[\"loadFailed\"] = \"loadFailed\";\r\n DataSetEvents[\"submit\"] = \"submit\";\r\n DataSetEvents[\"submitSuccess\"] = \"submitSuccess\";\r\n DataSetEvents[\"submitFailed\"] = \"submitFailed\";\r\n DataSetEvents[\"select\"] = \"select\";\r\n DataSetEvents[\"unSelect\"] = \"unSelect\";\r\n DataSetEvents[\"selectAll\"] = \"selectAll\";\r\n DataSetEvents[\"unSelectAll\"] = \"unSelectAll\";\r\n DataSetEvents[\"indexChange\"] = \"indexChange\";\r\n DataSetEvents[\"update\"] = \"update\";\r\n DataSetEvents[\"fieldChange\"] = \"fieldChange\";\r\n DataSetEvents[\"export\"] = \"export\";\r\n DataSetEvents[\"create\"] = \"create\";\r\n DataSetEvents[\"beforeDelete\"] = \"beforeDelete\";\r\n DataSetEvents[\"reset\"] = \"reset\";\r\n})(DataSetEvents || (DataSetEvents = {}));\r\nexport var DataSetSelection;\r\n(function (DataSetSelection) {\r\n DataSetSelection[\"single\"] = \"single\";\r\n DataSetSelection[\"multiple\"] = \"multiple\";\r\n})(DataSetSelection || (DataSetSelection = {}));\r\nexport var DataSetStatus;\r\n(function (DataSetStatus) {\r\n DataSetStatus[\"loading\"] = \"loading\";\r\n DataSetStatus[\"submitting\"] = \"submitting\";\r\n DataSetStatus[\"ready\"] = \"ready\";\r\n})(DataSetStatus || (DataSetStatus = {}));\r\nexport var RecordStatus;\r\n(function (RecordStatus) {\r\n RecordStatus[\"delete\"] = \"delete\";\r\n RecordStatus[\"update\"] = \"update\";\r\n RecordStatus[\"add\"] = \"add\";\r\n RecordStatus[\"sync\"] = \"sync\";\r\n})(RecordStatus || (RecordStatus = {}));\r\nexport var FieldType;\r\n(function (FieldType) {\r\n FieldType[\"auto\"] = \"auto\";\r\n FieldType[\"boolean\"] = \"boolean\";\r\n FieldType[\"number\"] = \"number\";\r\n FieldType[\"currency\"] = \"currency\";\r\n FieldType[\"string\"] = \"string\";\r\n FieldType[\"date\"] = \"date\";\r\n FieldType[\"dateTime\"] = \"dateTime\";\r\n FieldType[\"week\"] = \"week\";\r\n FieldType[\"month\"] = \"month\";\r\n FieldType[\"year\"] = \"year\";\r\n FieldType[\"time\"] = \"time\";\r\n FieldType[\"object\"] = \"object\";\r\n FieldType[\"intl\"] = \"intl\";\r\n FieldType[\"email\"] = \"email\";\r\n FieldType[\"url\"] = \"url\";\r\n FieldType[\"color\"] = \"color\";\r\n FieldType[\"reactNode\"] = \"reactNode\";\r\n})(FieldType || (FieldType = {}));\r\nexport var SortOrder;\r\n(function (SortOrder) {\r\n SortOrder[\"asc\"] = \"asc\";\r\n SortOrder[\"desc\"] = \"desc\";\r\n})(SortOrder || (SortOrder = {}));\r\nexport var BooleanValue;\r\n(function (BooleanValue) {\r\n BooleanValue[\"trueValue\"] = \"trueValue\";\r\n BooleanValue[\"falseValue\"] = \"falseValue\";\r\n})(BooleanValue || (BooleanValue = {}));\r\nexport var FieldIgnore;\r\n(function (FieldIgnore) {\r\n FieldIgnore[\"always\"] = \"always\";\r\n FieldIgnore[\"clean\"] = \"clean\";\r\n FieldIgnore[\"never\"] = \"never\";\r\n})(FieldIgnore || (FieldIgnore = {}));\r\nexport var FieldTrim;\r\n(function (FieldTrim) {\r\n FieldTrim[\"both\"] = \"both\";\r\n FieldTrim[\"left\"] = \"left\";\r\n FieldTrim[\"right\"] = \"right\";\r\n FieldTrim[\"none\"] = \"none\";\r\n})(FieldTrim || (FieldTrim = {}));\r\nexport var FieldFormat;\r\n(function (FieldFormat) {\r\n FieldFormat[\"uppercase\"] = \"uppercase\";\r\n FieldFormat[\"lowercase\"] = \"lowercase\";\r\n FieldFormat[\"capitalize\"] = \"capitalize\";\r\n})(FieldFormat || (FieldFormat = {}));\r\n","export var LabelAlign;\r\n(function (LabelAlign) {\r\n LabelAlign[\"left\"] = \"left\";\r\n LabelAlign[\"center\"] = \"center\";\r\n LabelAlign[\"right\"] = \"right\";\r\n})(LabelAlign || (LabelAlign = {}));\r\nexport var LabelLayout;\r\n(function (LabelLayout) {\r\n LabelLayout[\"horizontal\"] = \"horizontal\";\r\n LabelLayout[\"vertical\"] = \"vertical\";\r\n LabelLayout[\"placeholder\"] = \"placeholder\";\r\n LabelLayout[\"float\"] = \"float\";\r\n LabelLayout[\"none\"] = \"none\";\r\n})(LabelLayout || (LabelLayout = {}));\r\nexport var ResponsiveKeys;\r\n(function (ResponsiveKeys) {\r\n ResponsiveKeys[\"xs\"] = \"xs\";\r\n ResponsiveKeys[\"sm\"] = \"sm\";\r\n ResponsiveKeys[\"md\"] = \"md\";\r\n ResponsiveKeys[\"lg\"] = \"lg\";\r\n ResponsiveKeys[\"xl\"] = \"xl\";\r\n ResponsiveKeys[\"xxl\"] = \"xxl\";\r\n})(ResponsiveKeys || (ResponsiveKeys = {}));\r\n","import { createElement, Fragment, isValidElement } from 'react';\r\nimport format from 'string-template';\r\nimport isString from 'lodash/isString';\r\nimport flatMap from 'lodash/flatMap';\r\nexport default function formatReactTemplate(template, map) {\r\n let result = [template];\r\n Object.keys(map).forEach(key => {\r\n const node = map[key];\r\n if (node) {\r\n result = flatMap(result, text => {\r\n if (isString(text)) {\r\n let stringText = text;\r\n if (isValidElement(node)) {\r\n const placeholder = `{${key}}`;\r\n const { length } = placeholder;\r\n const textArr = [];\r\n let index = stringText.indexOf(placeholder);\r\n while (index > -1) {\r\n if (index > 0) {\r\n textArr.push(stringText.slice(0, index));\r\n }\r\n textArr.push(node);\r\n stringText = stringText.slice(index + length);\r\n index = stringText.indexOf(placeholder);\r\n }\r\n if (stringText) {\r\n textArr.push(stringText);\r\n }\r\n return textArr;\r\n }\r\n return format(text, map);\r\n }\r\n return text;\r\n });\r\n }\r\n });\r\n if (result.every(isString)) {\r\n return result.join('');\r\n }\r\n return createElement(Fragment, {}, ...result);\r\n}\r\n","import * as tslib_1 from \"tslib\";\r\nimport { action, get, observable, runInAction } from 'mobx';\r\nimport moment from 'moment';\r\nimport defaultLocale from './locale';\r\nimport defaultSupports from './supports';\r\nimport normalizeLanguage from '../_util/normalizeLanguage';\r\nfunction setMomentLocale(locale) {\r\n moment.locale(normalizeLanguage(locale ? locale.lang : defaultLocale.lang));\r\n}\r\nexport class LocaleContext {\r\n constructor() {\r\n runInAction(() => {\r\n this.locale = defaultLocale;\r\n this.supports = defaultSupports;\r\n });\r\n }\r\n setLocale(locale) {\r\n setMomentLocale(locale);\r\n this.locale = locale;\r\n }\r\n setSupports(supports) {\r\n this.supports = supports;\r\n }\r\n get(component, key) {\r\n const cmp = get(this.locale, component);\r\n return (cmp && get(cmp, key)) || `${component}.${key}`;\r\n }\r\n}\r\ntslib_1.__decorate([\r\n observable\r\n], LocaleContext.prototype, \"locale\", void 0);\r\ntslib_1.__decorate([\r\n observable\r\n], LocaleContext.prototype, \"supports\", void 0);\r\ntslib_1.__decorate([\r\n action\r\n], LocaleContext.prototype, \"setLocale\", null);\r\nexport default new LocaleContext();\r\n","/* eslint-disable camelcase */\r\nexport var Lang;\r\n(function (Lang) {\r\n Lang[\"zh_CN\"] = \"zh_CN\";\r\n Lang[\"en_GB\"] = \"en_GB\";\r\n Lang[\"en_US\"] = \"en_US\";\r\n Lang[\"ja_JP\"] = \"ja_JP\";\r\n})(Lang || (Lang = {}));\r\n","import localeContext from './LocaleContext';\r\nimport formatReactTemplate from '../formatter/formatReactTemplate';\r\nexport function $l(component, key, injectionOptions) {\r\n const locale = localeContext.get(component, key);\r\n if (injectionOptions) {\r\n return formatReactTemplate(locale, injectionOptions);\r\n }\r\n return locale;\r\n}\r\nexport default localeContext;\r\n","import zh_CN from './zh_CN';\r\nexport default zh_CN;\r\n","export default {\r\n zh_CN: '简体中文',\r\n en_GB: 'English',\r\n en_US: 'English(US)',\r\n};\r\n","import { Lang } from './enum';\r\nconst locale = {\r\n lang: Lang.zh_CN,\r\n Table: {\r\n show_cached_seletion: '显示所有已选记录',\r\n hide_cached_seletion: '隐藏所有已选记录',\r\n edit_button: '编辑',\r\n create_button: '新增',\r\n save_button: '保存',\r\n cancel_button: '取消',\r\n delete_button: '删除',\r\n remove_button: '移除',\r\n reset_button: '重置',\r\n query_button: '查询',\r\n expand_button: '展开',\r\n collapse_button: '合并',\r\n export_button: '导出',\r\n advanced_search: '高级搜索',\r\n dirty_info: '显示条件已更改',\r\n restore: '还原',\r\n empty_data: '暂无数据',\r\n choose_export_columns: '请选择要导出的列',\r\n column_name: '列名',\r\n filter_bar_placeholder: '过滤表',\r\n advanced_query: '高级查询',\r\n advanced_query_conditions: '高级查询条件',\r\n },\r\n Pagination: {\r\n records_per_page: '每页行数:',\r\n },\r\n Upload: {\r\n file_selection: '选择文件',\r\n click_to_upload: '点击上传',\r\n upload_success: '上传成功',\r\n upload_failure: '上传失败',\r\n no_file: '没有文件',\r\n upload_path_unset: '未设置上传路径',\r\n not_acceptable_prompt: '含有上传类型不匹配的文件,期待:',\r\n file_list_max_length: '文件数量超过最大限制',\r\n },\r\n Modal: {\r\n ok: '确定',\r\n cancel: '取消',\r\n },\r\n DataSet: {\r\n unsaved_data_confirm: '有未保存的数据,是否继续?',\r\n invalid_query_dataset: '查询条件数集不通过',\r\n delete_selected_row_confirm: '确认删除选中行?',\r\n delete_all_row_confirm: '确认删除所有行?',\r\n query_failure: '查询失败',\r\n submit_success: '提交成功',\r\n submit_failure: '提交失败',\r\n cannot_add_record_when_head_no_current: '头未选中记录,不能新建行记录',\r\n },\r\n DatePicker: {\r\n value_missing_no_label: '请选择日期。',\r\n value_missing: '请选择{label}。',\r\n type_mismatch: '请输入有效的日期。',\r\n ok: '确定',\r\n today: '今天',\r\n now: '此刻',\r\n this_week: '本周',\r\n },\r\n EmailField: {\r\n value_missing_no_label: '请输入邮箱地址',\r\n value_missing: '请输入{label}。',\r\n type_mismatch: '请输入有效的邮箱地址',\r\n },\r\n IntlField: {\r\n modal_title: '输入多语言信息',\r\n },\r\n NumberField: {\r\n value_missing_no_label: '请输入数字',\r\n value_missing: '请输入{label}。',\r\n },\r\n Radio: {\r\n value_missing_no_label: '请选择。',\r\n value_missing: '请选择{label}。',\r\n },\r\n SelectBox: {\r\n value_missing_no_label: '请选择。',\r\n value_missing: '请选择{label}。',\r\n },\r\n Select: {\r\n value_missing_no_label: '请选择。',\r\n value_missing: '请选择{label}。',\r\n no_matching_results: '无匹配结果。',\r\n select_all: '全选',\r\n unselect_all: '无',\r\n },\r\n Lov: {\r\n choose: '请选择',\r\n },\r\n Transfer: {\r\n items: '项',\r\n },\r\n UrlField: {\r\n value_missing_no_label: '请输入网址。',\r\n value_missing: '请输入{label}。',\r\n type_mismatch: '请输入有效的网址。',\r\n },\r\n ColorPicker: {\r\n value_missing_no_label: '请选择颜色',\r\n value_missing: '请选择{label}。',\r\n type_mismatch: '请选择有效的颜色。',\r\n },\r\n Validator: {\r\n bad_input: '请输入一个数字。',\r\n pattern_mismatch: '请输入有效的值。',\r\n range_overflow: '{label}必须小于或等于{max}。',\r\n range_underflow: '{label}必须大于或等于{min}。',\r\n step_mismatch: '请输入有效值。最接近的有效值为{0}。',\r\n step_mismatch_between: '请输入有效值。两个最接近的有效值分别为{0}和{1}。',\r\n too_long: '请将该内容减少到{maxLength}个或更少字符(目前您使用了{length}个字符)。',\r\n too_short: '请将该内容增加到{minLength}个或更多字符(目前您使用了{length}个字符)。',\r\n type_mismatch: '请输入与类型匹配的有效值。',\r\n value_missing_no_label: '请填写此字段。',\r\n value_missing: '请输入{label}。',\r\n unique: '该字段值重复,请重新填写。',\r\n unknown: '未知错误。',\r\n },\r\n Icon: {\r\n icons: '图标',\r\n whatsNew: '新增',\r\n direction: '方向性',\r\n suggestion: '提示建议性',\r\n edit: '编辑类',\r\n data: '数据类',\r\n other: '网站通用',\r\n series: '套系类',\r\n },\r\n};\r\nexport default locale;\r\n","import message from 'choerodon-ui/lib/message';\r\nexport default message;\r\n","export var ColumnLock;\r\n(function (ColumnLock) {\r\n ColumnLock[\"left\"] = \"left\";\r\n ColumnLock[\"right\"] = \"right\";\r\n})(ColumnLock || (ColumnLock = {}));\r\nexport var ColumnAlign;\r\n(function (ColumnAlign) {\r\n ColumnAlign[\"left\"] = \"left\";\r\n ColumnAlign[\"center\"] = \"center\";\r\n ColumnAlign[\"right\"] = \"right\";\r\n})(ColumnAlign || (ColumnAlign = {}));\r\nexport var ScrollPosition;\r\n(function (ScrollPosition) {\r\n ScrollPosition[\"left\"] = \"left\";\r\n ScrollPosition[\"right\"] = \"right\";\r\n ScrollPosition[\"both\"] = \"both\";\r\n ScrollPosition[\"middle\"] = \"middle\";\r\n})(ScrollPosition || (ScrollPosition = {}));\r\nexport var SelectionMode;\r\n(function (SelectionMode) {\r\n SelectionMode[\"rowbox\"] = \"rowbox\";\r\n SelectionMode[\"click\"] = \"click\";\r\n SelectionMode[\"none\"] = \"none\";\r\n SelectionMode[\"dblclick\"] = \"dblclick\";\r\n SelectionMode[\"mousedown\"] = \"mousedown\";\r\n})(SelectionMode || (SelectionMode = {}));\r\nexport var TableButtonType;\r\n(function (TableButtonType) {\r\n TableButtonType[\"add\"] = \"add\";\r\n TableButtonType[\"delete\"] = \"delete\";\r\n TableButtonType[\"remove\"] = \"remove\";\r\n TableButtonType[\"save\"] = \"save\";\r\n TableButtonType[\"query\"] = \"query\";\r\n TableButtonType[\"reset\"] = \"reset\";\r\n TableButtonType[\"expandAll\"] = \"expandAll\";\r\n TableButtonType[\"collapseAll\"] = \"collapseAll\";\r\n TableButtonType[\"export\"] = \"export\";\r\n})(TableButtonType || (TableButtonType = {}));\r\nexport var TableCommandType;\r\n(function (TableCommandType) {\r\n TableCommandType[\"edit\"] = \"edit\";\r\n TableCommandType[\"delete\"] = \"delete\";\r\n})(TableCommandType || (TableCommandType = {}));\r\nexport var TableMode;\r\n(function (TableMode) {\r\n TableMode[\"list\"] = \"list\";\r\n TableMode[\"tree\"] = \"tree\";\r\n})(TableMode || (TableMode = {}));\r\nexport var TableEditMode;\r\n(function (TableEditMode) {\r\n TableEditMode[\"cell\"] = \"cell\";\r\n TableEditMode[\"inline\"] = \"inline\";\r\n})(TableEditMode || (TableEditMode = {}));\r\nexport var TableQueryBarType;\r\n(function (TableQueryBarType) {\r\n TableQueryBarType[\"normal\"] = \"normal\";\r\n TableQueryBarType[\"bar\"] = \"bar\";\r\n TableQueryBarType[\"none\"] = \"none\";\r\n TableQueryBarType[\"advancedBar\"] = \"advancedBar\";\r\n})(TableQueryBarType || (TableQueryBarType = {}));\r\nexport var TablePaginationPosition;\r\n(function (TablePaginationPosition) {\r\n TablePaginationPosition[\"top\"] = \"top\";\r\n TablePaginationPosition[\"bottom\"] = \"bottom\";\r\n TablePaginationPosition[\"both\"] = \"both\";\r\n})(TablePaginationPosition || (TablePaginationPosition = {}));\r\nexport var TableColumnTooltip;\r\n(function (TableColumnTooltip) {\r\n TableColumnTooltip[\"none\"] = \"none\";\r\n TableColumnTooltip[\"always\"] = \"always\";\r\n TableColumnTooltip[\"overflow\"] = \"overflow\";\r\n})(TableColumnTooltip || (TableColumnTooltip = {}));\r\n","function on(eventName, fn, el, useCapture) {\r\n if (el) {\r\n if (el.addEventListener) {\r\n el.addEventListener(eventName, fn, useCapture);\r\n }\r\n else if (el.attachEvent) {\r\n el.attachEvent(`on${eventName}`, fn);\r\n }\r\n }\r\n}\r\nfunction off(eventName, fn, el, useCapture) {\r\n if (el) {\r\n if (el.removeEventListener) {\r\n el.removeEventListener(eventName, fn, useCapture);\r\n }\r\n else if (el.attachEvent) {\r\n el.detachEvent(`on${eventName}`, fn);\r\n }\r\n }\r\n}\r\nexport default class EventManager {\r\n constructor(el) {\r\n this.events = {};\r\n this.el = el;\r\n }\r\n addEventListener(eventName, fn, useCapture = false) {\r\n eventName = eventName.toLowerCase();\r\n const events = this.events[eventName] || [];\r\n const index = events.findIndex(([event]) => event === fn);\r\n if (index === -1) {\r\n events.push([fn, useCapture]);\r\n this.events[eventName] = events;\r\n on(eventName, fn, this.el, useCapture);\r\n }\r\n return this;\r\n }\r\n removeEventListener(eventName, fn, useCapture = false) {\r\n eventName = eventName.toLowerCase();\r\n const events = this.events[eventName];\r\n if (events) {\r\n if (fn) {\r\n const index = events.findIndex(([event]) => event === fn);\r\n if (index !== -1) {\r\n events.splice(index, 1);\r\n }\r\n off(eventName, fn, this.el, useCapture);\r\n }\r\n else {\r\n this.events[eventName] = this.el\r\n ? (this.events[eventName] || []).filter(([event, capture]) => {\r\n off(eventName, event, this.el, capture);\r\n return false;\r\n })\r\n : [];\r\n }\r\n }\r\n return this;\r\n }\r\n fireEvent(eventName, ...rest) {\r\n const events = this.events[eventName.toLowerCase()];\r\n return events\r\n ? Promise.all(events.map(([fn]) => fn(...rest))).then(all => all.every(result => result !== false))\r\n : Promise.resolve(true);\r\n }\r\n clear() {\r\n if (this.el) {\r\n Object.keys(this.events).forEach(eventName => this.removeEventListener(eventName));\r\n }\r\n this.events = {};\r\n return this;\r\n }\r\n}\r\nexport function preventDefault(e) {\r\n e.preventDefault();\r\n}\r\nexport function stopPropagation(e) {\r\n e.stopPropagation();\r\n}\r\nexport function stopEvent(e) {\r\n preventDefault(e);\r\n stopPropagation(e);\r\n}\r\n","export default class KeyCode {\r\n /*\r\n whether text and modified key is entered at the same time.\r\n */\r\n static isTextModifyingKeyEvent(e) {\r\n const keyCode = e.keyCode;\r\n if ((e.altKey && !e.ctrlKey) ||\r\n 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 // 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 whether character is entered.\r\n */\r\n static isCharacterKey(keyCode) {\r\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\r\n return true;\r\n }\r\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\r\n return true;\r\n }\r\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\r\n return true;\r\n }\r\n // Safari sends zero key code for non-latin characters.\r\n if (keyCode === 0 &&\r\n typeof window !== 'undefined' &&\r\n window.navigator.userAgent.indexOf('WebKit') !== -1) {\r\n return true;\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\n/**\r\n * MAC_ENTER\r\n */\r\nKeyCode.MAC_ENTER = 3;\r\n/**\r\n * BACKSPACE\r\n */\r\nKeyCode.BACKSPACE = 8;\r\n/**\r\n * TAB\r\n */\r\nKeyCode.TAB = 9;\r\n/**\r\n * NUMLOCK on FF/Safari Mac\r\n */\r\nKeyCode.NUM_CENTER = 12; // NUMLOCK on FF/Safari Mac\r\n/**\r\n * ENTER\r\n */\r\nKeyCode.ENTER = 13;\r\n/**\r\n * SHIFT\r\n */\r\nKeyCode.SHIFT = 16;\r\n/**\r\n * CTRL\r\n */\r\nKeyCode.CTRL = 17;\r\n/**\r\n * ALT\r\n */\r\nKeyCode.ALT = 18;\r\n/**\r\n * PAUSE\r\n */\r\nKeyCode.PAUSE = 19;\r\n/**\r\n * CAPS_LOCK\r\n */\r\nKeyCode.CAPS_LOCK = 20;\r\n/**\r\n * ESC\r\n */\r\nKeyCode.ESC = 27;\r\n/**\r\n * SPACE\r\n */\r\nKeyCode.SPACE = 32;\r\n/**\r\n * PAGE_UP\r\n */\r\nKeyCode.PAGE_UP = 33; // also NUM_NORTH_EAST\r\n/**\r\n * PAGE_DOWN\r\n */\r\nKeyCode.PAGE_DOWN = 34; // also NUM_SOUTH_EAST\r\n/**\r\n * END\r\n */\r\nKeyCode.END = 35; // also NUM_SOUTH_WEST\r\n/**\r\n * HOME\r\n */\r\nKeyCode.HOME = 36; // also NUM_NORTH_WEST\r\n/**\r\n * LEFT\r\n */\r\nKeyCode.LEFT = 37; // also NUM_WEST\r\n/**\r\n * UP\r\n */\r\nKeyCode.UP = 38; // also NUM_NORTH\r\n/**\r\n * RIGHT\r\n */\r\nKeyCode.RIGHT = 39; // also NUM_EAST\r\n/**\r\n * DOWN\r\n */\r\nKeyCode.DOWN = 40; // also NUM_SOUTH\r\n/**\r\n * PRINT_SCREEN\r\n */\r\nKeyCode.PRINT_SCREEN = 44;\r\n/**\r\n * INSERT\r\n */\r\nKeyCode.INSERT = 45; // also NUM_INSERT\r\n/**\r\n * DELETE\r\n */\r\nKeyCode.DELETE = 46; // also NUM_DELETE\r\n/**\r\n * ZERO\r\n */\r\nKeyCode.ZERO = 48;\r\n/**\r\n * ONE\r\n */\r\nKeyCode.ONE = 49;\r\n/**\r\n * TWO\r\n */\r\nKeyCode.TWO = 50;\r\n/**\r\n * THREE\r\n */\r\nKeyCode.THREE = 51;\r\n/**\r\n * FOUR\r\n */\r\nKeyCode.FOUR = 52;\r\n/**\r\n * FIVE\r\n */\r\nKeyCode.FIVE = 53;\r\n/**\r\n * SIX\r\n */\r\nKeyCode.SIX = 54;\r\n/**\r\n * SEVEN\r\n */\r\nKeyCode.SEVEN = 55;\r\n/**\r\n * EIGHT\r\n */\r\nKeyCode.EIGHT = 56;\r\n/**\r\n * NINE\r\n */\r\nKeyCode.NINE = 57;\r\n/**\r\n * QUESTION_MARK\r\n */\r\nKeyCode.QUESTION_MARK = 63; // needs localization\r\n/**\r\n * A\r\n */\r\nKeyCode.A = 65;\r\n/**\r\n * B\r\n */\r\nKeyCode.B = 66;\r\n/**\r\n * C\r\n */\r\nKeyCode.C = 67;\r\n/**\r\n * D\r\n */\r\nKeyCode.D = 68;\r\n/**\r\n * E\r\n */\r\nKeyCode.E = 69;\r\n/**\r\n * F\r\n */\r\nKeyCode.F = 70;\r\n/**\r\n * G\r\n */\r\nKeyCode.G = 71;\r\n/**\r\n * H\r\n */\r\nKeyCode.H = 72;\r\n/**\r\n * I\r\n */\r\nKeyCode.I = 73;\r\n/**\r\n * J\r\n */\r\nKeyCode.J = 74;\r\n/**\r\n * K\r\n */\r\nKeyCode.K = 75;\r\n/**\r\n * L\r\n */\r\nKeyCode.L = 76;\r\n/**\r\n * M\r\n */\r\nKeyCode.M = 77;\r\n/**\r\n * N\r\n */\r\nKeyCode.N = 78;\r\n/**\r\n * O\r\n */\r\nKeyCode.O = 79;\r\n/**\r\n * P\r\n */\r\nKeyCode.P = 80;\r\n/**\r\n * Q\r\n */\r\nKeyCode.Q = 81;\r\n/**\r\n * R\r\n */\r\nKeyCode.R = 82;\r\n/**\r\n * S\r\n */\r\nKeyCode.S = 83;\r\n/**\r\n * T\r\n */\r\nKeyCode.T = 84;\r\n/**\r\n * U\r\n */\r\nKeyCode.U = 85;\r\n/**\r\n * V\r\n */\r\nKeyCode.V = 86;\r\n/**\r\n * W\r\n */\r\nKeyCode.W = 87;\r\n/**\r\n * X\r\n */\r\nKeyCode.X = 88;\r\n/**\r\n * Y\r\n */\r\nKeyCode.Y = 89;\r\n/**\r\n * Z\r\n */\r\nKeyCode.Z = 90;\r\n/**\r\n * META\r\n */\r\nKeyCode.META = 91; // WIN_KEY_LEFT\r\n/**\r\n * WIN_KEY_RIGHT\r\n */\r\nKeyCode.WIN_KEY_RIGHT = 92;\r\n/**\r\n * CONTEXT_MENU\r\n */\r\nKeyCode.CONTEXT_MENU = 93;\r\n/**\r\n * NUM_ZERO\r\n */\r\nKeyCode.NUM_ZERO = 96;\r\n/**\r\n * NUM_ONE\r\n */\r\nKeyCode.NUM_ONE = 97;\r\n/**\r\n * NUM_TWO\r\n */\r\nKeyCode.NUM_TWO = 98;\r\n/**\r\n * NUM_THREE\r\n */\r\nKeyCode.NUM_THREE = 99;\r\n/**\r\n * NUM_FOUR\r\n */\r\nKeyCode.NUM_FOUR = 100;\r\n/**\r\n * NUM_FIVE\r\n */\r\nKeyCode.NUM_FIVE = 101;\r\n/**\r\n * NUM_SIX\r\n */\r\nKeyCode.NUM_SIX = 102;\r\n/**\r\n * NUM_SEVEN\r\n */\r\nKeyCode.NUM_SEVEN = 103;\r\n/**\r\n * NUM_EIGHT\r\n */\r\nKeyCode.NUM_EIGHT = 104;\r\n/**\r\n * NUM_NINE\r\n */\r\nKeyCode.NUM_NINE = 105;\r\n/**\r\n * NUM_MULTIPLY\r\n */\r\nKeyCode.NUM_MULTIPLY = 106;\r\n/**\r\n * NUM_PLUS\r\n */\r\nKeyCode.NUM_PLUS = 107;\r\n/**\r\n * NUM_MINUS\r\n */\r\nKeyCode.NUM_MINUS = 109;\r\n/**\r\n * NUM_PERIOD\r\n */\r\nKeyCode.NUM_PERIOD = 110;\r\n/**\r\n * NUM_DIVISION\r\n */\r\nKeyCode.NUM_DIVISION = 111;\r\n/**\r\n * F1\r\n */\r\nKeyCode.F1 = 112;\r\n/**\r\n * F2\r\n */\r\nKeyCode.F2 = 113;\r\n/**\r\n * F3\r\n */\r\nKeyCode.F3 = 114;\r\n/**\r\n * F4\r\n */\r\nKeyCode.F4 = 115;\r\n/**\r\n * F5\r\n */\r\nKeyCode.F5 = 116;\r\n/**\r\n * F6\r\n */\r\nKeyCode.F6 = 117;\r\n/**\r\n * F7\r\n */\r\nKeyCode.F7 = 118;\r\n/**\r\n * F8\r\n */\r\nKeyCode.F8 = 119;\r\n/**\r\n * F9\r\n */\r\nKeyCode.F9 = 120;\r\n/**\r\n * F10\r\n */\r\nKeyCode.F10 = 121;\r\n/**\r\n * F11\r\n */\r\nKeyCode.F11 = 122;\r\n/**\r\n * F12\r\n */\r\nKeyCode.F12 = 123;\r\n/**\r\n * NUMLOCK\r\n */\r\nKeyCode.NUMLOCK = 144;\r\n/**\r\n * SEMICOLON\r\n */\r\nKeyCode.SEMICOLON = 186; // needs localization\r\n/**\r\n * DASH\r\n */\r\nKeyCode.DASH = 189; // needs localization\r\n/**\r\n * EQUALS\r\n */\r\nKeyCode.EQUALS = 187; // needs localization\r\n/**\r\n * COMMA\r\n */\r\nKeyCode.COMMA = 188; // needs localization\r\n/**\r\n * PERIOD\r\n */\r\nKeyCode.PERIOD = 190; // needs localization\r\n/**\r\n * SLASH\r\n */\r\nKeyCode.SLASH = 191; // needs localization\r\n/**\r\n * APOSTROPHE\r\n */\r\nKeyCode.APOSTROPHE = 192; // needs localization\r\n/**\r\n * SINGLE_QUOTE\r\n */\r\nKeyCode.SINGLE_QUOTE = 222; // needs localization\r\n/**\r\n * OPEN_SQUARE_BRACKET\r\n */\r\nKeyCode.OPEN_SQUARE_BRACKET = 219; // needs localization\r\n/**\r\n * BACKSLASH\r\n */\r\nKeyCode.BACKSLASH = 220; // needs localization\r\n/**\r\n * CLOSE_SQUARE_BRACKET\r\n */\r\nKeyCode.CLOSE_SQUARE_BRACKET = 221; // needs localization\r\n/**\r\n * WIN_KEY\r\n */\r\nKeyCode.WIN_KEY = 224;\r\n/**\r\n * MAC_FF_META\r\n */\r\nKeyCode.MAC_FF_META = 224; // Firefox (Gecko) fires this for the meta key instead of 91\r\n/**\r\n * WIN_IME\r\n */\r\nKeyCode.WIN_IME = 229;\r\n","export default class TaskRunner {\r\n constructor(fn) {\r\n this.callbacks = [];\r\n if (fn) {\r\n this.fn = fn;\r\n }\r\n }\r\n async delay(delay, fn, callback) {\r\n return this.start(true, delay, fn, callback);\r\n }\r\n async run(interval, fn, callback) {\r\n return this.start(false, interval, fn, callback);\r\n }\r\n async start(once, interval, fn, callback) {\r\n this.cancel();\r\n if (fn) {\r\n this.fn = fn;\r\n }\r\n if (typeof callback === 'function') {\r\n this.callbacks.push(callback);\r\n }\r\n if (this.fn) {\r\n return new Promise(resolve => {\r\n this.id = setInterval(() => {\r\n if (once) {\r\n this.cancel();\r\n }\r\n resolve(this.fn());\r\n this.callbacks.forEach(cb => cb());\r\n this.callbacks = [];\r\n }, interval);\r\n });\r\n }\r\n return Promise.reject(new Error('no caller'));\r\n }\r\n cancel() {\r\n if (this.id) {\r\n clearInterval(this.id);\r\n delete this.id;\r\n }\r\n return this;\r\n }\r\n}\r\n","/* eslint-disable camelcase */\r\nimport addDOMEventListener from 'add-dom-event-listener';\r\nimport { unstable_batchedUpdates } from 'react-dom';\r\nexport default function addEventListenerWrap(target, eventType, cb) {\r\n const callback = unstable_batchedUpdates\r\n ? function run(e) {\r\n unstable_batchedUpdates(cb, e);\r\n }\r\n : cb;\r\n return addDOMEventListener(target, eventType, callback);\r\n}\r\n","// eslint-disable-next-line import/prefer-default-export\r\nexport function easeInOutCubic(t, b, c, d) {\r\n const cc = c - b;\r\n t /= d / 2;\r\n if (t < 1) {\r\n return (cc / 2) * t * t * t + b;\r\n }\r\n return (cc / 2) * ((t -= 2) * t * t + 2) + b;\r\n}\r\n","export var Size;\r\n(function (Size) {\r\n Size[\"default\"] = \"default\";\r\n Size[\"small\"] = \"small\";\r\n Size[\"large\"] = \"large\";\r\n})(Size || (Size = {}));\r\n","export default function getScroll(target, top) {\r\n if (typeof window === 'undefined') {\r\n return 0;\r\n }\r\n const prop = top ? 'pageYOffset' : 'pageXOffset';\r\n const method = top ? 'scrollTop' : 'scrollLeft';\r\n const isWindow = target === window;\r\n let ret = isWindow ? target[prop] : target[method];\r\n // ie6,7,8 standard mode\r\n if (isWindow && typeof ret !== 'number') {\r\n ret = window.document.documentElement[method];\r\n }\r\n return ret;\r\n}\r\n","// https://github.com/moment/moment/issues/3650\r\nexport default function interopDefault(m) {\r\n return m.default || m;\r\n}\r\n","let animation;\r\nfunction isCssAnimationSupported() {\r\n if (animation !== undefined) {\r\n return animation;\r\n }\r\n const domPrefixes = 'Webkit Moz O ms Khtml'.split(' ');\r\n const elm = document.createElement('div');\r\n if (elm.style.animationName !== undefined) {\r\n animation = true;\r\n }\r\n if (animation !== undefined) {\r\n for (let i = 0; i < domPrefixes.length; i++) {\r\n if (elm.style[`${domPrefixes[i]}AnimationName`] !== undefined) {\r\n animation = true;\r\n break;\r\n }\r\n }\r\n }\r\n animation = animation || false;\r\n return animation;\r\n}\r\nexport default isCssAnimationSupported;\r\n","export default function isFlexSupported() {\r\n if (typeof window !== 'undefined' && window.document && window.document.documentElement) {\r\n const { documentElement } = window.document;\r\n return 'flex' in documentElement.style ||\r\n 'webkitFlex' in documentElement.style ||\r\n 'Flex' in documentElement.style ||\r\n 'msFlex' in documentElement.style;\r\n }\r\n return false;\r\n}\r\n","let scrollbarWidth;\r\nlet rootFontSize = 100;\r\nfunction getRootFontSize() {\r\n if (typeof window !== 'undefined' && document.defaultView) {\r\n const { fontSize } = document.defaultView.getComputedStyle(document.documentElement);\r\n if (fontSize !== null) {\r\n return parseFloat(fontSize);\r\n }\r\n }\r\n return 100;\r\n}\r\nexport default function measureScrollbar(direction = 'vertical') {\r\n if (typeof window === 'undefined') {\r\n return 0;\r\n }\r\n const fontSize = getRootFontSize();\r\n if (scrollbarWidth && fontSize === rootFontSize) {\r\n return scrollbarWidth;\r\n }\r\n rootFontSize = fontSize;\r\n const scrollDiv = document.createElement('div');\r\n scrollDiv.style.cssText = 'position: absolute;width: 50px;height: 50px;top: -9999px; overflow: scroll';\r\n document.body.appendChild(scrollDiv);\r\n let size = 0;\r\n if (direction === 'vertical') {\r\n size = scrollDiv.offsetWidth - scrollDiv.clientWidth;\r\n }\r\n else if (direction === 'horizontal') {\r\n size = scrollDiv.offsetHeight - scrollDiv.clientHeight;\r\n }\r\n document.body.removeChild(scrollDiv);\r\n scrollbarWidth = size / fontSize * 100;\r\n return scrollbarWidth;\r\n}\r\n","export const matchMediaPolifill = (mediaQuery) => {\r\n // console.warn('`matchMedia` is not supported!');\r\n return {\r\n media: mediaQuery,\r\n matches: false,\r\n addListener() { },\r\n removeListener() { },\r\n };\r\n};\r\n","import cssAnimation from 'css-animation';\r\nimport raf from 'raf';\r\nfunction animate(node, show, done) {\r\n let height;\r\n let requestAnimationFrameId;\r\n return cssAnimation(node, 'c7n-motion-collapse', {\r\n start() {\r\n if (!show) {\r\n node.style.height = `${node.offsetHeight}px`;\r\n node.style.opacity = '1';\r\n }\r\n else {\r\n height = node.offsetHeight;\r\n node.style.height = '0px';\r\n node.style.opacity = '0';\r\n }\r\n },\r\n active() {\r\n if (requestAnimationFrameId) {\r\n raf.cancel(requestAnimationFrameId);\r\n }\r\n requestAnimationFrameId = raf(() => {\r\n node.style.height = `${show ? height : 0}px`;\r\n node.style.opacity = show ? '1' : '0';\r\n });\r\n },\r\n end() {\r\n if (requestAnimationFrameId) {\r\n raf.cancel(requestAnimationFrameId);\r\n }\r\n node.style.height = '';\r\n node.style.opacity = '';\r\n done();\r\n },\r\n });\r\n}\r\nconst animation = {\r\n enter(node, done) {\r\n return animate(node, true, done);\r\n },\r\n leave(node, done) {\r\n return animate(node, false, done);\r\n },\r\n appear(node, done) {\r\n return animate(node, true, done);\r\n },\r\n};\r\nexport default animation;\r\n","import raf from 'raf';\r\nimport getScroll from './getScroll';\r\nimport { easeInOutCubic } from './easings';\r\nexport default function scrollTo(y, options = {}) {\r\n const { getContainer = () => window, callback, duration = 450 } = options;\r\n const container = getContainer();\r\n const scrollTop = getScroll(container, true);\r\n const startTime = Date.now();\r\n const frameFunc = () => {\r\n const timestamp = Date.now();\r\n const time = timestamp - startTime;\r\n const nextScrollTop = easeInOutCubic(time > duration ? duration : time, scrollTop, y, duration);\r\n if (container === window) {\r\n window.scrollTo(window.pageXOffset, nextScrollTop);\r\n }\r\n else {\r\n container.scrollTop = nextScrollTop;\r\n }\r\n if (time < duration) {\r\n raf(frameFunc);\r\n }\r\n else if (typeof callback === 'function') {\r\n callback();\r\n }\r\n };\r\n raf(frameFunc);\r\n}\r\n","import raf from 'raf';\r\nexport default function throttleByAnimationFrame(fn) {\r\n let requestId;\r\n const later = (args) => () => {\r\n requestId = null;\r\n fn(...args);\r\n };\r\n const throttled = (...args) => {\r\n if (requestId == null) {\r\n requestId = raf(later(args));\r\n }\r\n };\r\n throttled.cancel = () => raf.cancel(requestId);\r\n return throttled;\r\n}\r\nexport function throttleByAnimationFrameDecorator() {\r\n return function (target, key, descriptor) {\r\n const fn = descriptor.value;\r\n let definingProperty = false;\r\n return {\r\n configurable: true,\r\n get() {\r\n if (definingProperty || this === target.prototype || {}.hasOwnProperty.call(this, key)) {\r\n return fn;\r\n }\r\n const boundFn = throttleByAnimationFrame(fn.bind(this));\r\n definingProperty = true;\r\n Object.defineProperty(this, key, {\r\n value: boundFn,\r\n configurable: true,\r\n writable: true,\r\n });\r\n definingProperty = false;\r\n return boundFn;\r\n },\r\n };\r\n };\r\n}\r\n","export default function triggerEvent(el, type) {\r\n if ('createEvent' in document) {\r\n // modern browsers, IE9+\r\n const e = document.createEvent('HTMLEvents');\r\n e.initEvent(type, false, true);\r\n el.dispatchEvent(e);\r\n }\r\n}\r\n","import warning from 'warning';\r\nconst warned = {};\r\nexport default (valid, message) => {\r\n if (!valid && !warned[message]) {\r\n warning(false, message);\r\n warned[message] = true;\r\n }\r\n};\r\n","import * as tslib_1 from \"tslib\";\r\nimport React, { Component } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport shallowequal from 'lodash/isEqual';\r\nimport omit from 'lodash/omit';\r\nimport noop from 'lodash/noop';\r\nimport getScroll from '../_util/getScroll';\r\nimport { throttleByAnimationFrameDecorator } from '../_util/throttleByAnimationFrame';\r\nimport addEventListener from '../_util/addEventListener';\r\nimport { getPrefixCls } from '../configure';\r\nfunction getTargetRect(target) {\r\n return target !== window\r\n ? target.getBoundingClientRect()\r\n : { top: 0, left: 0, bottom: 0 };\r\n}\r\nfunction getOffset(element, target) {\r\n const elemRect = element.getBoundingClientRect();\r\n const targetRect = getTargetRect(target);\r\n const scrollTop = getScroll(target, true);\r\n const scrollLeft = getScroll(target, false);\r\n const docElem = window.document.body;\r\n const clientTop = docElem.clientTop || 0;\r\n const clientLeft = docElem.clientLeft || 0;\r\n return {\r\n top: elemRect.top - targetRect.top + scrollTop - clientTop,\r\n left: elemRect.left - targetRect.left + scrollLeft - clientLeft,\r\n width: elemRect.width,\r\n height: elemRect.height,\r\n };\r\n}\r\nfunction getDefaultTarget() {\r\n return typeof window !== 'undefined' ? window : null;\r\n}\r\nexport default class Affix extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.state = {\r\n affixStyle: undefined,\r\n placeholderStyle: undefined,\r\n };\r\n this.eventHandlers = {};\r\n this.events = [\r\n 'resize',\r\n 'scroll',\r\n 'touchstart',\r\n 'touchmove',\r\n 'touchend',\r\n 'pageshow',\r\n 'load',\r\n ];\r\n this.saveFixedNode = (node) => {\r\n this.fixedNode = node;\r\n };\r\n this.savePlaceholderNode = (node) => {\r\n this.placeholderNode = node;\r\n };\r\n }\r\n setAffixStyle(e, affixStyle) {\r\n const { onChange = noop, target = getDefaultTarget } = this.props;\r\n const { affixStyle: originalAffixStyle } = this.state;\r\n const isWindow = target() === window;\r\n if (e.type === 'scroll' && originalAffixStyle && affixStyle && isWindow) {\r\n return;\r\n }\r\n if (shallowequal(affixStyle, originalAffixStyle)) {\r\n return;\r\n }\r\n this.setState({ affixStyle: affixStyle }, () => {\r\n if ((affixStyle && !originalAffixStyle) || (!affixStyle && originalAffixStyle)) {\r\n const { state } = this;\r\n onChange(!!state.affixStyle);\r\n }\r\n });\r\n }\r\n setPlaceholderStyle(placeholderStyle) {\r\n const { placeholderStyle: originalPlaceholderStyle } = this.state;\r\n if (shallowequal(placeholderStyle, originalPlaceholderStyle)) {\r\n return;\r\n }\r\n this.setState({ placeholderStyle: placeholderStyle });\r\n }\r\n syncPlaceholderStyle(e) {\r\n const { affixStyle } = this.state;\r\n if (!affixStyle) {\r\n return;\r\n }\r\n this.placeholderNode.style.cssText = '';\r\n this.setAffixStyle(e, {\r\n ...affixStyle,\r\n width: this.placeholderNode.offsetWidth,\r\n });\r\n this.setPlaceholderStyle({\r\n width: this.placeholderNode.offsetWidth,\r\n });\r\n }\r\n updatePosition(e) {\r\n const { offsetBottom, offset, target = getDefaultTarget } = this.props;\r\n let { offsetTop } = this.props;\r\n const targetNode = target();\r\n // Backwards support\r\n offsetTop = typeof offsetTop === 'undefined' ? offset : offsetTop;\r\n const scrollTop = getScroll(targetNode, true);\r\n const affixNode = findDOMNode(this);\r\n const elemOffset = getOffset(affixNode, targetNode);\r\n const elemSize = {\r\n width: this.fixedNode.offsetWidth,\r\n height: this.fixedNode.offsetHeight,\r\n };\r\n const offsetMode = {\r\n top: false,\r\n bottom: false,\r\n };\r\n // Default to `offsetTop=0`.\r\n if (typeof offsetTop !== 'number' && typeof offsetBottom !== 'number') {\r\n offsetMode.top = true;\r\n offsetTop = 0;\r\n }\r\n else {\r\n offsetMode.top = typeof offsetTop === 'number';\r\n offsetMode.bottom = typeof offsetBottom === 'number';\r\n }\r\n const targetRect = getTargetRect(targetNode);\r\n const targetInnerHeight = targetNode.innerHeight || targetNode.clientHeight;\r\n if (scrollTop >= elemOffset.top - offsetTop && offsetMode.top) {\r\n // Fixed Top\r\n const width = elemOffset.width;\r\n const top = targetRect.top + offsetTop;\r\n this.setAffixStyle(e, {\r\n position: 'fixed',\r\n top,\r\n left: targetRect.left + elemOffset.left,\r\n width,\r\n });\r\n this.setPlaceholderStyle({\r\n width,\r\n height: elemSize.height,\r\n });\r\n }\r\n else if (scrollTop <=\r\n elemOffset.top + elemSize.height + offsetBottom - targetInnerHeight &&\r\n offsetMode.bottom) {\r\n // Fixed Bottom\r\n const targetBottomOffet = targetNode === window ? 0 : window.innerHeight - targetRect.bottom;\r\n const width = elemOffset.width;\r\n this.setAffixStyle(e, {\r\n position: 'fixed',\r\n bottom: targetBottomOffet + offsetBottom,\r\n left: targetRect.left + elemOffset.left,\r\n width,\r\n });\r\n this.setPlaceholderStyle({\r\n width,\r\n height: elemOffset.height,\r\n });\r\n }\r\n else {\r\n const { affixStyle } = this.state;\r\n if (e.type === 'resize' &&\r\n affixStyle &&\r\n affixStyle.position === 'fixed' &&\r\n affixNode.offsetWidth) {\r\n this.setAffixStyle(e, { ...affixStyle, width: affixNode.offsetWidth });\r\n }\r\n else {\r\n this.setAffixStyle(e, null);\r\n }\r\n this.setPlaceholderStyle(null);\r\n }\r\n if (e.type === 'resize') {\r\n this.syncPlaceholderStyle(e);\r\n }\r\n }\r\n componentDidMount() {\r\n const { props } = this;\r\n const target = props.target || getDefaultTarget;\r\n // Wait for parent component ref has its value\r\n this.timeout = setTimeout(() => {\r\n this.setTargetEventListeners(target);\r\n // Mock Event object.\r\n this.updatePosition({});\r\n });\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n const { offsetTop, offsetBottom, target } = this.props;\r\n if (target !== nextProps.target) {\r\n this.clearEventListeners();\r\n this.setTargetEventListeners(nextProps.target);\r\n // Mock Event object.\r\n this.updatePosition({});\r\n }\r\n if (offsetTop !== nextProps.offsetTop || offsetBottom !== nextProps.offsetBottom) {\r\n this.updatePosition({});\r\n }\r\n }\r\n componentWillUnmount() {\r\n this.clearEventListeners();\r\n clearTimeout(this.timeout);\r\n this.updatePosition.cancel();\r\n }\r\n setTargetEventListeners(getTarget) {\r\n const target = getTarget();\r\n if (!target) {\r\n return;\r\n }\r\n this.clearEventListeners();\r\n this.events.forEach(eventName => {\r\n this.eventHandlers[eventName] = addEventListener(target, eventName, this.updatePosition);\r\n });\r\n }\r\n clearEventListeners() {\r\n this.events.forEach(eventName => {\r\n const handler = this.eventHandlers[eventName];\r\n if (handler && handler.remove) {\r\n handler.remove();\r\n }\r\n });\r\n }\r\n render() {\r\n const { prefixCls, style, children } = this.props;\r\n const { affixStyle, placeholderStyle } = this.state;\r\n const className = classNames({\r\n [getPrefixCls('affix', prefixCls)]: affixStyle,\r\n });\r\n const props = omit(this.props, [\r\n 'prefixCls',\r\n 'offsetTop',\r\n 'offsetBottom',\r\n 'target',\r\n 'onChange',\r\n ]);\r\n return (<div {...props} style={{ ...placeholderStyle, ...style }} ref={this.savePlaceholderNode}>\n <div className={className} ref={this.saveFixedNode} style={affixStyle}>\n {children}\n </div>\n </div>);\r\n }\r\n}\r\nAffix.displayName = 'Affix';\r\nAffix.propTypes = {\r\n offsetTop: PropTypes.number,\r\n offsetBottom: PropTypes.number,\r\n target: PropTypes.func,\r\n};\r\ntslib_1.__decorate([\r\n throttleByAnimationFrameDecorator()\r\n], Affix.prototype, \"updatePosition\", null);\r\n","import React, { Component } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport classNames from 'classnames';\r\nimport Icon from '../icon';\r\nimport Animate from '../animate';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Alert extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.state = {\r\n closing: true,\r\n closed: false,\r\n };\r\n this.handleClose = (e) => {\r\n e.preventDefault();\r\n const dom = findDOMNode(this);\r\n dom.style.height = `${dom.offsetHeight}px`;\r\n // Magic code\r\n // 重复一次后才能正确设置 height\r\n dom.style.height = `${dom.offsetHeight}px`;\r\n this.setState({\r\n closing: false,\r\n });\r\n const { onClose } = this.props;\r\n if (onClose) {\r\n onClose(e);\r\n }\r\n };\r\n this.animationEnd = () => {\r\n this.setState({\r\n closed: true,\r\n closing: true,\r\n });\r\n const { afterClose } = this.props;\r\n if (afterClose) {\r\n afterClose();\r\n }\r\n };\r\n }\r\n render() {\r\n const { props } = this;\r\n const { description, prefixCls: customizePrefixCls, message, closeText, banner, className = '', style, } = props;\r\n let { closable, showIcon, type, iconType } = props;\r\n const { closing, closed } = this.state;\r\n const prefixCls = getPrefixCls('alert', customizePrefixCls);\r\n // banner模式默认有 Icon\r\n showIcon = banner && showIcon === undefined ? true : showIcon;\r\n // banner模式默认为警告\r\n type = banner && type === undefined ? 'warning' : type || 'info';\r\n if (!iconType) {\r\n switch (type) {\r\n case 'success':\r\n iconType = 'check_circle';\r\n break;\r\n case 'info':\r\n iconType = 'info';\r\n break;\r\n case 'error':\r\n iconType = 'error';\r\n break;\r\n case 'warning':\r\n iconType = 'warning';\r\n break;\r\n default:\r\n iconType = 'default';\r\n }\r\n }\r\n const alertCls = classNames(prefixCls, {\r\n [`${prefixCls}-${type}`]: true,\r\n [`${prefixCls}-close`]: !closing,\r\n [`${prefixCls}-with-description`]: !!description,\r\n [`${prefixCls}-no-icon`]: !showIcon,\r\n [`${prefixCls}-banner`]: !!banner,\r\n }, className);\r\n // closeable when closeText is assigned\r\n if (closeText) {\r\n closable = true;\r\n }\r\n const closeIcon = closable ? (<a onClick={this.handleClose} className={`${prefixCls}-close-icon`}>\n {closeText || <Icon type=\"close\"/>}\n </a>) : null;\r\n return closed ? null : (<Animate component=\"\" hiddenProp=\"hidden\" transitionName={`${prefixCls}-slide-up`} onEnd={this.animationEnd}>\n <div hidden={!closing} className={alertCls} style={style}>\n {showIcon ? <Icon className={`${prefixCls}-icon`} type={iconType}/> : null}\n <span className={`${prefixCls}-message`}>{message}</span>\n <span className={`${prefixCls}-description`}>{description}</span>\n {closeIcon}\n </div>\n </Animate>);\r\n }\r\n}\r\nAlert.displayName = 'Alert';\r\n","import { Children, cloneElement, Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { findDOMNode } from 'react-dom';\r\nimport noop from 'lodash/noop';\r\nimport domAlign from 'dom-align';\r\nimport EventManager from '../_util/EventManager';\r\nimport TaskRunner from '../_util/TaskRunner';\r\nfunction isWindow(obj) {\r\n return obj != null && obj === obj.window;\r\n}\r\nexport default class Align extends Component {\r\n forceAlign() {\r\n const { hidden, onAlign = noop, target = () => window, align } = this.props;\r\n if (!hidden) {\r\n const source = findDOMNode(this);\r\n const ref = target();\r\n onAlign(source, domAlign(source, ref, align), ref);\r\n }\r\n }\r\n componentDidMount() {\r\n const { hidden, monitorWindowResize } = this.props;\r\n this.forceAlign();\r\n if (!hidden && monitorWindowResize) {\r\n this.startMonitorWindowResize();\r\n }\r\n }\r\n componentDidUpdate(prevProps) {\r\n const { hidden, align, target = () => window, monitorWindowResize } = this.props;\r\n const { hidden: preHidden, align: preAlign, target: preTarget } = prevProps;\r\n let reAlign = false;\r\n if (!hidden) {\r\n if (preHidden || preAlign !== align) {\r\n reAlign = true;\r\n }\r\n else {\r\n const lastTarget = preTarget();\r\n const currentTarget = target();\r\n if (isWindow(lastTarget) && isWindow(currentTarget)) {\r\n reAlign = false;\r\n }\r\n else if (lastTarget !== currentTarget) {\r\n reAlign = true;\r\n }\r\n }\r\n }\r\n if (reAlign) {\r\n this.forceAlign();\r\n }\r\n if (monitorWindowResize && !hidden) {\r\n this.startMonitorWindowResize();\r\n }\r\n else {\r\n this.stopMonitorWindowResize();\r\n }\r\n }\r\n componentWillUnmount() {\r\n this.stopMonitorWindowResize();\r\n }\r\n startMonitorWindowResize() {\r\n const { monitorBufferTime } = this.props;\r\n if (!this.resizeHandler) {\r\n this.resizeHandler = new EventManager(window);\r\n this.bufferMonitor = new TaskRunner();\r\n this.resizeHandler.addEventListener('resize', this.bufferMonitor.delay.bind(this.bufferMonitor, monitorBufferTime, this.forceAlign.bind(this)));\r\n }\r\n }\r\n stopMonitorWindowResize() {\r\n if (this.resizeHandler) {\r\n if (this.bufferMonitor) {\r\n this.bufferMonitor.cancel();\r\n }\r\n this.resizeHandler.clear();\r\n this.resizeHandler = null;\r\n }\r\n }\r\n render() {\r\n const { props } = this;\r\n const { childrenProps, children } = props;\r\n if (childrenProps) {\r\n const newProps = {};\r\n Object.keys(childrenProps).forEach(prop => {\r\n if ({}.hasOwnProperty.call(childrenProps, prop)) {\r\n newProps[prop] = props[childrenProps[prop]];\r\n }\r\n });\r\n return cloneElement(Children.only(children), newProps);\r\n }\r\n return children;\r\n }\r\n}\r\nAlign.displayName = 'Align';\r\nAlign.propTypes = {\r\n childrenProps: PropTypes.object,\r\n align: PropTypes.object.isRequired,\r\n target: PropTypes.func,\r\n onAlign: PropTypes.func,\r\n monitorBufferTime: PropTypes.number,\r\n monitorWindowResize: PropTypes.bool,\r\n hidden: PropTypes.bool,\r\n children: PropTypes.any,\r\n};\r\nAlign.defaultProps = {\r\n monitorBufferTime: 50,\r\n monitorWindowResize: false,\r\n hidden: true,\r\n};\r\n","import Align from './Align';\r\nexport default Align;\r\n","import React, { Component } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport addEventListener from '../_util/addEventListener';\r\nimport Affix from '../affix';\r\nimport { getPrefixCls } from '../configure';\r\nimport scrollTo from '../_util/scrollTo';\r\nimport getScroll from '../_util/getScroll';\r\nfunction getDefaultContainer() {\r\n return window;\r\n}\r\nfunction getOffsetTop(element, container) {\r\n if (!element) {\r\n return 0;\r\n }\r\n if (!element.getClientRects().length) {\r\n return 0;\r\n }\r\n const rect = element.getBoundingClientRect();\r\n if (rect.width || rect.height) {\r\n if (container === window && element.ownerDocument) {\r\n container = element.ownerDocument.documentElement;\r\n return rect.top - container.clientTop;\r\n }\r\n return rect.top - container.getBoundingClientRect().top;\r\n }\r\n return rect.top;\r\n}\r\nconst sharpMatcherRegx = /#([^#]+)$/;\r\nexport default class Anchor extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.state = {\r\n activeLink: null,\r\n };\r\n this.links = [];\r\n this.handleScrollTo = (link) => {\r\n const { offsetTop, getContainer, targetOffset } = this.props;\r\n this.setState({ activeLink: link });\r\n const container = getContainer();\r\n const scrollTop = getScroll(container, true);\r\n const sharpLinkMatch = sharpMatcherRegx.exec(link);\r\n if (!sharpLinkMatch) {\r\n return;\r\n }\r\n const targetElement = document.getElementById(sharpLinkMatch[1]);\r\n if (!targetElement) {\r\n return;\r\n }\r\n const eleOffsetTop = getOffsetTop(targetElement, container);\r\n let y = scrollTop + eleOffsetTop;\r\n y -= targetOffset !== undefined ? targetOffset : offsetTop || 0;\r\n this.animating = true;\r\n scrollTo(y, {\r\n callback: () => {\r\n this.animating = false;\r\n },\r\n getContainer,\r\n });\r\n };\r\n this.saveInkNode = (node) => {\r\n this.inkNode = node;\r\n };\r\n this.handleScroll = () => {\r\n if (this.animating) {\r\n return;\r\n }\r\n const { activeLink } = this.state;\r\n const { offsetTop, bounds, targetOffset } = this.props;\r\n const currentActiveLink = this.getCurrentAnchor(targetOffset !== undefined ? targetOffset : offsetTop || 0, bounds);\r\n if (activeLink !== currentActiveLink) {\r\n this.setState({\r\n activeLink: currentActiveLink,\r\n });\r\n }\r\n };\r\n this.updateInk = () => {\r\n if (typeof document === 'undefined') {\r\n return;\r\n }\r\n const prefixCls = this.getPrefixCls();\r\n const linkNode = findDOMNode(this).getElementsByClassName(`${prefixCls}-link-title-active`)[0];\r\n if (linkNode) {\r\n this.inkNode.style.top = `${linkNode.offsetTop + linkNode.clientHeight / 2 - 4.5}px`;\r\n }\r\n };\r\n }\r\n getChildContext() {\r\n const { onClick } = this.props;\r\n const { activeLink } = this.state;\r\n const c7nAnchor = {\r\n registerLink: (link) => {\r\n if (!this.links.includes(link)) {\r\n this.links.push(link);\r\n }\r\n },\r\n unregisterLink: (link) => {\r\n const index = this.links.indexOf(link);\r\n if (index !== -1) {\r\n this.links.splice(index, 1);\r\n }\r\n },\r\n activeLink,\r\n scrollTo: this.handleScrollTo,\r\n onClick,\r\n };\r\n return { c7nAnchor };\r\n }\r\n componentDidMount() {\r\n const { getContainer } = this.props;\r\n this.scrollContainer = getContainer();\r\n this.scrollEvent = addEventListener(this.scrollContainer, 'scroll', this.handleScroll);\r\n this.handleScroll();\r\n }\r\n componentDidUpdate() {\r\n if (this.scrollEvent) {\r\n const { getContainer } = this.props;\r\n const currentContainer = getContainer();\r\n if (this.scrollContainer !== currentContainer) {\r\n this.scrollContainer = currentContainer;\r\n this.scrollEvent.remove();\r\n this.scrollEvent = addEventListener(this.scrollContainer, 'scroll', this.handleScroll);\r\n this.handleScroll();\r\n }\r\n }\r\n this.updateInk();\r\n }\r\n componentWillUnmount() {\r\n if (this.scrollEvent) {\r\n this.scrollEvent.remove();\r\n }\r\n }\r\n getCurrentAnchor(offsetTop = 0, bounds = 5) {\r\n const { getCurrentAnchor } = this.props;\r\n if (typeof getCurrentAnchor === 'function') {\r\n return getCurrentAnchor();\r\n }\r\n const activeLink = '';\r\n if (typeof document === 'undefined') {\r\n return activeLink;\r\n }\r\n const linkSections = [];\r\n const { getContainer } = this.props;\r\n const container = getContainer();\r\n this.links.forEach(link => {\r\n const sharpLinkMatch = sharpMatcherRegx.exec(link.toString());\r\n if (!sharpLinkMatch) {\r\n return;\r\n }\r\n const target = document.getElementById(sharpLinkMatch[1]);\r\n if (target) {\r\n const top = getOffsetTop(target, container);\r\n if (top < offsetTop + bounds) {\r\n linkSections.push({\r\n link,\r\n top,\r\n });\r\n }\r\n }\r\n });\r\n if (linkSections.length) {\r\n const maxSection = linkSections.reduce((prev, curr) => (curr.top > prev.top ? curr : prev));\r\n return maxSection.link;\r\n }\r\n return '';\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return getPrefixCls('anchor', prefixCls);\r\n }\r\n render() {\r\n const { className = '', style, offsetTop, affix, showInkInFixed, children, getContainer, } = this.props;\r\n const { activeLink } = this.state;\r\n const prefixCls = this.getPrefixCls();\r\n const inkClass = classNames(`${prefixCls}-ink-ball`, {\r\n visible: activeLink,\r\n });\r\n const wrapperClass = classNames(className, `${prefixCls}-wrapper`);\r\n const anchorClass = classNames(prefixCls, {\r\n fixed: !affix && !showInkInFixed,\r\n });\r\n const wrapperStyle = {\r\n maxHeight: offsetTop ? `calc(100vh - ${offsetTop}px)` : '100vh',\r\n ...style,\r\n };\r\n const anchorContent = (<div className={wrapperClass} style={wrapperStyle}>\n <div className={anchorClass}>\n <div className={`${prefixCls}-ink`}>\n <span className={inkClass} ref={this.saveInkNode}/>\n </div>\n {children}\n </div>\n </div>);\r\n return !affix ? (anchorContent) : (<Affix offsetTop={offsetTop} target={getContainer}>\n {anchorContent}\n </Affix>);\r\n }\r\n}\r\nAnchor.displayName = 'Anchor';\r\nAnchor.defaultProps = {\r\n affix: true,\r\n showInkInFixed: false,\r\n getContainer: getDefaultContainer,\r\n};\r\nAnchor.childContextTypes = {\r\n c7nAnchor: PropTypes.object,\r\n};\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class AnchorLink extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.handleClick = (e) => {\r\n const { c7nAnchor: { scrollTo, onClick }, } = this.context;\r\n const { href, title } = this.props;\r\n if (onClick) {\r\n onClick(e, { title, href });\r\n }\r\n scrollTo(href);\r\n };\r\n }\r\n componentDidMount() {\r\n const { c7nAnchor } = this.context;\r\n const { href } = this.props;\r\n c7nAnchor.registerLink(href);\r\n }\r\n componentDidUpdate({ href: prevHref }) {\r\n const { href } = this.props;\r\n if (prevHref !== href) {\r\n const { c7nAnchor } = this.context;\r\n c7nAnchor.unregisterLink(prevHref);\r\n c7nAnchor.registerLink(href);\r\n }\r\n }\r\n componentWillUnmount() {\r\n const { c7nAnchor } = this.context;\r\n const { href } = this.props;\r\n c7nAnchor.unregisterLink(href);\r\n }\r\n render() {\r\n const { c7nAnchor } = this.context;\r\n const { prefixCls: customizePrefixCls, href, title, children, className } = this.props;\r\n const prefixCls = getPrefixCls('anchor', customizePrefixCls);\r\n const active = c7nAnchor.activeLink === href;\r\n const wrapperClassName = classNames(className, `${prefixCls}-link`, {\r\n [`${prefixCls}-link-active`]: active,\r\n });\r\n const titleClassName = classNames(`${prefixCls}-link-title`, {\r\n [`${prefixCls}-link-title-active`]: active,\r\n });\r\n return (<div className={wrapperClassName}>\n <a className={titleClassName} href={href} title={typeof title === 'string' ? title : ''} onClick={this.handleClick}>\n {title}\n </a>\n {children}\n </div>);\r\n }\r\n}\r\nAnchorLink.displayName = 'AnchorLink';\r\nAnchorLink.defaultProps = {\r\n href: '#',\r\n};\r\nAnchorLink.contextTypes = {\r\n c7nAnchor: PropTypes.object,\r\n};\r\n","import Anchor from './Anchor';\r\nimport AnchorLink from './AnchorLink';\r\nexport { AnchorProps } from './Anchor';\r\nexport { AnchorLinkProps } from './AnchorLink';\r\nAnchor.Link = AnchorLink;\r\nexport default Anchor;\r\n","import { cloneElement, Component, createElement, isValidElement, } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport omit from 'lodash/omit';\r\nimport noop from 'lodash/noop';\r\nimport { findChildInChildrenByKey, findShownChildInChildrenByKey, isSameChildren, mergeChildren, toArrayChildren, } from './ChildrenUtils';\r\nimport AnimateChild from './AnimateChild';\r\nimport animUtil from './util';\r\nconst defaultKey = `animate_${Date.now()}`;\r\nfunction getChildrenFromProps(props) {\r\n const { children } = props;\r\n if (isValidElement(children)) {\r\n if (!children.key) {\r\n return cloneElement(children, {\r\n key: defaultKey,\r\n });\r\n }\r\n }\r\n return children;\r\n}\r\nexport default class Animate extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.currentlyAnimatingKeys = {};\r\n this.keysToEnter = [];\r\n this.keysToLeave = [];\r\n this.state = {\r\n children: toArrayChildren(getChildrenFromProps(this.props)),\r\n };\r\n this.childrenRefs = {};\r\n this.performEnter = (key) => {\r\n const childRef = this.childrenRefs[key];\r\n if (childRef) {\r\n this.currentlyAnimatingKeys[key] = true;\r\n childRef.componentWillEnter(this.handleDoneAdding.bind(this, key, 'enter'));\r\n }\r\n };\r\n this.performAppear = (key) => {\r\n const childRef = this.childrenRefs[key];\r\n if (childRef) {\r\n this.currentlyAnimatingKeys[key] = true;\r\n childRef.componentWillAppear(this.handleDoneAdding.bind(this, key, 'appear'));\r\n }\r\n };\r\n this.handleDoneAdding = (key, type, childRef) => {\r\n const { props } = this;\r\n const { exclusive, onAppear = noop, onEnd = noop, onEnter = noop } = props;\r\n delete this.currentlyAnimatingKeys[key];\r\n if (exclusive && props !== this.nextProps) {\r\n return;\r\n }\r\n if (!this.isValidChildByKey(toArrayChildren(getChildrenFromProps(props)), key)) {\r\n this.performLeave(key);\r\n }\r\n else if (type === 'appear') {\r\n if (animUtil.allowAppearCallback(props)) {\r\n onAppear(key, childRef);\r\n onEnd(key, true, childRef);\r\n }\r\n }\r\n else if (animUtil.allowEnterCallback(props)) {\r\n onEnter(key, childRef);\r\n onEnd(key, true, childRef);\r\n }\r\n };\r\n this.performLeave = (key) => {\r\n const childRef = this.childrenRefs[key];\r\n if (childRef) {\r\n this.currentlyAnimatingKeys[key] = true;\r\n childRef.componentWillLeave(this.handleDoneLeaving.bind(this, key));\r\n }\r\n };\r\n this.handleDoneLeaving = (key, childRef) => {\r\n const { props, state: { children }, } = this;\r\n const { exclusive, onEnd = noop, onLeave = noop, hiddenProp } = props;\r\n delete this.currentlyAnimatingKeys[key];\r\n if (exclusive && props !== this.nextProps) {\r\n return;\r\n }\r\n const currentChildren = toArrayChildren(getChildrenFromProps(props));\r\n if (this.isValidChildByKey(currentChildren, key)) {\r\n this.performEnter(key);\r\n }\r\n else {\r\n const end = () => {\r\n if (animUtil.allowLeaveCallback(props)) {\r\n onLeave(key, childRef);\r\n onEnd(key, false, childRef);\r\n }\r\n };\r\n if (!isSameChildren(children, currentChildren, hiddenProp)) {\r\n this.setState({\r\n children: currentChildren,\r\n }, end);\r\n }\r\n else {\r\n end();\r\n }\r\n }\r\n };\r\n }\r\n componentDidMount() {\r\n const { hiddenProp } = this.props;\r\n let { children } = this.state;\r\n if (hiddenProp) {\r\n children = children.filter(child => !child.props[hiddenProp]);\r\n }\r\n children.forEach(child => {\r\n if (child && child.key) {\r\n this.performAppear(child.key);\r\n }\r\n });\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n this.nextProps = nextProps;\r\n const nextChildren = toArrayChildren(getChildrenFromProps(nextProps));\r\n const { exclusive, hiddenProp } = this.props;\r\n const { children } = this.state;\r\n const currentlyAnimatingKeys = this.currentlyAnimatingKeys;\r\n if (exclusive) {\r\n Object.keys(currentlyAnimatingKeys).forEach(key => this.stop(key));\r\n }\r\n const currentChildren = exclusive\r\n ? toArrayChildren(getChildrenFromProps(this.props))\r\n : children;\r\n let newChildren = [];\r\n if (hiddenProp) {\r\n nextChildren.forEach(nextChild => {\r\n if (nextChild) {\r\n let newChild;\r\n const currentChild = findChildInChildrenByKey(currentChildren, nextChild.key);\r\n if (nextChild.props[hiddenProp] && currentChild && !currentChild.props[hiddenProp]) {\r\n newChild = cloneElement(nextChild, { [hiddenProp]: false });\r\n }\r\n else {\r\n newChild = nextChild;\r\n }\r\n if (newChild) {\r\n newChildren.push(newChild);\r\n }\r\n }\r\n });\r\n newChildren = mergeChildren(currentChildren, newChildren);\r\n }\r\n else {\r\n newChildren = mergeChildren(currentChildren, nextChildren);\r\n }\r\n this.setState({\r\n children: newChildren,\r\n });\r\n nextChildren.forEach(child => {\r\n const key = child && child.key;\r\n if (key) {\r\n if (child && currentlyAnimatingKeys[key]) {\r\n return;\r\n }\r\n const hasPrev = child && findChildInChildrenByKey(currentChildren, key);\r\n if (hiddenProp) {\r\n const showInNext = !child.props[hiddenProp];\r\n if (hasPrev) {\r\n const showInNow = findShownChildInChildrenByKey(currentChildren, key, hiddenProp);\r\n if (!showInNow && showInNext) {\r\n this.keysToEnter.push(key);\r\n }\r\n }\r\n else if (showInNext) {\r\n this.keysToEnter.push(key);\r\n }\r\n }\r\n else if (!hasPrev) {\r\n this.keysToEnter.push(key);\r\n }\r\n }\r\n });\r\n currentChildren.forEach(child => {\r\n const key = child && child.key;\r\n if (key) {\r\n if (child && currentlyAnimatingKeys[key]) {\r\n return;\r\n }\r\n const hasNext = child && findChildInChildrenByKey(nextChildren, key);\r\n if (hiddenProp) {\r\n const showInNow = !child.props[hiddenProp];\r\n if (hasNext) {\r\n const showInNext = findShownChildInChildrenByKey(nextChildren, key, hiddenProp);\r\n if (!showInNext && showInNow) {\r\n this.keysToLeave.push(key);\r\n }\r\n }\r\n else if (showInNow) {\r\n this.keysToLeave.push(key);\r\n }\r\n }\r\n else if (!hasNext) {\r\n this.keysToLeave.push(key);\r\n }\r\n }\r\n });\r\n }\r\n componentDidUpdate() {\r\n const keysToEnter = this.keysToEnter;\r\n this.keysToEnter = [];\r\n keysToEnter.forEach(this.performEnter);\r\n const keysToLeave = this.keysToLeave;\r\n this.keysToLeave = [];\r\n keysToLeave.forEach(this.performLeave);\r\n }\r\n isValidChildByKey(currentChildren, key) {\r\n const { hiddenProp } = this.props;\r\n if (hiddenProp) {\r\n return !!findShownChildInChildrenByKey(currentChildren, key, hiddenProp);\r\n }\r\n return !!findChildInChildrenByKey(currentChildren, key);\r\n }\r\n stop(key) {\r\n delete this.currentlyAnimatingKeys[key];\r\n const component = this.childrenRefs[key];\r\n if (component) {\r\n component.stop();\r\n }\r\n }\r\n render() {\r\n const { props } = this;\r\n this.nextProps = props;\r\n const { animation, transitionName, transitionEnter, transitionAppear, transitionLeave, component: Cmp, componentProps, ...otherProps } = props;\r\n const { children: stateChildren } = this.state;\r\n let children = [];\r\n if (stateChildren) {\r\n children = stateChildren.map(child => {\r\n if (child === null || child === undefined) {\r\n return child;\r\n }\r\n if (!child.key) {\r\n throw new Error('must set key for animate children');\r\n }\r\n return createElement(AnimateChild, {\r\n key: child.key,\r\n ref: node => {\r\n if (child.key) {\r\n this.childrenRefs[child.key] = node;\r\n }\r\n },\r\n animation,\r\n transitionName,\r\n transitionEnter,\r\n transitionAppear,\r\n transitionLeave,\r\n }, child);\r\n });\r\n }\r\n if (Cmp) {\r\n const passedProps = omit(otherProps, [\r\n 'exclusive',\r\n 'onEnd',\r\n 'onEnter',\r\n 'onLeave',\r\n 'onAppear',\r\n 'hiddenProp',\r\n ]);\r\n return createElement(Cmp, {\r\n ...passedProps,\r\n ...componentProps,\r\n }, children);\r\n }\r\n return children[0] || null;\r\n }\r\n}\r\nAnimate.displayName = 'Animate';\r\nAnimate.propTypes = {\r\n component: PropTypes.any,\r\n componentProps: PropTypes.object,\r\n animation: PropTypes.object,\r\n transitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\r\n transitionEnter: PropTypes.bool,\r\n transitionAppear: PropTypes.bool,\r\n exclusive: PropTypes.bool,\r\n transitionLeave: PropTypes.bool,\r\n onEnd: PropTypes.func,\r\n onEnter: PropTypes.func,\r\n onLeave: PropTypes.func,\r\n onAppear: PropTypes.func,\r\n hiddenProp: PropTypes.string,\r\n};\r\nAnimate.defaultProps = {\r\n animation: {},\r\n component: 'span',\r\n componentProps: {},\r\n transitionEnter: true,\r\n transitionLeave: true,\r\n transitionAppear: false,\r\n};\r\n","import { cloneElement, Component, isValidElement } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport omit from 'lodash/omit';\r\nimport PropTypes from 'prop-types';\r\nimport cssAnimate, { isCssAnimationSupported } from 'css-animation';\r\nimport animUtil from './util';\r\nconst transitionMap = {\r\n enter: 'transitionEnter',\r\n appear: 'transitionAppear',\r\n leave: 'transitionLeave',\r\n};\r\nexport default class AnimateChild extends Component {\r\n componentWillUnmount() {\r\n this.stop();\r\n }\r\n componentWillEnter(done) {\r\n if (animUtil.isEnterSupported(this.props)) {\r\n this.transition('enter', done);\r\n }\r\n else {\r\n done(this);\r\n }\r\n }\r\n componentWillAppear(done) {\r\n if (animUtil.isAppearSupported(this.props)) {\r\n this.transition('appear', done);\r\n }\r\n else {\r\n done(this);\r\n }\r\n }\r\n componentWillLeave(done) {\r\n if (animUtil.isLeaveSupported(this.props)) {\r\n this.transition('leave', done);\r\n }\r\n else {\r\n done(this);\r\n }\r\n }\r\n transition(animationType, finishCallback) {\r\n const node = findDOMNode(this);\r\n if (node) {\r\n const { props } = this;\r\n const { transitionName, animation = {} } = props;\r\n const nameIsObj = typeof transitionName === 'object';\r\n this.stop();\r\n const end = () => {\r\n this.stopper = null;\r\n finishCallback(this);\r\n };\r\n if ((isCssAnimationSupported || !animation[animationType]) &&\r\n transitionName &&\r\n props[transitionMap[animationType]]) {\r\n const name = nameIsObj\r\n ? transitionName[animationType]\r\n : `${transitionName}-${animationType}`;\r\n let activeName = `${name}-active`;\r\n if (nameIsObj && transitionName[`${animationType}Active`]) {\r\n activeName = transitionName[`${animationType}Active`];\r\n }\r\n this.stopper = cssAnimate(node, {\r\n name,\r\n active: activeName,\r\n }, end);\r\n }\r\n else {\r\n this.stopper = animation[animationType](node, end);\r\n }\r\n }\r\n }\r\n stop() {\r\n const { stopper } = this;\r\n if (stopper) {\r\n this.stopper = null;\r\n stopper.stop();\r\n }\r\n }\r\n render() {\r\n const { children, ...otherProps } = this.props;\r\n if (isValidElement(children)) {\r\n const props = omit(otherProps, [\r\n 'animation',\r\n 'transitionName',\r\n 'transitionEnter',\r\n 'transitionAppear',\r\n 'transitionLeave',\r\n ]);\r\n const { style } = children.props;\r\n return cloneElement(children, { ...props, style: { ...props.style, ...style } });\r\n }\r\n return children;\r\n }\r\n}\r\nAnimateChild.displayName = 'AnimateChild';\r\nAnimateChild.propTypes = {\r\n children: PropTypes.any,\r\n transitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\r\n animation: PropTypes.any,\r\n};\r\n","import { Children, isValidElement } from 'react';\r\nexport function toArrayChildren(children) {\r\n const ret = [];\r\n Children.forEach(children, child => {\r\n if (isValidElement(child)) {\r\n ret.push(child);\r\n }\r\n });\r\n return ret;\r\n}\r\nexport function findChildInChildrenByKey(children, key) {\r\n if (children) {\r\n return children.find(child => child && child.key === key);\r\n }\r\n}\r\nexport function findShownChildInChildrenByKey(children, key, hiddenProp) {\r\n let ret;\r\n if (children) {\r\n children.forEach(child => {\r\n if (child && child.key === key && !child.props[hiddenProp]) {\r\n if (ret) {\r\n throw new Error('two child with same key for animate children');\r\n }\r\n ret = child;\r\n }\r\n });\r\n }\r\n return ret;\r\n}\r\n// export function findHiddenChildInChildrenByKey(children, key, showProp):boolean {\r\n// let found = false;\r\n// if (children) {\r\n// children.forEach(function (child) {\r\n// if (found) {\r\n// return;\r\n// }\r\n// found = child && child.key === key && !child.props[showProp];\r\n// });\r\n// }\r\n// return found;\r\n// }\r\nexport function isSameChildren(c1, c2, hiddenProp) {\r\n let same = c1.length === c2.length;\r\n if (same) {\r\n c1.forEach((child, index) => {\r\n const child2 = c2[index];\r\n if (child && child2) {\r\n if ((child && !child2) || (!child && child2)) {\r\n same = false;\r\n }\r\n else if (child.key !== child2.key) {\r\n same = false;\r\n }\r\n else if (hiddenProp && child.props[hiddenProp] !== child2.props[hiddenProp]) {\r\n same = false;\r\n }\r\n }\r\n });\r\n }\r\n return same;\r\n}\r\nexport function mergeChildren(prev, next) {\r\n let ret = [];\r\n const nextChildrenPending = {};\r\n let pendingChildren = [];\r\n prev.forEach(child => {\r\n if (child && child.key && findChildInChildrenByKey(next, child.key)) {\r\n if (pendingChildren.length) {\r\n nextChildrenPending[child.key] = pendingChildren;\r\n pendingChildren = [];\r\n }\r\n }\r\n else {\r\n pendingChildren.push(child);\r\n }\r\n });\r\n next.forEach(child => {\r\n if (child && child.key && {}.hasOwnProperty.call(nextChildrenPending, child.key)) {\r\n ret = ret.concat(nextChildrenPending[child.key]);\r\n }\r\n ret.push(child);\r\n });\r\n return ret.concat(pendingChildren);\r\n}\r\n","import Animate from './Animate';\r\nexport default Animate;\r\n","export default {\r\n isAppearSupported(props) {\r\n return props.transitionName && props.transitionAppear || props.animation.appear;\r\n },\r\n isEnterSupported(props) {\r\n return props.transitionName && props.transitionEnter || props.animation.enter;\r\n },\r\n isLeaveSupported(props) {\r\n return props.transitionName && props.transitionLeave || props.animation.leave;\r\n },\r\n allowAppearCallback(props) {\r\n return props.transitionAppear || props.animation.appear;\r\n },\r\n allowEnterCallback(props) {\r\n return props.transitionEnter || props.animation.enter;\r\n },\r\n allowLeaveCallback(props) {\r\n return props.transitionLeave || props.animation.leave;\r\n },\r\n};\r\n","import { cloneElement, Component } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nexport default class InputElement extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.focus = () => {\r\n const { ele } = this;\r\n if (typeof ele.focus === 'function') {\r\n ele.focus();\r\n }\r\n else {\r\n findDOMNode(ele).focus();\r\n }\r\n };\r\n this.blur = () => {\r\n const { ele } = this;\r\n if (typeof ele.blur === 'function') {\r\n ele.blur();\r\n }\r\n else {\r\n findDOMNode(ele).blur();\r\n }\r\n };\r\n this.saveRef = (ele) => {\r\n this.ele = ele;\r\n const { children: { ref }, } = this.props;\r\n if (typeof ref === 'function') {\r\n ref(ele);\r\n }\r\n };\r\n }\r\n render() {\r\n const { props, props: { children }, } = this;\r\n return cloneElement(children, {\r\n ...props,\r\n ref: this.saveRef,\r\n }, null);\r\n }\r\n}\r\n","import React, { Children, Component, isValidElement, } from 'react';\r\nimport classNames from 'classnames';\r\nimport Select from '../select';\r\nimport Input from '../input';\r\nimport InputElement from './InputElement';\r\nimport { OptGroup, Option } from '../rc-components/select';\r\nimport { Size } from '../_util/enum';\r\nimport { SelectMode } from '../select/enum';\r\nimport { getPrefixCls } from '../configure';\r\nfunction isSelectOptionOrSelectOptGroup(child) {\r\n return child && child.type && (child.type.isSelectOption || child.type.isSelectOptGroup);\r\n}\r\nexport default class AutoComplete extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.getInputElement = () => {\r\n const { children } = this.props;\r\n const element = children && isValidElement(children) && children.type !== Option ? (Children.only(children)) : (<Input border={false}/>);\r\n const elementProps = { ...element.props };\r\n delete elementProps.children;\r\n return <InputElement {...elementProps}>{element}</InputElement>;\r\n };\r\n this.saveSelect = (node) => {\r\n this.select = node;\r\n };\r\n }\r\n focus() {\r\n this.select.focus();\r\n }\r\n blur() {\r\n this.select.blur();\r\n }\r\n render() {\r\n const { size, className = '', notFoundContent, prefixCls: customizePrefixCls, optionLabelProp, dataSource, children, } = this.props;\r\n const prefixCls = getPrefixCls('select', customizePrefixCls);\r\n const cls = classNames({\r\n [`${prefixCls}-lg`]: size === Size.large,\r\n [`${prefixCls}-sm`]: size === Size.small,\r\n [className]: !!className,\r\n [`${prefixCls}-show-search`]: true,\r\n [`${prefixCls}-auto-complete`]: true,\r\n });\r\n let options;\r\n const childArray = Children.toArray(children);\r\n if (childArray.length && isSelectOptionOrSelectOptGroup(childArray[0])) {\r\n options = children;\r\n }\r\n else {\r\n options = dataSource\r\n ? dataSource.map(item => {\r\n if (isValidElement(item)) {\r\n return item;\r\n }\r\n switch (typeof item) {\r\n case 'string':\r\n return <Option key={item}>{item}</Option>;\r\n case 'object':\r\n return (<Option key={item.value}>\n {item.text}\n </Option>);\r\n default:\r\n throw new Error('AutoComplete[dataSource] only supports type `string[] | Object[]`.');\r\n }\r\n })\r\n : [];\r\n }\r\n return (<Select {...this.props} prefixCls={prefixCls} className={cls} mode={SelectMode.combobox} optionLabelProp={optionLabelProp} getInputElement={this.getInputElement} notFoundContent={notFoundContent} ref={this.saveSelect}>\n {options}\n </Select>);\r\n }\r\n}\r\nAutoComplete.displayName = 'AutoComplete';\r\nAutoComplete.Option = Option;\r\nAutoComplete.OptGroup = OptGroup;\r\nAutoComplete.defaultProps = {\r\n transitionName: 'slide-up',\r\n optionLabelProp: 'children',\r\n choiceTransitionName: 'zoom',\r\n showSearch: false,\r\n filterOption: false,\r\n};\r\n","import React, { Component } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport classNames from 'classnames';\r\nimport isNumber from 'lodash/isNumber';\r\nimport Icon from '../icon';\r\nimport { Size } from '../_util/enum';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Avatar extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.setScale = () => {\r\n const childrenNode = this.avatarChildren;\r\n if (childrenNode) {\r\n const childrenWidth = childrenNode.offsetWidth;\r\n const avatarNode = findDOMNode(this);\r\n const avatarWidth = avatarNode.getBoundingClientRect().width;\r\n // add 4px gap for each side to get better performance\r\n if (avatarWidth - 8 < childrenWidth) {\r\n this.setState({\r\n scale: (avatarWidth - 8) / childrenWidth,\r\n });\r\n }\r\n else {\r\n this.setState({\r\n scale: 1,\r\n });\r\n }\r\n }\r\n };\r\n this.handleImgLoadError = () => {\r\n const { onError } = this.props;\r\n const errorFlag = onError ? onError() : undefined;\r\n if (errorFlag !== false) {\r\n this.setState({ isImgExist: false });\r\n }\r\n };\r\n this.state = {\r\n scale: 1,\r\n isImgExist: true,\r\n };\r\n }\r\n componentDidMount() {\r\n this.setScale();\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n const { children } = this.props;\r\n const { scale, isImgExist } = this.state;\r\n if (prevProps.children !== children ||\r\n (prevState.scale !== scale && scale === 1) ||\r\n prevState.isImgExist !== isImgExist) {\r\n this.setScale();\r\n }\r\n }\r\n render() {\r\n const { prefixCls: customizePrefixCls, shape, size, src, icon, className, alt, ...others } = this.props;\r\n const prefixCls = getPrefixCls('avatar', customizePrefixCls);\r\n const { isImgExist, scale } = this.state;\r\n const sizeCls = classNames({\r\n [`${prefixCls}-lg`]: size === Size.large,\r\n [`${prefixCls}-sm`]: size === Size.small,\r\n });\r\n const classString = classNames(prefixCls, className, sizeCls, {\r\n [`${prefixCls}-${shape}`]: shape,\r\n [`${prefixCls}-image`]: src && isImgExist,\r\n [`${prefixCls}-icon`]: icon,\r\n });\r\n const sizeStyle = isNumber(size)\r\n ? {\r\n width: size,\r\n height: size,\r\n lineHeight: `${size}px`,\r\n fontSize: icon ? size / 2 : 18,\r\n }\r\n : {};\r\n let { children } = this.props;\r\n if (src && isImgExist) {\r\n children = <img src={src} onError={this.handleImgLoadError} alt={alt}/>;\r\n }\r\n else if (icon) {\r\n children = <Icon type={icon}/>;\r\n }\r\n else {\r\n const childrenNode = this.avatarChildren;\r\n if (childrenNode || scale !== 1) {\r\n const transformString = `scale(${scale}) translateX(-50%)`;\r\n const childrenStyle = {\r\n msTransform: transformString,\r\n WebkitTransform: transformString,\r\n transform: transformString,\r\n };\r\n const sizeChildrenStyle = isNumber(size)\r\n ? {\r\n lineHeight: `${size}px`,\r\n }\r\n : {};\r\n children = (<span className={`${prefixCls}-string`} ref={span => (this.avatarChildren = span)} style={{ ...sizeChildrenStyle, ...childrenStyle }}>\n {children}\n </span>);\r\n }\r\n else {\r\n children = (<span className={`${prefixCls}-string`} ref={span => (this.avatarChildren = span)}>\n {children}\n </span>);\r\n }\r\n }\r\n return (<span {...others} style={{ ...sizeStyle, ...others.style }} className={classString}>\n {children}\n </span>);\r\n }\r\n}\r\nAvatar.displayName = 'Avatar';\r\nAvatar.defaultProps = {\r\n shape: 'circle',\r\n size: Size.default,\r\n};\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport omit from 'lodash/omit';\r\nimport Animate from '../animate';\r\nimport addEventListener from '../_util/addEventListener';\r\nimport { getPrefixCls } from '../configure';\r\nimport getScroll from '../_util/getScroll';\r\nimport scrollTo from '../_util/scrollTo';\r\nfunction getDefaultTarget() {\r\n return window;\r\n}\r\nexport default class BackTop extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.state = {\r\n visible: false,\r\n };\r\n this.scrollToTop = (e) => {\r\n const { target = getDefaultTarget, onClick } = this.props;\r\n scrollTo(0, {\r\n getContainer: target,\r\n });\r\n if (typeof onClick === 'function') {\r\n onClick(e);\r\n }\r\n };\r\n this.handleScroll = () => {\r\n const { visibilityHeight, target = getDefaultTarget } = this.props;\r\n const scrollTop = getScroll(target(), true);\r\n this.setState({\r\n visible: scrollTop > visibilityHeight,\r\n });\r\n };\r\n }\r\n componentDidMount() {\r\n const { target = getDefaultTarget } = this.props;\r\n this.scrollEvent = addEventListener(target(), 'scroll', this.handleScroll);\r\n this.handleScroll();\r\n }\r\n componentWillUnmount() {\r\n if (this.scrollEvent) {\r\n this.scrollEvent.remove();\r\n }\r\n }\r\n render() {\r\n const { prefixCls: customizePrefixCls, className = '', children } = this.props;\r\n const prefixCls = getPrefixCls('back-top', customizePrefixCls);\r\n const classString = classNames(prefixCls, className);\r\n const defaultElement = (<div className={`${prefixCls}-content`}>\n <div className={`${prefixCls}-icon`}/>\n </div>);\r\n // fix https://fb.me/react-unknown-prop\r\n const divProps = omit(this.props, [\r\n 'prefixCls',\r\n 'className',\r\n 'children',\r\n 'visibilityHeight',\r\n 'target',\r\n 'visible',\r\n ]);\r\n const visible = 'visible' in this.props ? this.props.visible : this.state.visible;\r\n const backTopBtn = visible ? (<div {...divProps} className={classString} onClick={this.scrollToTop}>\n {children || defaultElement}\n </div>) : null;\r\n return (<Animate component=\"\" transitionName=\"fade\">\n {backTopBtn}\n </Animate>);\r\n }\r\n}\r\nBackTop.displayName = 'BackTop';\r\nBackTop.defaultProps = {\r\n visibilityHeight: 400,\r\n};\r\n","import React, { Component, createElement } from 'react';\r\nimport omit from 'lodash/omit';\r\nimport classNames from 'classnames';\r\nimport { getPrefixCls } from '../configure';\r\nfunction getNumberArray(num) {\r\n return num\r\n ? num\r\n .toString()\r\n .split('')\r\n .reverse()\r\n .map(i => Number(i))\r\n : [];\r\n}\r\nexport default class ScrollNumber extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.renderCurrentNumber = (num, i) => {\r\n const position = this.getPositionByNum(num, i);\r\n const { animateStarted } = this.state;\r\n const removeTransition = animateStarted || getNumberArray(this.lastCount)[i] === undefined;\r\n return createElement('span', {\r\n className: `${this.getPrefixCls()}-only`,\r\n style: {\r\n transition: removeTransition && 'none',\r\n msTransform: `translateY(${-position * 100}%)`,\r\n WebkitTransform: `translateY(${-position * 100}%)`,\r\n transform: `translateY(${-position * 100}%)`,\r\n },\r\n key: i,\r\n }, this.renderNumberList(position));\r\n };\r\n this.state = {\r\n animateStarted: true,\r\n count: props.count,\r\n };\r\n }\r\n getPositionByNum(num, i) {\r\n const { animateStarted, count } = this.state;\r\n if (animateStarted) {\r\n return 10 + num;\r\n }\r\n const currentDigit = getNumberArray(count)[i];\r\n const lastDigit = getNumberArray(this.lastCount)[i];\r\n // 同方向则在同一侧切换数字\r\n if (count > this.lastCount) {\r\n if (currentDigit >= lastDigit) {\r\n return 10 + num;\r\n }\r\n return 20 + num;\r\n }\r\n if (currentDigit <= lastDigit) {\r\n return 10 + num;\r\n }\r\n return num;\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if ('count' in nextProps) {\r\n const { count } = this.state;\r\n if (count === nextProps.count) {\r\n return;\r\n }\r\n this.lastCount = count;\r\n // 复原数字初始位置\r\n this.setState({\r\n animateStarted: true,\r\n }, () => {\r\n // 等待数字位置复原完毕\r\n // 开始设置完整的数字\r\n setTimeout(() => {\r\n this.setState({\r\n animateStarted: false,\r\n count: nextProps.count,\r\n }, () => {\r\n const { onAnimated } = this.props;\r\n if (onAnimated) {\r\n onAnimated();\r\n }\r\n });\r\n }, 5);\r\n });\r\n }\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return getPrefixCls('scroll-number', prefixCls);\r\n }\r\n renderNumberList(position) {\r\n const childrenToReturn = [];\r\n for (let i = 0; i < 30; i++) {\r\n const currentClassName = position === i ? 'current' : '';\r\n childrenToReturn.push(<p key={i.toString()} className={currentClassName}>\n {i % 10}\n </p>);\r\n }\r\n return childrenToReturn;\r\n }\r\n renderNumberElement() {\r\n const state = this.state;\r\n if (!state.count || isNaN(state.count)) {\r\n return state.count;\r\n }\r\n return getNumberArray(state.count)\r\n .map(this.renderCurrentNumber)\r\n .reverse();\r\n }\r\n render() {\r\n const { className, style, component = 'sup' } = this.props;\r\n const restProps = omit(this.props, ['count', 'onAnimated', 'component', 'prefixCls']);\r\n const newProps = {\r\n ...restProps,\r\n className: classNames(this.getPrefixCls(), className),\r\n };\r\n if (style && style.borderColor) {\r\n newProps.style.boxShadow = `0 0 0 1px ${style.borderColor} inset`;\r\n }\r\n return createElement(component, newProps, this.renderNumberElement());\r\n }\r\n}\r\nScrollNumber.displayName = 'ScrollNumber';\r\nScrollNumber.defaultProps = {\r\n count: null,\r\n onAnimated() { },\r\n};\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport ScrollNumber from './ScrollNumber';\r\nimport Animate from '../animate';\r\nimport { getPrefixCls } from '../configure';\r\nexport { ScrollNumberProps } from './ScrollNumber';\r\nexport default function Badge(props) {\r\n const { count, showZero, prefixCls: customizePrefixCls, scrollNumberPrefixCls, overflowCount, className, style, children, dot, status, text, offset, ...restProps } = props;\r\n const prefixCls = getPrefixCls('badge', customizePrefixCls);\r\n let displayCount = count > overflowCount ? `${overflowCount}+` : count;\r\n const isZero = displayCount === '0' || displayCount === 0;\r\n const isDot = (dot && !isZero) || status;\r\n // dot mode don't need count\r\n if (isDot) {\r\n displayCount = '';\r\n }\r\n const isEmpty = displayCount === null || displayCount === undefined || displayCount === '';\r\n const hidden = (isEmpty || (isZero && !showZero)) && !isDot;\r\n const statusCls = classNames({\r\n [`${prefixCls}-status-dot`]: !!status,\r\n [`${prefixCls}-status-${status}`]: !!status,\r\n });\r\n const scrollNumberCls = classNames({\r\n [`${prefixCls}-dot`]: isDot,\r\n [`${prefixCls}-count`]: !isDot,\r\n [`${prefixCls}-multiple-words`]: !isDot && count && count.toString && count.toString().length > 1,\r\n [`${prefixCls}-status-${status}`]: !!status,\r\n });\r\n const badgeCls = classNames(className, prefixCls, {\r\n [`${prefixCls}-status`]: !!status,\r\n [`${prefixCls}-not-a-wrapper`]: !children,\r\n });\r\n const styleWithOffset = offset\r\n ? {\r\n marginTop: offset[0],\r\n marginLeft: offset[1],\r\n ...style,\r\n }\r\n : style;\r\n // <Badge status=\"success\" />\r\n if (!children && status) {\r\n return (<span className={badgeCls} style={styleWithOffset}>\n <span className={statusCls}/>\n <span className={`${prefixCls}-status-text`}>{text}</span>\n </span>);\r\n }\r\n const scrollNumber = hidden ? null : (<ScrollNumber prefixCls={getPrefixCls('scroll-number', scrollNumberPrefixCls)} hidden={hidden} className={scrollNumberCls} count={displayCount} title={count} style={styleWithOffset}/>);\r\n const statusText = hidden || !text ? null : <span className={`${prefixCls}-status-text`}>{text}</span>;\r\n return (<span {...restProps} className={badgeCls}>\n {children}\n <Animate component=\"\" hiddenProp=\"hidden\" transitionName={children ? `${prefixCls}-zoom` : ''} transitionAppear>\n {scrollNumber}\n </Animate>\n {statusText}\n </span>);\r\n}\r\nBadge.displayName = 'Badge';\r\nBadge.defaultProps = {\r\n count: null,\r\n showZero: false,\r\n dot: false,\r\n overflowCount: 99,\r\n};\r\nBadge.propTypes = {\r\n count: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n showZero: PropTypes.bool,\r\n dot: PropTypes.bool,\r\n overflowCount: PropTypes.number,\r\n};\r\n","import React, { Children, cloneElement, Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport warning from '../_util/warning';\r\nimport BreadcrumbItem from './BreadcrumbItem';\r\nimport { getPrefixCls } from '../configure';\r\nfunction getBreadcrumbName(route, params) {\r\n if (!route.breadcrumbName) {\r\n return null;\r\n }\r\n const paramsKeys = Object.keys(params).join('|');\r\n const name = route.breadcrumbName.replace(new RegExp(`:(${paramsKeys})`, 'g'), (replacement, key) => params[key] || replacement);\r\n return name;\r\n}\r\nfunction defaultItemRender(route, params, routes, paths) {\r\n const isLastItem = routes.indexOf(route) === routes.length - 1;\r\n const name = getBreadcrumbName(route, params);\r\n return isLastItem ? <span>{name}</span> : <a href={`#/${paths.join('/')}`}>{name}</a>;\r\n}\r\nexport default class Breadcrumb extends Component {\r\n componentDidMount() {\r\n const props = this.props;\r\n warning(!('linkRender' in props || 'nameRender' in props), '`linkRender` and `nameRender` are removed, please use `itemRender` instead');\r\n }\r\n render() {\r\n let crumbs;\r\n const { separator, prefixCls, style, className, routes, params = {}, children, itemRender = defaultItemRender, } = this.props;\r\n if (routes && routes.length > 0) {\r\n const paths = [];\r\n crumbs = routes.map(route => {\r\n route.path = route.path || '';\r\n let path = route.path.replace(/^\\//, '');\r\n Object.keys(params).forEach(key => {\r\n path = path.replace(`:${key}`, params[key]);\r\n });\r\n if (path) {\r\n paths.push(path);\r\n }\r\n return (<BreadcrumbItem separator={separator} key={route.breadcrumbName || path}>\n {itemRender(route, params, routes, paths)}\n </BreadcrumbItem>);\r\n });\r\n }\r\n else if (children) {\r\n crumbs = Children.map(children, (element, index) => {\r\n if (!element) {\r\n return element;\r\n }\r\n warning(element.type && element.type.__ANT_BREADCRUMB_ITEM, \"Breadcrumb only accepts Breadcrumb.Item as it's children\");\r\n return cloneElement(element, {\r\n separator,\r\n key: index,\r\n });\r\n });\r\n }\r\n return (<div className={classNames(className, getPrefixCls('breadcrumb', prefixCls))} style={style}>\n {crumbs}\n </div>);\r\n }\r\n}\r\nBreadcrumb.displayName = 'Breadcrumb';\r\nBreadcrumb.defaultProps = {\r\n separator: '/',\r\n};\r\nBreadcrumb.propTypes = {\r\n prefixCls: PropTypes.string,\r\n separator: PropTypes.node,\r\n routes: PropTypes.array,\r\n params: PropTypes.object,\r\n itemRender: PropTypes.func,\r\n};\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class BreadcrumbItem extends Component {\r\n render() {\r\n const { prefixCls: customizePrefixCls, separator, children, ...restProps } = this.props;\r\n const prefixCls = getPrefixCls('breadcrumb', customizePrefixCls);\r\n let link;\r\n if ('href' in this.props) {\r\n link = (<a className={`${prefixCls}-link`} {...restProps}>\n {children}\n </a>);\r\n }\r\n else {\r\n link = (<span className={`${prefixCls}-link`} {...restProps}>\n {children}\n </span>);\r\n }\r\n if (children) {\r\n return (<span>\n {link}\n <span className={`${prefixCls}-separator`}>{separator}</span>\n </span>);\r\n }\r\n return null;\r\n }\r\n}\r\nBreadcrumbItem.displayName = 'BreadcrumbItem';\r\nBreadcrumbItem.__ANT_BREADCRUMB_ITEM = true;\r\nBreadcrumbItem.defaultProps = {\r\n separator: '/',\r\n};\r\nBreadcrumbItem.propTypes = {\r\n prefixCls: PropTypes.string,\r\n separator: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\r\n href: PropTypes.string,\r\n};\r\n","import Breadcrumb from './Breadcrumb';\r\nimport BreadcrumbItem from './BreadcrumbItem';\r\nexport { BreadcrumbProps } from './Breadcrumb';\r\nexport { BreadcrumbItemProps } from './BreadcrumbItem';\r\nBreadcrumb.Item = BreadcrumbItem;\r\nexport default Breadcrumb;\r\n","import React, { Children, Component, } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport omit from 'lodash/omit';\r\nimport Icon from '../icon';\r\nimport Ripple from '../ripple';\r\nimport { Size } from '../_util/enum';\r\nimport { getPrefixCls } from '../configure';\r\nimport { ProgressType } from '../progress/enum';\r\nimport Progress from '../progress';\r\nexport default class Button extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleClick = e => {\r\n clearTimeout(this.timeout);\r\n this.timeout = window.setTimeout(() => this.setState({ clicked: false }), 500);\r\n const { onClick } = this.props;\r\n if (onClick) {\r\n onClick(e);\r\n }\r\n };\r\n this.state = {\r\n loading: props.loading,\r\n clicked: false,\r\n };\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n const { loading: currentLoading } = this.props;\r\n const { loading } = nextProps;\r\n if (currentLoading) {\r\n clearTimeout(this.delayTimeout);\r\n }\r\n if (typeof loading !== 'boolean' && loading && loading.delay) {\r\n this.delayTimeout = window.setTimeout(() => this.setState({ loading }), loading.delay);\r\n }\r\n else {\r\n this.setState({ loading });\r\n }\r\n }\r\n componentWillUnmount() {\r\n if (this.timeout) {\r\n clearTimeout(this.timeout);\r\n }\r\n if (this.delayTimeout) {\r\n clearTimeout(this.delayTimeout);\r\n }\r\n }\r\n render() {\r\n const { prefixCls: customizePrefixCls, type, shape, size, className, htmlType, children, icon, ghost, funcType, ...others } = this.props;\r\n const { loading, clicked } = this.state;\r\n const prefixCls = getPrefixCls('btn', customizePrefixCls);\r\n // large => lg\r\n // small => sm\r\n let sizeCls = '';\r\n switch (size) {\r\n case Size.large:\r\n sizeCls = 'lg';\r\n break;\r\n case Size.small:\r\n sizeCls = 'sm';\r\n break;\r\n default:\r\n }\r\n const ComponentProp = others.href ? 'a' : 'button';\r\n const classes = classNames(prefixCls, className, {\r\n [`${prefixCls}-${type}`]: type,\r\n [`${prefixCls}-${shape}`]: shape,\r\n [`${prefixCls}-${sizeCls}`]: sizeCls,\r\n [`${prefixCls}-icon-only`]: !children && icon,\r\n [`${prefixCls}-loading`]: loading,\r\n [`${prefixCls}-clicked`]: clicked,\r\n [`${prefixCls}-background-ghost`]: ghost,\r\n [`${prefixCls}-${funcType}`]: funcType,\r\n });\r\n let iconNode = icon ? <Icon type={icon}/> : null;\r\n iconNode = loading ? (<Progress key=\"loading\" type={ProgressType.loading} size={Size.small}/>) : (iconNode);\r\n const kids = children || children === 0\r\n ? Children.map(children, child => {\r\n if (typeof child === 'string') {\r\n return <span>{child}</span>;\r\n }\r\n return child;\r\n })\r\n : null;\r\n return (<Ripple disabled={others.disabled}>\n <ComponentProp {...omit(others, ['loading'])} \r\n // 如果没有href属性,则表示组件使用button标签,type为'submit' | 'reset' | 'button'\r\n type={others.href ? undefined : htmlType || 'button'} className={classes} onClick={this.handleClick}>\n {iconNode}\n {kids}\n </ComponentProp>\n </Ripple>);\r\n }\r\n}\r\nButton.displayName = 'Button';\r\nButton.__ANT_BUTTON = true;\r\nButton.defaultProps = {\r\n loading: false,\r\n ghost: false,\r\n funcType: 'flat',\r\n};\r\nButton.propTypes = {\r\n type: PropTypes.string,\r\n shape: PropTypes.oneOf(['circle', 'circle-outline']),\r\n size: PropTypes.oneOf([Size.large, Size.default, Size.small]),\r\n htmlType: PropTypes.oneOf(['submit', 'button', 'reset']),\r\n onClick: PropTypes.func,\r\n loading: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\r\n className: PropTypes.string,\r\n icon: PropTypes.string,\r\n ghost: PropTypes.bool,\r\n funcType: PropTypes.oneOf(['raised', 'flat']),\r\n};\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport { Size } from '../_util/enum';\r\nimport { getPrefixCls } from '../configure';\r\nconst ButtonGroup = props => {\r\n const { prefixCls: customizePrefixCls, size, className, ...others } = props;\r\n const prefixCls = getPrefixCls('btn-group', customizePrefixCls);\r\n // large => lg\r\n // small => sm\r\n let sizeCls = '';\r\n switch (size) {\r\n case Size.large:\r\n sizeCls = 'lg';\r\n break;\r\n case Size.small:\r\n sizeCls = 'sm';\r\n break;\r\n default:\r\n }\r\n const classes = classNames(prefixCls, {\r\n [`${prefixCls}-${sizeCls}`]: sizeCls,\r\n }, className);\r\n return <div {...others} className={classes}/>;\r\n};\r\nButtonGroup.displayName = 'ButtonGroup';\r\nexport default ButtonGroup;\r\n","import Button from './Button';\r\nimport ButtonGroup from './ButtonGroup';\r\nexport { ButtonProps, ButtonShape, ButtonType, ButtonFuncType } from './Button';\r\nexport { ButtonGroupProps } from './ButtonGroup';\r\nButton.Group = ButtonGroup;\r\nexport default Button;\r\n","import React, { Component } from 'react';\r\nimport { Size } from '../_util/enum';\r\nimport Select from '../select';\r\nimport { Button, Group } from '../radio';\r\nimport { getPrefixCls } from '../configure';\r\nconst Option = Select.Option;\r\nexport default class Header extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.onYearChange = (year) => {\r\n const { value, validRange } = this.props;\r\n const newValue = value.clone();\r\n newValue.year(parseInt(year, 10));\r\n // switch the month so that it remains within range when year changes\r\n if (validRange) {\r\n const [start, end] = validRange;\r\n const newYear = newValue.get('year');\r\n const newMonth = newValue.get('month');\r\n if (newYear === end.get('year') && newMonth > end.get('month')) {\r\n newValue.month(end.get('month'));\r\n }\r\n if (newYear === start.get('year') && newMonth < start.get('month')) {\r\n newValue.month(start.get('month'));\r\n }\r\n }\r\n const { onValueChange } = this.props;\r\n if (onValueChange) {\r\n onValueChange(newValue);\r\n }\r\n };\r\n this.onMonthChange = (month) => {\r\n const { onValueChange, value } = this.props;\r\n const newValue = value.clone();\r\n newValue.month(parseInt(month, 10));\r\n if (onValueChange) {\r\n onValueChange(newValue);\r\n }\r\n };\r\n this.onTypeChange = (e) => {\r\n const { onTypeChange } = this.props;\r\n if (onTypeChange) {\r\n onTypeChange(e.target.value);\r\n }\r\n };\r\n this.getCalenderHeaderNode = (node) => {\r\n this.calenderHeaderNode = node;\r\n };\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return getPrefixCls('fullcalendar-header', prefixCls);\r\n }\r\n getYearSelectElement(year) {\r\n const { yearSelectOffset, yearSelectTotal, locale, fullscreen, validRange } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n let start = year - yearSelectOffset;\r\n let end = start + yearSelectTotal;\r\n if (validRange) {\r\n start = validRange[0].get('year');\r\n end = validRange[1].get('year') + 1;\r\n }\r\n const suffix = locale.year === '年' ? '年' : '';\r\n const options = [];\r\n for (let index = start; index < end; index++) {\r\n options.push(<Option key={`${index}`}>{index + suffix}</Option>);\r\n }\r\n return (<Select size={fullscreen ? Size.default : Size.small} dropdownMatchSelectWidth={false} className={`${prefixCls}-year-select`} onChange={this.onYearChange} value={String(year)} getPopupContainer={() => this.calenderHeaderNode}>\n {options}\n </Select>);\r\n }\r\n getMonthsLocale(value) {\r\n const current = value.clone();\r\n const localeData = value.localeData();\r\n const months = [];\r\n for (let i = 0; i < 12; i++) {\r\n current.month(i);\r\n months.push(localeData.monthsShort(current));\r\n }\r\n return months;\r\n }\r\n getMonthSelectElement(month, months) {\r\n const props = this.props;\r\n const { fullscreen, validRange, value } = props;\r\n const prefixCls = this.getPrefixCls();\r\n const options = [];\r\n let start = 0;\r\n let end = 12;\r\n if (validRange) {\r\n const [rangeStart, rangeEnd] = validRange;\r\n const currentYear = value.get('year');\r\n if (rangeEnd.get('year') === currentYear) {\r\n end = rangeEnd.get('month') + 1;\r\n }\r\n else {\r\n start = rangeStart.get('month');\r\n }\r\n }\r\n for (let index = start; index < end; index++) {\r\n options.push(<Option key={`${index}`}>{months[index]}</Option>);\r\n }\r\n return (<Select size={fullscreen ? Size.default : Size.small} dropdownMatchSelectWidth={false} className={`${prefixCls}-month-select`} value={String(month)} onChange={this.onMonthChange} getPopupContainer={() => this.calenderHeaderNode}>\n {options}\n </Select>);\r\n }\r\n render() {\r\n const { type, value, locale, fullscreen } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n const yearSelect = this.getYearSelectElement(value.year());\r\n const monthSelect = type === 'date'\r\n ? this.getMonthSelectElement(value.month(), this.getMonthsLocale(value))\r\n : null;\r\n const typeSwitch = (<Group onChange={this.onTypeChange} value={type} size={fullscreen ? Size.default : Size.small}>\n <Button value=\"date\">{locale.month}</Button>\n <Button value=\"month\">{locale.year}</Button>\n </Group>);\r\n return (<div className={`${prefixCls}-header`} ref={this.getCalenderHeaderNode}>\n {yearSelect}\n {monthSelect}\n {typeSwitch}\n </div>);\r\n }\r\n}\r\nHeader.displayName = 'Header';\r\nHeader.defaultProps = {\r\n yearSelectOffset: 10,\r\n yearSelectTotal: 20,\r\n};\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport noop from 'lodash/noop';\r\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\r\nimport Header from './Header';\r\nimport interopDefault from '../_util/interopDefault';\r\nimport enUS from './locale/en_US';\r\nimport FullCalendar from '../rc-components/calendar/FullCalendar';\r\nimport { getPrefixCls } from '../configure';\r\nexport { HeaderProps } from './Header';\r\nfunction zerofixed(v) {\r\n if (v < 10) {\r\n return `0${v}`;\r\n }\r\n return `${v}`;\r\n}\r\nexport default class Calendar extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.monthCellRender = (value) => {\r\n const { monthCellRender = noop } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n return (<div className={`${prefixCls}-month`}>\n <div className={`${prefixCls}-value`}>{value.localeData().monthsShort(value)}</div>\n <div className={`${prefixCls}-content`}>{monthCellRender(value)}</div>\n </div>);\r\n };\r\n this.dateCellRender = (value) => {\r\n const { dateCellRender = noop } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n return (<div className={`${prefixCls}-date`}>\n <div className={`${prefixCls}-value`}>{zerofixed(value.date())}</div>\n <div className={`${prefixCls}-content`}>{dateCellRender(value)}</div>\n </div>);\r\n };\r\n this.setValue = (value, way) => {\r\n if (!('value' in this.props)) {\r\n this.setState({ value });\r\n }\r\n if (way === 'select') {\r\n const { onSelect } = this.props;\r\n if (onSelect) {\r\n onSelect(value);\r\n }\r\n }\r\n else if (way === 'changePanel') {\r\n const { mode } = this.state;\r\n this.onPanelChange(value, mode);\r\n }\r\n };\r\n this.setType = (type) => {\r\n const mode = type === 'date' ? 'month' : 'year';\r\n const { mode: stateMode, value } = this.state;\r\n if (stateMode !== mode) {\r\n this.setState({ mode });\r\n this.onPanelChange(value, mode);\r\n }\r\n };\r\n this.onHeaderValueChange = (value) => {\r\n this.setValue(value, 'changePanel');\r\n };\r\n this.onHeaderTypeChange = (type) => {\r\n this.setType(type);\r\n };\r\n this.onSelect = (value) => {\r\n this.setValue(value, 'select');\r\n };\r\n this.getDateRange = (validRange, disabledDate) => (current) => {\r\n if (!current) {\r\n return false;\r\n }\r\n const [startDate, endDate] = validRange;\r\n const inRange = !current.isBetween(startDate, endDate, 'days', '[]');\r\n if (disabledDate) {\r\n return disabledDate(current) || inRange;\r\n }\r\n return inRange;\r\n };\r\n this.renderCalendar = (locale, localeCode) => {\r\n const { state, props } = this;\r\n const { value, mode } = state;\r\n if (value && localeCode) {\r\n value.locale(localeCode);\r\n }\r\n const { style, className, fullscreen, dateFullCellRender, monthFullCellRender } = props;\r\n const prefixCls = this.getPrefixCls();\r\n const type = mode === 'year' ? 'month' : 'date';\r\n let cls = className || '';\r\n if (fullscreen) {\r\n cls += ` ${prefixCls}-fullscreen`;\r\n }\r\n const monthCellRender = monthFullCellRender || this.monthCellRender;\r\n const dateCellRender = dateFullCellRender || this.dateCellRender;\r\n let disabledDate = props.disabledDate;\r\n if (props.validRange) {\r\n disabledDate = this.getDateRange(props.validRange, disabledDate);\r\n }\r\n return (<div className={cls} style={style}>\n <Header fullscreen={fullscreen} type={type} value={value} locale={locale.lang} prefixCls={prefixCls} onTypeChange={this.onHeaderTypeChange} onValueChange={this.onHeaderValueChange} validRange={props.validRange}/>\n <FullCalendar {...props} disabledDate={disabledDate} Select={noop} locale={locale.lang} type={type} prefixCls={prefixCls} showHeader={false} value={value} monthCellRender={monthCellRender} dateCellRender={dateCellRender} onSelect={this.onSelect}/>\n </div>);\r\n };\r\n const value = props.value || props.defaultValue || interopDefault(moment)();\r\n if (!interopDefault(moment).isMoment(value)) {\r\n throw new Error('The value/defaultValue of Calendar must be a moment object');\r\n }\r\n this.state = {\r\n value,\r\n mode: props.mode,\r\n };\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if ('value' in nextProps) {\r\n this.setState({\r\n value: nextProps.value,\r\n });\r\n }\r\n const { mode } = this.props;\r\n if ('mode' in nextProps && nextProps.mode !== mode) {\r\n this.setState({\r\n mode: nextProps.mode,\r\n });\r\n }\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return getPrefixCls('fullcalendar', prefixCls);\r\n }\r\n onPanelChange(value, mode) {\r\n const { onPanelChange } = this.props;\r\n if (onPanelChange) {\r\n onPanelChange(value, mode);\r\n }\r\n }\r\n render() {\r\n return (<LocaleReceiver componentName=\"Calendar\" defaultLocale={enUS}>\n {this.renderCalendar}\n </LocaleReceiver>);\r\n }\r\n}\r\nCalendar.displayName = 'Calendar';\r\nCalendar.defaultProps = {\r\n locale: {},\r\n fullscreen: true,\r\n mode: 'month',\r\n onSelect: noop,\r\n onPanelChange: noop,\r\n};\r\nCalendar.propTypes = {\r\n monthCellRender: PropTypes.func,\r\n dateCellRender: PropTypes.func,\r\n monthFullCellRender: PropTypes.func,\r\n dateFullCellRender: PropTypes.func,\r\n fullscreen: PropTypes.bool,\r\n locale: PropTypes.object,\r\n prefixCls: PropTypes.string,\r\n className: PropTypes.string,\r\n style: PropTypes.object,\r\n onPanelChange: PropTypes.func,\r\n value: PropTypes.object,\r\n onSelect: PropTypes.func,\r\n mode: PropTypes.string,\r\n};\r\n","/* eslint-disable camelcase */\r\nimport ar_EG from '../../date-picker/locale/ar_EG';\r\nexport default ar_EG;\r\n","/* eslint-disable camelcase */\r\nimport bg_BG from '../../date-picker/locale/bg_BG';\r\nexport default bg_BG;\r\n","/* eslint-disable camelcase */\r\nimport ca_ES from '../../date-picker/locale/ca_ES';\r\nexport default ca_ES;\r\n","/* eslint-disable camelcase */\r\nimport cs_CZ from '../../date-picker/locale/cs_CZ';\r\nexport default cs_CZ;\r\n","/* eslint-disable camelcase */\r\nimport de_DE from '../../date-picker/locale/de_DE';\r\nexport default de_DE;\r\n","/* eslint-disable camelcase */\r\nimport el_GR from '../../date-picker/locale/el_GR';\r\nexport default el_GR;\r\n","/* eslint-disable camelcase */\r\nimport en_GB from '../../date-picker/locale/en_GB';\r\nexport default en_GB;\r\n","/* eslint-disable camelcase */\r\nimport en_US from '../../date-picker/locale/en_US';\r\nexport default en_US;\r\n","/* eslint-disable camelcase */\r\nimport es_ES from '../../date-picker/locale/es_ES';\r\nexport default es_ES;\r\n","/* eslint-disable camelcase */\r\nimport et_EE from '../../date-picker/locale/et_EE';\r\nexport default et_EE;\r\n","/* eslint-disable camelcase */\r\nimport fa_IR from '../../date-picker/locale/fa_IR';\r\nexport default fa_IR;\r\n","/* eslint-disable camelcase */\r\nimport fi_FI from '../../date-picker/locale/fi_FI';\r\nexport default fi_FI;\r\n","/* eslint-disable camelcase */\r\nimport fr_BE from '../../date-picker/locale/fr_BE';\r\nexport default fr_BE;\r\n","/* eslint-disable camelcase */\r\nimport fr_FR from '../../date-picker/locale/fr_FR';\r\nexport default fr_FR;\r\n","/* eslint-disable camelcase */\r\nimport is_IS from '../../date-picker/locale/is_IS';\r\nexport default is_IS;\r\n","/* eslint-disable camelcase */\r\nimport it_IT from '../../date-picker/locale/it_IT';\r\nexport default it_IT;\r\n","/* eslint-disable camelcase */\r\nimport ja_JP from '../../date-picker/locale/ja_JP';\r\nexport default ja_JP;\r\n","/* eslint-disable camelcase */\r\nimport ko_KR from '../../date-picker/locale/ko_KR';\r\nexport default ko_KR;\r\n","/* eslint-disable camelcase */\r\nimport ku_IQ from '../../date-picker/locale/ku_IQ';\r\nexport default ku_IQ;\r\n","/* eslint-disable camelcase */\r\nimport nb_NO from '../../date-picker/locale/nb_NO';\r\nexport default nb_NO;\r\n","/* eslint-disable camelcase */\r\nimport nl_BE from '../../date-picker/locale/nl_BE';\r\nexport default nl_BE;\r\n","/* eslint-disable camelcase */\r\nimport nl_NL from '../../date-picker/locale/nl_NL';\r\nexport default nl_NL;\r\n","/* eslint-disable camelcase */\r\nimport pl_PL from '../../date-picker/locale/pl_PL';\r\nexport default pl_PL;\r\n","/* eslint-disable camelcase */\r\nimport pt_BR from '../../date-picker/locale/pt_BR';\r\nexport default pt_BR;\r\n","/* eslint-disable camelcase */\r\nimport pt_PT from '../../date-picker/locale/pt_PT';\r\nexport default pt_PT;\r\n","/* eslint-disable camelcase */\r\nimport ru_RU from '../../date-picker/locale/ru_RU';\r\nexport default ru_RU;\r\n","/* eslint-disable camelcase */\r\nimport sk_SK from '../../date-picker/locale/sk_SK';\r\nexport default sk_SK;\r\n","/* eslint-disable camelcase */\r\nimport sl_SI from '../../date-picker/locale/sl_SI';\r\nexport default sl_SI;\r\n","/* eslint-disable camelcase */\r\nimport sr_RS from '../../date-picker/locale/sr_RS';\r\nexport default sr_RS;\r\n","/* eslint-disable camelcase */\r\nimport sv_SE from '../../date-picker/locale/sv_SE';\r\nexport default sv_SE;\r\n","/* eslint-disable camelcase */\r\nimport th_TH from '../../date-picker/locale/th_TH';\r\nexport default th_TH;\r\n","/* eslint-disable camelcase */\r\nimport tr_TR from '../../date-picker/locale/tr_TR';\r\nexport default tr_TR;\r\n","/* eslint-disable camelcase */\r\nimport uk_UA from '../../date-picker/locale/uk_UA';\r\nexport default uk_UA;\r\n","/* eslint-disable camelcase */\r\nimport vi_VN from '../../date-picker/locale/vi_VN';\r\nexport default vi_VN;\r\n","/* eslint-disable camelcase */\r\nimport zh_CN from '../../date-picker/locale/zh_CN';\r\nexport default zh_CN;\r\n","/* eslint-disable camelcase */\r\nimport zh_TW from '../../date-picker/locale/zh_TW';\r\nexport default zh_TW;\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport { getPrefixCls } from '../configure';\r\nconst Grid = (props) => {\r\n const { prefixCls: customizePrefixCls, className, ...others } = props;\r\n const prefixCls = getPrefixCls('card', customizePrefixCls);\r\n const classString = classNames(`${prefixCls}-grid`, className);\r\n return <div {...others} className={classString}/>;\r\n};\r\nGrid.displayName = 'CardGrid';\r\nexport default Grid;\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport { getPrefixCls } from '../configure';\r\nconst Meta = (props) => {\r\n const { prefixCls: customizePrefixCls, className, avatar, title, description, ...others } = props;\r\n const prefixCls = getPrefixCls('card', customizePrefixCls);\r\n const classString = classNames(`${prefixCls}-meta`, className);\r\n const avatarDom = avatar ? <div className={`${prefixCls}-meta-avatar`}>{avatar}</div> : null;\r\n const titleDom = title ? <div className={`${prefixCls}-meta-title`}>{title}</div> : null;\r\n const descriptionDom = description ?\r\n <div className={`${prefixCls}-meta-description`}>{description}</div> : null;\r\n const MetaDetail = titleDom || descriptionDom ?\r\n <div className={`${prefixCls}-meta-detail`}>\n {titleDom}\n {descriptionDom}\n </div> : null;\r\n return (<div {...others} className={classString}>\n {avatarDom}\n {MetaDetail}\n </div>);\r\n};\r\nMeta.displayName = 'CardMeta';\r\nexport default Meta;\r\n","import * as tslib_1 from \"tslib\";\r\nimport React, { Children, Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport omit from 'lodash/omit';\r\nimport { Size } from '../_util/enum';\r\nimport Grid from './Grid';\r\nimport Meta from './Meta';\r\nimport Tabs from '../tabs';\r\nimport { throttleByAnimationFrameDecorator } from '../_util/throttleByAnimationFrame';\r\nimport warning from '../_util/warning';\r\nimport addEventListener from '../_util/addEventListener';\r\nimport { getPrefixCls } from '../configure';\r\nexport { CardGridProps } from './Grid';\r\nexport { CardMetaProps } from './Meta';\r\nexport default class Card extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.state = {\r\n widerPadding: false,\r\n };\r\n this.onTabChange = (key) => {\r\n const { onTabChange } = this.props;\r\n if (onTabChange) {\r\n onTabChange(key);\r\n }\r\n };\r\n this.saveRef = (node) => {\r\n this.container = node;\r\n };\r\n }\r\n componentDidMount() {\r\n this.updateWiderPadding();\r\n this.resizeEvent = addEventListener(window, 'resize', this.updateWiderPadding);\r\n if ('noHovering' in this.props) {\r\n const { noHovering } = this.props;\r\n warning(!noHovering, '`noHovering` of Card is deperated, you can remove it safely or use `hoverable` instead.');\r\n warning(!!noHovering, '`noHovering={false}` of Card is deperated, use `hoverable` instead.');\r\n }\r\n }\r\n componentWillUnmount() {\r\n if (this.resizeEvent) {\r\n this.resizeEvent.remove();\r\n }\r\n this.updateWiderPadding.cancel();\r\n }\r\n updateWiderPadding() {\r\n if (!this.container) {\r\n return;\r\n }\r\n // 936 is a magic card width pixer number indicated by designer\r\n const WIDTH_BOUDARY_PX = 936;\r\n const { widerPadding } = this.state;\r\n if (this.container.offsetWidth >= WIDTH_BOUDARY_PX && !widerPadding) {\r\n this.setState({ widerPadding: true }, () => {\r\n this.updateWiderPaddingCalled = true; // first render without css transition\r\n });\r\n }\r\n if (this.container.offsetWidth < WIDTH_BOUDARY_PX && widerPadding) {\r\n this.setState({ widerPadding: false }, () => {\r\n this.updateWiderPaddingCalled = true; // first render without css transition\r\n });\r\n }\r\n }\r\n isContainGrid() {\r\n const { children } = this.props;\r\n return Children.toArray(children).some((element) => element && element.type && element.type === Grid);\r\n }\r\n getAction(actions) {\r\n if (!actions || !actions.length) {\r\n return null;\r\n }\r\n const actionList = actions.map((action, index) => (<li style={{ width: `${100 / actions.length}%` }} key={`action-${String(index)}`}>\n <span>{action}</span>\n </li>));\r\n return actionList;\r\n }\r\n // For 2.x compatible\r\n getCompatibleHoverable() {\r\n const { noHovering, hoverable } = this.props;\r\n if ('noHovering' in this.props) {\r\n return !noHovering || hoverable;\r\n }\r\n return !!hoverable;\r\n }\r\n render() {\r\n const { prefixCls: customizePrefixCls, className, extra, bodyStyle, title, loading, bordered = true, type, cover, actions, tabList, children, activeTabKey, defaultActiveTabKey, onHeadClick, ...others } = this.props;\r\n const { widerPadding } = this.state;\r\n const prefixCls = getPrefixCls('card', customizePrefixCls);\r\n const classString = classNames(prefixCls, className, {\r\n [`${prefixCls}-loading`]: loading,\r\n [`${prefixCls}-bordered`]: bordered,\r\n [`${prefixCls}-hoverable`]: this.getCompatibleHoverable(),\r\n [`${prefixCls}-wider-padding`]: widerPadding,\r\n [`${prefixCls}-padding-transition`]: this.updateWiderPaddingCalled,\r\n [`${prefixCls}-contain-grid`]: this.isContainGrid(),\r\n [`${prefixCls}-contain-tabs`]: tabList && tabList.length,\r\n [`${prefixCls}-type-${type}`]: !!type,\r\n });\r\n const loadingBlock = (<div className={`${prefixCls}-loading-content`}>\n <p className={`${prefixCls}-loading-block`} style={{ width: '94%' }}/>\n <p>\n <span className={`${prefixCls}-loading-block`} style={{ width: '28%' }}/>\n <span className={`${prefixCls}-loading-block`} style={{ width: '62%' }}/>\n </p>\n <p>\n <span className={`${prefixCls}-loading-block`} style={{ width: '22%' }}/>\n <span className={`${prefixCls}-loading-block`} style={{ width: '66%' }}/>\n </p>\n <p>\n <span className={`${prefixCls}-loading-block`} style={{ width: '56%' }}/>\n <span className={`${prefixCls}-loading-block`} style={{ width: '39%' }}/>\n </p>\n <p>\n <span className={`${prefixCls}-loading-block`} style={{ width: '21%' }}/>\n <span className={`${prefixCls}-loading-block`} style={{ width: '15%' }}/>\n <span className={`${prefixCls}-loading-block`} style={{ width: '40%' }}/>\n </p>\n </div>);\r\n const hasActiveTabKey = activeTabKey !== undefined;\r\n const extraProps = {\r\n [hasActiveTabKey ? 'activeKey' : 'defaultActiveKey']: hasActiveTabKey\r\n ? activeTabKey\r\n : defaultActiveTabKey,\r\n };\r\n let head;\r\n const tabs = tabList && tabList.length ? (<Tabs {...extraProps} className={`${prefixCls}-head-tabs`} size={Size.large} onChange={this.onTabChange}>\n {tabList.map(item => (<Tabs.TabPane tab={item.tab} key={item.key}/>))}\n </Tabs>) : null;\r\n if (title || extra || tabs) {\r\n head = (<div className={`${prefixCls}-head`} onClick={onHeadClick}>\n <div className={`${prefixCls}-head-wrapper`}>\n {title && <div className={`${prefixCls}-head-title`}>{title}</div>}\n {extra && <div className={`${prefixCls}-extra`}>{extra}</div>}\n </div>\n {tabs}\n </div>);\r\n }\r\n const coverDom = cover ? <div className={`${prefixCls}-cover`}>{cover}</div> : null;\r\n const body = (<div className={`${prefixCls}-body`} style={bodyStyle}>\n {loading ? loadingBlock : children}\n </div>);\r\n const actionDom = actions && actions.length ? (<ul className={`${prefixCls}-actions`}>{this.getAction(actions)}</ul>) : null;\r\n const divProps = omit(others, ['onTabChange', 'noHovering', 'hoverable']);\r\n return (<div {...divProps} className={classString} ref={this.saveRef}>\n {head}\n {coverDom}\n {body}\n {actionDom}\n </div>);\r\n }\r\n}\r\nCard.displayName = 'Card';\r\nCard.Grid = Grid;\r\nCard.Meta = Meta;\r\ntslib_1.__decorate([\r\n throttleByAnimationFrameDecorator()\r\n], Card.prototype, \"updateWiderPadding\", null);\r\n","import React, { Component } from 'react';\r\nimport debounce from 'lodash/debounce';\r\nimport classNames from 'classnames';\r\nimport { getPrefixCls } from '../configure';\r\nimport { matchMediaPolifill } from '../_util/mediaQueryListPolyfill';\r\n// matchMedia polyfill for\r\n// https://github.com/WickyNilliams/enquire.js/issues/82\r\nif (typeof window !== 'undefined') {\r\n // const matchMediaPolyfill = (mediaQuery: string): MediaQueryList => {\r\n // return {\r\n // media: mediaQuery,\r\n // matches: false,\r\n // addListener() {\r\n // },\r\n // removeListener() {\r\n // },\r\n // };\r\n // };\r\n window.matchMedia = window.matchMedia || matchMediaPolifill;\r\n}\r\n// Use require over import (will be lifted up)\r\n// make sure matchMedia polyfill run before require('react-slick')\r\nconst SlickCarousel = require('react-slick').default;\r\nexport default class Carousel extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.onWindowResized = debounce(() => {\r\n const { autoplay } = this.props;\r\n if (autoplay && this.slick && this.slick.innerSlider && this.slick.innerSlider.autoPlay) {\r\n this.slick.innerSlider.autoPlay();\r\n }\r\n }, 500, {\r\n leading: false,\r\n });\r\n this.saveSlick = (node) => {\r\n this.slick = node;\r\n };\r\n }\r\n componentDidMount() {\r\n const { autoplay } = this.props;\r\n if (autoplay) {\r\n window.addEventListener('resize', this.onWindowResized);\r\n }\r\n this.innerSlider = this.slick && this.slick.innerSlider;\r\n }\r\n componentWillUnmount() {\r\n const { autoplay } = this.props;\r\n if (autoplay) {\r\n window.removeEventListener('resize', this.onWindowResized);\r\n this.onWindowResized.cancel();\r\n }\r\n }\r\n next() {\r\n this.slick.slickNext();\r\n }\r\n prev() {\r\n this.slick.slickPrev();\r\n }\r\n goTo(slide) {\r\n this.slick.slickGoTo(slide);\r\n }\r\n render() {\r\n const props = {\r\n ...this.props,\r\n };\r\n if (props.effect === 'fade') {\r\n props.fade = true;\r\n }\r\n const prefixCls = getPrefixCls('carousel', props.prefixCls);\r\n const className = classNames(prefixCls, {\r\n [`${prefixCls}-vertical`]: props.vertical,\r\n });\r\n return (<div className={className}>\n <SlickCarousel ref={this.saveSlick} {...props}/>\n </div>);\r\n }\r\n}\r\nCarousel.displayName = 'Carousel';\r\nCarousel.defaultProps = {\r\n dots: true,\r\n arrows: false,\r\n draggable: false,\r\n};\r\n","import React, { Component, } from 'react';\r\nimport arrayTreeFilter from 'array-tree-filter';\r\nimport classNames from 'classnames';\r\nimport omit from 'lodash/omit';\r\nimport Input from '../input';\r\nimport Icon from '../icon';\r\nimport RcCascader from '../rc-components/cascader';\r\nimport KeyCode from '../_util/KeyCode';\r\nimport { Size } from '../_util/enum';\r\nimport { getPrefixCls } from '../configure';\r\nfunction highlightKeyword(str, keyword, prefixCls) {\r\n return str.split(keyword).map((node, index) => index === 0\r\n ? node\r\n : [\r\n <span className={`${prefixCls}-menu-item-keyword`} key=\"seperator\">\n {keyword}\n </span>,\r\n node,\r\n ]);\r\n}\r\nfunction defaultFilterOption(inputValue, path) {\r\n return path.some(option => option.label.indexOf(inputValue) > -1);\r\n}\r\nfunction defaultRenderFilteredOption(inputValue, path, prefixCls) {\r\n return path.map(({ label }, index) => {\r\n const node = label.indexOf(inputValue) > -1\r\n ? highlightKeyword(label, inputValue, prefixCls)\r\n : label;\r\n return index === 0 ? node : [' / ', node];\r\n });\r\n}\r\nfunction defaultSortFilteredOption(a, b, inputValue) {\r\n function callback(elem) {\r\n return elem.label.indexOf(inputValue) > -1;\r\n }\r\n return a.findIndex(callback) - b.findIndex(callback);\r\n}\r\nconst defaultDisplayRender = (label) => label.join(' / ');\r\nexport default class Cascader extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleChange = (value, selectedOptions) => {\r\n this.setState({ inputValue: '' });\r\n if (selectedOptions[0].__IS_FILTERED_OPTION) {\r\n const unwrappedValue = value[0];\r\n const unwrappedSelectedOptions = selectedOptions[0].path;\r\n this.setValue(unwrappedValue, unwrappedSelectedOptions);\r\n return;\r\n }\r\n this.setValue(value, selectedOptions);\r\n };\r\n this.handlePopupVisibleChange = (popupVisible) => {\r\n if (!('popupVisible' in this.props)) {\r\n const { inputValue } = this.state;\r\n this.setState({\r\n popupVisible,\r\n inputFocused: popupVisible,\r\n inputValue: popupVisible ? inputValue : '',\r\n });\r\n }\r\n const { onPopupVisibleChange } = this.props;\r\n if (onPopupVisibleChange) {\r\n onPopupVisibleChange(popupVisible);\r\n }\r\n };\r\n this.handleInputBlur = () => {\r\n this.setState({\r\n inputFocused: false,\r\n });\r\n };\r\n this.handleInputClick = e => {\r\n const { inputFocused, popupVisible } = this.state;\r\n // Prevent `Trigger` behaviour.\r\n if (inputFocused || popupVisible) {\r\n e.stopPropagation();\r\n e.nativeEvent.stopImmediatePropagation();\r\n }\r\n };\r\n this.handleKeyDown = (e) => {\r\n if (e.keyCode === KeyCode.BACKSPACE) {\r\n e.stopPropagation();\r\n }\r\n };\r\n this.handleInputChange = (e) => {\r\n const inputValue = e.target.value;\r\n this.setState({ inputValue });\r\n };\r\n this.clearSelection = e => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n const { inputValue } = this.state;\r\n if (!inputValue) {\r\n this.setValue([]);\r\n this.handlePopupVisibleChange(false);\r\n }\r\n else {\r\n this.setState({ inputValue: '' });\r\n }\r\n };\r\n this.setValue = (value, selectedOptions = []) => {\r\n if (!('value' in this.props)) {\r\n this.setState({ value });\r\n }\r\n const { onChange } = this.props;\r\n if (onChange) {\r\n onChange(value, selectedOptions);\r\n }\r\n };\r\n this.saveInput = (node) => {\r\n this.input = node;\r\n };\r\n this.state = {\r\n value: props.value || props.defaultValue || [],\r\n inputValue: '',\r\n inputFocused: false,\r\n popupVisible: props.popupVisible,\r\n flattenOptions: props.showSearch && this.flattenTree(props.options, props.changeOnSelect),\r\n };\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if ('value' in nextProps) {\r\n this.setState({ value: nextProps.value || [] });\r\n }\r\n if ('popupVisible' in nextProps) {\r\n this.setState({ popupVisible: nextProps.popupVisible });\r\n }\r\n const { options } = this.props;\r\n if (nextProps.showSearch && options !== nextProps.options) {\r\n this.setState({\r\n flattenOptions: this.flattenTree(nextProps.options, nextProps.changeOnSelect),\r\n });\r\n }\r\n }\r\n getLabel() {\r\n const { options, displayRender = defaultDisplayRender } = this.props;\r\n const { value } = this.state;\r\n const unwrappedValue = Array.isArray(value[0]) ? value[0] : value;\r\n const selectedOptions = arrayTreeFilter(options, (o, level) => o.value === unwrappedValue[level]);\r\n const label = selectedOptions.map(o => o.label);\r\n return displayRender(label, selectedOptions);\r\n }\r\n flattenTree(options, changeOnSelect, ancestor = []) {\r\n let flattenOptions = [];\r\n options.forEach(option => {\r\n const path = ancestor.concat(option);\r\n if (changeOnSelect || !option.children || !option.children.length) {\r\n flattenOptions.push(path);\r\n }\r\n if (option.children) {\r\n flattenOptions = flattenOptions.concat(this.flattenTree(option.children, changeOnSelect, path));\r\n }\r\n });\r\n return flattenOptions;\r\n }\r\n generateFilteredOptions(prefixCls) {\r\n const { showSearch, notFoundContent } = this.props;\r\n const { filter = defaultFilterOption, render = defaultRenderFilteredOption, sort = defaultSortFilteredOption, } = showSearch;\r\n const { flattenOptions, inputValue } = this.state;\r\n const filtered = flattenOptions\r\n .filter(path => filter(inputValue, path))\r\n .sort((a, b) => sort(a, b, inputValue));\r\n if (filtered.length > 0) {\r\n return filtered.map((path) => {\r\n return {\r\n __IS_FILTERED_OPTION: true,\r\n path,\r\n label: render(inputValue, path, prefixCls),\r\n value: path.map((o) => o.value),\r\n disabled: path.some((o) => o.disabled),\r\n };\r\n });\r\n }\r\n return [{ label: notFoundContent, value: 'ANT_CASCADER_NOT_FOUND', disabled: true }];\r\n }\r\n focus() {\r\n this.input.focus();\r\n }\r\n blur() {\r\n this.input.blur();\r\n }\r\n render() {\r\n const { props, state } = this;\r\n const { prefixCls: customizePrefixCls, inputPrefixCls: customizeInputPrefixCls, children, placeholder, size, disabled, className, style, showSearch = false, ...otherProps } = props;\r\n const prefixCls = getPrefixCls('cascader', customizePrefixCls);\r\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\r\n const defaultValue = props.defaultValue;\r\n const value = state.value;\r\n const sizeCls = classNames({\r\n [`${inputPrefixCls}-lg`]: size === Size.large,\r\n [`${inputPrefixCls}-sm`]: size === Size.small,\r\n });\r\n const arrowCls = classNames({\r\n [`${prefixCls}-picker-arrow`]: true,\r\n [`${prefixCls}-picker-arrow-expand`]: state.popupVisible,\r\n });\r\n const pickerCls = classNames(className, `${prefixCls}-picker`, {\r\n [`${prefixCls}-picker-with-value`]: state.inputValue,\r\n [`${prefixCls}-picker-disabled`]: disabled,\r\n [`${prefixCls}-picker-${size}`]: !!size,\r\n [`${inputPrefixCls}-has-value`]: !!defaultValue || value.length,\r\n [`${inputPrefixCls}-focused`]: state.popupVisible,\r\n });\r\n // Fix bug of https://github.com/facebook/react/pull/5004\r\n // and https://fb.me/react-unknown-prop\r\n const inputProps = omit(otherProps, [\r\n 'onChange',\r\n 'options',\r\n 'popupPlacement',\r\n 'transitionName',\r\n 'displayRender',\r\n 'onPopupVisibleChange',\r\n 'changeOnSelect',\r\n 'expandTrigger',\r\n 'popupVisible',\r\n 'getPopupContainer',\r\n 'loadData',\r\n 'popupClassName',\r\n 'filterOption',\r\n 'renderFilteredOption',\r\n 'sortFilteredOption',\r\n 'notFoundContent',\r\n 'allowClear',\r\n ]);\r\n let options = props.options;\r\n if (state.inputValue) {\r\n options = this.generateFilteredOptions(prefixCls);\r\n }\r\n // Dropdown menu should keep previous status until it is fully closed.\r\n if (!state.popupVisible) {\r\n options = this.cachedOptions;\r\n }\r\n else {\r\n this.cachedOptions = options;\r\n }\r\n const dropdownMenuColumnStyle = {};\r\n const isNotFound = (options || []).length === 1 && options[0].value === 'ANT_CASCADER_NOT_FOUND';\r\n if (isNotFound) {\r\n dropdownMenuColumnStyle.height = 'auto'; // Height of one row.\r\n }\r\n // The default value of `matchInputWidth` is `true`\r\n const resultListMatchInputWidth = showSearch.matchInputWidth !== false;\r\n if (resultListMatchInputWidth && state.inputValue && this.input) {\r\n dropdownMenuColumnStyle.width = this.input.input.offsetWidth;\r\n }\r\n const input = children || (<span style={style} className={pickerCls}>\n <span className={`${prefixCls}-picker-label`}>{this.getLabel()}</span>\n <Input {...inputProps} ref={this.saveInput} prefixCls={inputPrefixCls} placeholder={value && value.length > 0 ? undefined : placeholder} className={`${prefixCls}-input ${sizeCls}`} value={state.inputValue} disabled={disabled} readOnly={!showSearch} autoComplete=\"off\" onClick={showSearch ? this.handleInputClick : undefined} onBlur={showSearch ? this.handleInputBlur : undefined} onKeyDown={this.handleKeyDown} onChange={showSearch ? this.handleInputChange : undefined}/>\n <Icon type=\"arrow_drop_down\" className={arrowCls}/>\n </span>);\r\n return (<RcCascader {...props} inputPrefixCls={inputPrefixCls} prefixCls={prefixCls} options={options} value={value} popupVisible={state.popupVisible} onPopupVisibleChange={this.handlePopupVisibleChange} onChange={this.handleChange} dropdownMenuColumnStyle={dropdownMenuColumnStyle}>\n {input}\n </RcCascader>);\r\n }\r\n}\r\nCascader.displayName = 'Cascader';\r\nCascader.defaultProps = {\r\n placeholder: 'Please select',\r\n transitionName: 'slide-up',\r\n popupPlacement: 'bottomLeft',\r\n options: [],\r\n disabled: false,\r\n allowClear: true,\r\n notFoundContent: 'Not Found',\r\n};\r\n","import React, { Component, } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport shallowEqual from 'lodash/isEqual';\r\nimport RcCheckbox from '../rc-components/checkbox';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Checkbox extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.saveCheckbox = (node) => {\r\n this.rcCheckbox = node;\r\n };\r\n }\r\n shouldComponentUpdate(nextProps, nextState, nextContext) {\r\n const { checkboxGroup } = this.context;\r\n return (!shallowEqual(this.props, nextProps) ||\r\n !shallowEqual(this.state, nextState) ||\r\n !shallowEqual(checkboxGroup, nextContext.checkboxGroup));\r\n }\r\n focus() {\r\n this.rcCheckbox.focus();\r\n }\r\n blur() {\r\n this.rcCheckbox.blur();\r\n }\r\n render() {\r\n const { props, context } = this;\r\n const { prefixCls: customizePrefixCls, className, children, indeterminate, style, onMouseEnter, onMouseLeave, ...restProps } = props;\r\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\r\n const { checkboxGroup } = context;\r\n const checkboxProps = { ...restProps };\r\n if (checkboxGroup) {\r\n checkboxProps.onChange = () => checkboxGroup.toggleOption({ label: children, value: props.value });\r\n checkboxProps.checked = checkboxGroup.value.indexOf(props.value) !== -1;\r\n checkboxProps.disabled = props.disabled || checkboxGroup.disabled;\r\n }\r\n const classString = classNames(className, {\r\n [`${prefixCls}-wrapper`]: true,\r\n });\r\n const checkboxClass = classNames({\r\n [`${prefixCls}-indeterminate`]: indeterminate,\r\n });\r\n return (<label className={classString} style={style} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <RcCheckbox {...checkboxProps} prefixCls={prefixCls} className={checkboxClass} ref={this.saveCheckbox}/>\n {children !== undefined ? <span>{children}</span> : null}\n </label>);\r\n }\r\n}\r\nCheckbox.displayName = 'Checkbox';\r\nCheckbox.defaultProps = {\r\n indeterminate: false,\r\n};\r\nCheckbox.contextTypes = {\r\n checkboxGroup: PropTypes.any,\r\n};\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport shallowEqual from 'lodash/isEqual';\r\nimport Checkbox from './Checkbox';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class CheckboxGroup extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.toggleOption = (option) => {\r\n const { state } = this;\r\n const optionIndex = state.value.indexOf(option.value);\r\n const value = [...state.value];\r\n if (optionIndex === -1) {\r\n value.push(option.value);\r\n }\r\n else {\r\n value.splice(optionIndex, 1);\r\n }\r\n if (!('value' in this.props)) {\r\n this.setState({ value });\r\n }\r\n const { onChange } = this.props;\r\n if (onChange) {\r\n onChange(value);\r\n }\r\n };\r\n this.state = {\r\n value: props.value || props.defaultValue || [],\r\n };\r\n }\r\n getChildContext() {\r\n const { disabled } = this.props;\r\n const { value } = this.state;\r\n return {\r\n checkboxGroup: {\r\n toggleOption: this.toggleOption,\r\n value,\r\n disabled,\r\n },\r\n };\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if ('value' in nextProps) {\r\n this.setState({\r\n value: nextProps.value || [],\r\n });\r\n }\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n return !shallowEqual(this.props, nextProps) || !shallowEqual(this.state, nextState);\r\n }\r\n getOptions() {\r\n const { options } = this.props;\r\n // https://github.com/Microsoft/TypeScript/issues/7960\r\n return options.map(option => {\r\n if (typeof option === 'string') {\r\n return {\r\n label: option,\r\n value: option,\r\n };\r\n }\r\n return option;\r\n });\r\n }\r\n render() {\r\n const { props, state } = this;\r\n const { prefixCls: customizePrefixCls, className, style, options } = props;\r\n const prefixCls = getPrefixCls('checkbox-group', customizePrefixCls);\r\n let children = props.children;\r\n if (options && options.length > 0) {\r\n children = this.getOptions().map(option => (<Checkbox key={option.value} disabled={'disabled' in option ? option.disabled : props.disabled} value={option.value} checked={state.value.indexOf(option.value) !== -1} onChange={() => this.toggleOption(option)} className={`${prefixCls}-item`}>\n {option.label}\n </Checkbox>));\r\n }\r\n const classString = classNames(prefixCls, className);\r\n const wrapperClassString = classNames({\r\n [`${prefixCls}-wrapper`]: true,\r\n [`${prefixCls}-has-label`]: props.label,\r\n });\r\n const labelClassString = classNames(`${prefixCls}-label`, {\r\n 'label-disabled': props.disabled,\r\n });\r\n return (<div className={wrapperClassString}>\n {props.label ? <span className={labelClassString}>{props.label}</span> : null}\n <div className={classString} style={style}>\n {children}\n </div>\n </div>);\r\n }\r\n}\r\nCheckboxGroup.displayName = 'CheckboxGroup';\r\nCheckboxGroup.defaultProps = {\r\n options: [],\r\n};\r\nCheckboxGroup.propTypes = {\r\n defaultValue: PropTypes.array,\r\n value: PropTypes.array,\r\n options: PropTypes.array,\r\n onChange: PropTypes.func,\r\n};\r\nCheckboxGroup.childContextTypes = {\r\n checkboxGroup: PropTypes.any,\r\n};\r\n","import Checkbox from './Checkbox';\r\nimport Group from './Group';\r\nexport { CheckboxProps, CheckboxChangeEvent } from './Checkbox';\r\nexport { CheckboxGroupProps, CheckboxOptionType } from './Group';\r\nCheckbox.Group = Group;\r\nexport default Checkbox;\r\n","import { Col, ColProps, ColSize } from '../grid';\r\nexport { ColProps, ColSize };\r\nexport default Col;\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport animation from '../_util/openAnimation';\r\nimport CollapsePanel from './CollapsePanel';\r\nimport RcCollapse from '../rc-components/collapse';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Collapse extends Component {\r\n render() {\r\n const { prefixCls: customizePrefixCls, className = '', bordered } = this.props;\r\n const prefixCls = getPrefixCls('collapse', customizePrefixCls);\r\n const collapseClassName = classNames({\r\n [`${prefixCls}-borderless`]: !bordered,\r\n }, className);\r\n return <RcCollapse {...this.props} prefixCls={prefixCls} className={collapseClassName}/>;\r\n }\r\n}\r\nCollapse.displayName = 'Collapse';\r\nCollapse.Panel = CollapsePanel;\r\nCollapse.defaultProps = {\r\n bordered: true,\r\n openAnimation: {\r\n ...animation,\r\n appear() { },\r\n },\r\n};\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport RcCollapse from '../rc-components/collapse';\r\nexport default function CollapsePanel(props) {\r\n const { prefixCls, className = '', showArrow = true } = props;\r\n const collapsePanelClassName = classNames({\r\n [`${prefixCls}-no-arrow`]: !showArrow,\r\n }, className);\r\n return <RcCollapse.Panel {...props} className={collapsePanelClassName}/>;\r\n}\r\n","import Collapse from './Collapse';\r\nexport { CollapseProps } from './Collapse';\r\nexport { CollapsePanelProps } from './CollapsePanel';\r\nexport default Collapse;\r\n","import { observable, runInAction, toJS } from 'mobx';\r\nimport isObject from 'lodash/isObject';\r\nimport { categories } from 'choerodon-ui-font';\r\nimport { RecordStatus } from 'choerodon-ui/pro/lib/data-set/enum';\r\nimport { $l } from 'choerodon-ui/pro/lib/locale-context';\r\nimport { TableQueryBarType } from 'choerodon-ui/pro/lib/table/enum';\r\nimport defaultFeedback from 'choerodon-ui/pro/lib/data-set/FeedBack';\r\nimport { LabelLayout } from 'choerodon-ui/pro/lib/form/enum';\r\nconst defaultRenderEmpty = (componentName) => {\r\n switch (componentName) {\r\n case 'Table':\r\n return $l('Table', 'empty_data');\r\n case 'Select':\r\n return $l('Select', 'no_matching_results');\r\n default:\r\n }\r\n};\r\nconst globalConfig = observable.map([\r\n ['prefixCls', 'c7n'],\r\n ['proPrefixCls', 'c7n-pro'],\r\n ['iconfontPrefix', 'icon'],\r\n ['ripple', true],\r\n ['lookupCache', { maxAge: 1000 * 60 * 10, max: 100 }],\r\n ['lookupUrl', code => `/common/code/${code}/`],\r\n ['lookupAxiosMethod', 'post'],\r\n ['lovDefineUrl', code => `/sys/lov/lov_define?code=${code}`],\r\n ['lovQueryUrl', code => `/common/lov/dataset/${code}`],\r\n ['dataKey', 'rows'],\r\n ['totalKey', 'total'],\r\n ['statusKey', '__status'],\r\n ['tlsKey', '__tls'],\r\n [\r\n 'status',\r\n { [RecordStatus.add]: 'add', [RecordStatus.update]: 'update', [RecordStatus.delete]: 'delete' },\r\n ],\r\n ['labelLayout', LabelLayout.horizontal],\r\n ['queryBar', TableQueryBarType.normal],\r\n ['tableBorder', true],\r\n ['tableHighLightRow', true],\r\n ['tableRowHeight', 30],\r\n ['tableColumnResizable', true],\r\n ['modalSectionBorder', true],\r\n ['modalOkFirst', true],\r\n ['feedback', defaultFeedback],\r\n ['renderEmpty', defaultRenderEmpty],\r\n ['icons', categories],\r\n [\r\n 'formatter',\r\n {\r\n jsonDate: 'YYYY-MM-DD HH:mm:ss',\r\n date: 'YYYY-MM-DD',\r\n dateTime: 'YYYY-MM-DD HH:mm:ss',\r\n time: 'HH:mm:ss',\r\n year: 'YYYY',\r\n month: 'YYYY-MM',\r\n week: 'YYYY-Wo',\r\n },\r\n ],\r\n]);\r\nexport function getConfig(key) {\r\n // FIXME: observable.map把构建map时传入的key类型和value类型分别做了union,\r\n // 丢失了一一对应的映射关系,导致函数调用者无法使用union后的返回值类型,因此需要指定本函数返回值为any\r\n return globalConfig.get(key);\r\n}\r\nexport function getPrefixCls(suffixCls, customizePrefixCls) {\r\n if (customizePrefixCls) {\r\n return customizePrefixCls;\r\n }\r\n return `${getConfig('prefixCls')}-${suffixCls}`;\r\n}\r\nexport function getProPrefixCls(suffixCls, customizePrefixCls) {\r\n if (customizePrefixCls) {\r\n return customizePrefixCls;\r\n }\r\n return `${getConfig('proPrefixCls')}-${suffixCls}`;\r\n}\r\nconst mergeProps = ['transport', 'feedback', 'formatter'];\r\nexport default function configure(config) {\r\n runInAction(() => {\r\n Object.keys(config).forEach((key) => {\r\n const value = config[key];\r\n if (mergeProps.includes(key) && isObject(value)) {\r\n globalConfig.set(key, {\r\n ...toJS(globalConfig.get(key)),\r\n ...value,\r\n });\r\n }\r\n else {\r\n globalConfig.set(key, config[key]);\r\n }\r\n });\r\n });\r\n}\r\n","/* tslint:disable jsx-no-multiline-js */\r\nimport React, { Component } from 'react';\r\nimport moment from 'moment';\r\nimport classNames from 'classnames';\r\nimport Button from '../button';\r\nimport Icon from '../icon';\r\nimport warning from '../_util/warning';\r\nimport interopDefault from '../_util/interopDefault';\r\nimport RangeCalendar from '../rc-components/calendar/RangeCalendar';\r\nimport RcDatePicker from '../rc-components/calendar/Picker';\r\nimport { Size } from '../_util/enum';\r\nimport { getPrefixCls } from '../configure';\r\nfunction getShowDateFromValue(value) {\r\n const [start, end] = value;\r\n // value could be an empty array, then we should not reset showDate\r\n if (!start && !end) {\r\n return;\r\n }\r\n const newEnd = end && end.isSame(start, 'month') ? end.clone().add(1, 'month') : end;\r\n return [start, newEnd];\r\n}\r\nfunction formatValue(value, format) {\r\n return (value && value.format(format)) || '';\r\n}\r\nfunction pickerValueAdapter(value) {\r\n if (!value) {\r\n return;\r\n }\r\n if (Array.isArray(value)) {\r\n return value;\r\n }\r\n return [value, value.clone().add(1, 'month')];\r\n}\r\nfunction isEmptyArray(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr.length === 0 || arr.every(i => !i);\r\n }\r\n return false;\r\n}\r\nfunction fixLocale(value, localeCode) {\r\n if (!localeCode) {\r\n return;\r\n }\r\n if (!value || value.length === 0) {\r\n return;\r\n }\r\n if (value[0]) {\r\n value[0].locale(localeCode);\r\n }\r\n if (value[1]) {\r\n value[1].locale(localeCode);\r\n }\r\n}\r\nexport default class RangePicker extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.clearSelection = e => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.setState({ value: [] });\r\n this.handleChange([]);\r\n };\r\n this.clearHoverValue = () => this.setState({ hoverValue: [] });\r\n this.handleChange = (value) => {\r\n const props = this.props;\r\n if (!('value' in props)) {\r\n this.setState(({ showDate }) => ({\r\n value,\r\n showDate: getShowDateFromValue(value) || showDate,\r\n }));\r\n }\r\n props.onChange(value, [\r\n formatValue(value[0], props.format),\r\n formatValue(value[1], props.format),\r\n ]);\r\n };\r\n this.handleOpenChange = (open) => {\r\n if (!('open' in this.props)) {\r\n this.setState({ open });\r\n }\r\n if (open === false) {\r\n this.clearHoverValue();\r\n }\r\n const { onOpenChange } = this.props;\r\n if (onOpenChange) {\r\n onOpenChange(open);\r\n }\r\n };\r\n this.handleShowDateChange = (showDate) => this.setState({ showDate });\r\n this.handleHoverChange = (hoverValue) => this.setState({ hoverValue });\r\n this.handleRangeMouseLeave = () => {\r\n const { open } = this.state;\r\n if (open) {\r\n this.clearHoverValue();\r\n }\r\n };\r\n this.handleCalendarInputSelect = (value) => {\r\n if (!value[0]) {\r\n return;\r\n }\r\n this.setState(({ showDate }) => ({\r\n value,\r\n showDate: getShowDateFromValue(value) || showDate,\r\n }));\r\n };\r\n this.handleRangeClick = (value) => {\r\n if (typeof value === 'function') {\r\n value = value();\r\n }\r\n this.setValue(value, true);\r\n const { onOk } = this.props;\r\n if (onOk) {\r\n onOk(value);\r\n }\r\n };\r\n this.savePicker = (node) => {\r\n this.picker = node;\r\n };\r\n this.renderFooter = (...args) => {\r\n const { ranges, renderExtraFooter } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n if (!ranges && !renderExtraFooter) {\r\n return null;\r\n }\r\n const customFooter = renderExtraFooter ? (<div className={`${prefixCls}-footer-extra`} key=\"extra\">\n {renderExtraFooter(...args)}\n </div>) : null;\r\n const operations = Object.keys(ranges || {}).map(range => {\r\n const value = ranges[range];\r\n return (<a key={range} onClick={() => this.handleRangeClick(value)} onMouseEnter={() => this.setState({ hoverValue: value })} onMouseLeave={this.handleRangeMouseLeave}>\n {range}\n </a>);\r\n });\r\n const rangeNode = (<div className={`${prefixCls}-footer-extra ${prefixCls}-range-quick-selector`} key=\"range\">\n {operations}\n </div>);\r\n return [rangeNode, customFooter];\r\n };\r\n const value = props.value || props.defaultValue || [];\r\n if ((value[0] && !interopDefault(moment).isMoment(value[0])) ||\r\n (value[1] && !interopDefault(moment).isMoment(value[1]))) {\r\n throw new Error('The value/defaultValue of RangePicker must be a moment object array');\r\n }\r\n const pickerValue = !value || isEmptyArray(value) ? props.defaultPickerValue : value;\r\n this.state = {\r\n value,\r\n showDate: pickerValueAdapter(pickerValue || interopDefault(moment)()),\r\n open: props.open,\r\n hoverValue: [],\r\n };\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if ('value' in nextProps) {\r\n const { showDate } = this.state;\r\n const value = nextProps.value || [];\r\n this.setState({\r\n value,\r\n showDate: getShowDateFromValue(value) || showDate,\r\n });\r\n }\r\n if ('open' in nextProps) {\r\n this.setState({\r\n open: nextProps.open,\r\n });\r\n }\r\n }\r\n setValue(value, hidePanel) {\r\n this.handleChange(value);\r\n const { props } = this;\r\n if ((hidePanel || !props.showTime) && !('open' in props)) {\r\n this.setState({ open: false });\r\n }\r\n }\r\n focus() {\r\n this.picker.focus();\r\n }\r\n blur() {\r\n this.picker.blur();\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return getPrefixCls('calendar', prefixCls);\r\n }\r\n render() {\r\n const { state, props } = this;\r\n const { value, showDate, hoverValue, open } = state;\r\n const { popupStyle, style, disabledDate, disabledTime, showTime, showToday, ranges, onOk, locale, localeCode, format, dateRender, onCalendarChange, } = props;\r\n fixLocale(value, localeCode);\r\n fixLocale(showDate, localeCode);\r\n warning(!('onOK' in props), 'It should be `RangePicker[onOk]`, instead of `onOK`!');\r\n const prefixCls = this.getPrefixCls();\r\n const calendarClassName = classNames({\r\n [`${prefixCls}-time`]: showTime,\r\n [`${prefixCls}-range-with-ranges`]: ranges,\r\n });\r\n // 需要选择时间时,点击 ok 时才触发 onChange\r\n const pickerChangeHandler = {\r\n onChange: this.handleChange,\r\n };\r\n let calendarProps = {\r\n onOk: this.handleChange,\r\n };\r\n if (props.timePicker) {\r\n pickerChangeHandler.onChange = changedValue => this.handleChange(changedValue);\r\n }\r\n else {\r\n calendarProps = {};\r\n }\r\n if ('mode' in props) {\r\n calendarProps.mode = props.mode;\r\n }\r\n const startPlaceholder = 'placeholder' in props ? props.placeholder[0] : locale.lang.rangePlaceholder[0];\r\n const endPlaceholder = 'placeholder' in props ? props.placeholder[1] : locale.lang.rangePlaceholder[1];\r\n const calendar = (<RangeCalendar {...calendarProps} onChange={onCalendarChange} format={format} prefixCls={prefixCls} className={calendarClassName} renderFooter={this.renderFooter} timePicker={props.timePicker} disabledDate={disabledDate} disabledTime={disabledTime} dateInputPlaceholder={[startPlaceholder, endPlaceholder]} locale={locale.lang} onOk={onOk} dateRender={dateRender} value={showDate} onValueChange={this.handleShowDateChange} hoverValue={hoverValue} onHoverChange={this.handleHoverChange} onPanelChange={props.onPanelChange} showToday={showToday} onInputSelect={this.handleCalendarInputSelect}/>);\r\n // default width for showTime\r\n const pickerStyle = {};\r\n if (props.showTime) {\r\n pickerStyle.width = (style && style.width) || 350;\r\n }\r\n const clearIcon = !props.disabled && props.allowClear && value && (value[0] || value[1]) ? (<Button shape=\"circle\" size={Size.small} onClick={this.clearSelection} className={`${prefixCls}-picker-clear`} icon=\"close\"/>) : null;\r\n const input = ({ value: inputValue }) => {\r\n const start = inputValue[0];\r\n const end = inputValue[1];\r\n return (<span className={`${prefixCls}-range-picker ${props.pickerWrapperInputClass}`}>\n <span className={props.pickerInputClass}>\n <input disabled={props.disabled} readOnly value={(start && start.format(props.format)) || ''} placeholder={startPlaceholder} className={`${prefixCls}-range-picker-input`} tabIndex={-1}/>\n <span className={`${prefixCls}-range-picker-separator`}> ~ </span>\n <input disabled={props.disabled} readOnly value={(end && end.format(props.format)) || ''} placeholder={endPlaceholder} className={`${prefixCls}-range-picker-input`} tabIndex={-1}/>\n {clearIcon}\n <span className={`${props.inputPrefixCls}-suffix`}>\n <Icon type=\"date_range\" className={`${prefixCls}-picker-icon`}/>\n </span>\n </span>\n </span>);\r\n };\r\n return (<span ref={this.savePicker} id={props.id} className={classNames(props.className, props.pickerClass)} style={{ ...style, ...pickerStyle }} tabIndex={props.disabled ? -1 : 0} onFocus={props.onFocus} onBlur={props.onBlur}>\n <RcDatePicker {...props} {...pickerChangeHandler} calendar={calendar} value={value} open={open} onOpenChange={this.handleOpenChange} prefixCls={`${prefixCls}-picker-container`} style={popupStyle}>\n {input}\n </RcDatePicker>\n </span>);\r\n }\r\n}\r\nRangePicker.displayName = 'RangePicker';\r\nRangePicker.defaultProps = {\r\n allowClear: true,\r\n showToday: false,\r\n};\r\n","import React, { Component } from 'react';\r\nimport moment from 'moment';\r\nimport classNames from 'classnames';\r\nimport Icon from '../icon';\r\nimport Input from '../input';\r\nimport Button from '../button';\r\nimport interopDefault from '../_util/interopDefault';\r\nimport Calendar from '../rc-components/calendar';\r\nimport RcDatePicker from '../rc-components/calendar/Picker';\r\nimport { Size } from '../_util/enum';\r\nfunction formatValue(value, format) {\r\n return (value && value.format(format)) || '';\r\n}\r\nexport default class WeekPicker extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.weekDateRender = (current) => {\r\n const { value } = this.state;\r\n const { prefixCls } = this.props;\r\n if (value && current.year() === value.year() && current.week() === value.week()) {\r\n return (<div className={`${prefixCls}-selected-day`}>\n <div className={`${prefixCls}-date`}>{current.date()}</div>\n </div>);\r\n }\r\n return <div className={`${prefixCls}-calendar-date`}>{current.date()}</div>;\r\n };\r\n this.handleOpenChange = (status) => {\r\n const { onOpenChange } = this.props;\r\n const { focused } = this.state;\r\n if (status !== focused) {\r\n this.setState({\r\n focused: status,\r\n });\r\n }\r\n if (onOpenChange) {\r\n onOpenChange(status);\r\n }\r\n };\r\n this.handleChange = (value) => {\r\n if (!('value' in this.props)) {\r\n this.setState({ value });\r\n }\r\n const { onChange, format } = this.props;\r\n onChange(value, formatValue(value, format));\r\n };\r\n this.clearSelection = e => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.handleChange(null);\r\n };\r\n this.onPickerIconClick = e => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n const { focused } = this.state;\r\n this.picker.setOpen(!focused);\r\n };\r\n this.saveInput = (node) => {\r\n this.input = node;\r\n };\r\n this.savePicker = (node) => {\r\n this.picker = node;\r\n };\r\n const value = props.value || props.defaultValue;\r\n if (value && !interopDefault(moment).isMoment(value)) {\r\n throw new Error('The value/defaultValue of DatePicker or MonthPicker must be a moment object');\r\n }\r\n this.state = {\r\n value,\r\n focused: false,\r\n };\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if ('value' in nextProps) {\r\n this.setState({ value: nextProps.value });\r\n }\r\n }\r\n focus() {\r\n this.input.focus();\r\n }\r\n blur() {\r\n this.input.blur();\r\n }\r\n render() {\r\n const { props } = this;\r\n const { focused, value } = this.state;\r\n const { prefixCls, className, disabled, pickerClass, popupStyle, pickerInputClass, format, allowClear, locale, localeCode, disabledDate, style, onFocus, onBlur, label, id, } = props;\r\n const pickerValue = value;\r\n if (pickerValue && localeCode) {\r\n pickerValue.locale(localeCode);\r\n }\r\n const placeholder = 'placeholder' in props ? props.placeholder : locale.lang.placeholder;\r\n const calendar = (<Calendar showWeekNumber dateRender={this.weekDateRender} prefixCls={prefixCls} format={format} locale={locale.lang} showDateInput={false} showToday={false} disabledDate={disabledDate}/>);\r\n const clearIcon = !disabled && allowClear && value ? (<Button className={`${prefixCls}-picker-clear`} onClick={this.clearSelection} shape=\"circle\" icon=\"close\" size={Size.small}/>) : null;\r\n const suffix = (<span className={`${prefixCls}-picker-icon-wrapper`} onClick={this.onPickerIconClick}>\n {clearIcon}\n <Icon type=\"date_range\" className={`${prefixCls}-picker-icon`}/>\n </span>);\r\n const input = ({ value: inputValue }) => (<Input ref={this.saveInput} disabled={disabled} readOnly value={(inputValue && inputValue.format(format)) || ''} placeholder={placeholder} className={pickerInputClass} onFocus={onFocus} onBlur={onBlur} style={style} suffix={suffix} label={label} focused={focused}/>);\r\n return (<span className={classNames(className, pickerClass)} id={id}>\n <RcDatePicker {...this.props} calendar={calendar} prefixCls={`${prefixCls}-picker-container`} value={pickerValue} onChange={this.handleChange} onOpenChange={this.handleOpenChange} style={popupStyle} ref={this.savePicker}>\n {input}\n </RcDatePicker>\n </span>);\r\n }\r\n}\r\nWeekPicker.defaultProps = {\r\n format: 'gggg-wo',\r\n allowClear: true,\r\n};\r\n","import React, { Component } from 'react';\r\nimport moment from 'moment';\r\nimport classNames from 'classnames';\r\nimport omit from 'lodash/omit';\r\nimport Button from '../button';\r\nimport Icon from '../icon';\r\nimport Input from '../input';\r\nimport warning from '../_util/warning';\r\nimport interopDefault from '../_util/interopDefault';\r\nimport MonthCalendar from '../rc-components/calendar/MonthCalendar';\r\nimport RcDatePicker from '../rc-components/calendar/Picker';\r\nimport { Size } from '../_util/enum';\r\nimport { getPrefixCls } from '../configure';\r\nexport default function createPicker(TheCalendar) {\r\n var _a;\r\n return _a = class CalenderWrapper extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.renderFooter = (...args) => {\r\n const { renderExtraFooter } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n return renderExtraFooter ? (<div className={`${prefixCls}-footer-extra`}>{renderExtraFooter(...args)}</div>) : null;\r\n };\r\n this.clearSelection = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.handleChange(null);\r\n };\r\n this.onPickerIconClick = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n const { focused } = this.state;\r\n this.picker.setOpen(!focused);\r\n };\r\n this.handleChange = (value) => {\r\n const props = this.props;\r\n if (!('value' in props)) {\r\n this.setState({\r\n value,\r\n showDate: value,\r\n });\r\n }\r\n props.onChange(value, (value && value.format(props.format)) || '');\r\n };\r\n this.handleCalendarChange = (value) => {\r\n this.setState({ showDate: value });\r\n };\r\n this.handleOpenChange = (status) => {\r\n const { onOpenChange } = this.props;\r\n const { focused } = this.state;\r\n if (status !== focused) {\r\n this.setState({\r\n focused: status,\r\n });\r\n }\r\n if (onOpenChange) {\r\n onOpenChange(status);\r\n }\r\n };\r\n this.saveInput = (node) => {\r\n this.input = node;\r\n };\r\n this.savePicker = (node) => {\r\n this.picker = node;\r\n };\r\n const value = props.value || props.defaultValue;\r\n if (value && !interopDefault(moment).isMoment(value)) {\r\n throw new Error('The value/defaultValue of DatePicker or MonthPicker must be a moment object');\r\n }\r\n this.state = {\r\n value,\r\n showDate: value,\r\n focused: false,\r\n };\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if ('value' in nextProps) {\r\n this.setState({\r\n value: nextProps.value,\r\n showDate: nextProps.value,\r\n });\r\n }\r\n }\r\n focus() {\r\n this.input.focus();\r\n }\r\n blur() {\r\n this.input.blur();\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return getPrefixCls('calendar', prefixCls);\r\n }\r\n render() {\r\n const { value, showDate, focused } = this.state;\r\n const props = omit(this.props, ['onChange']);\r\n const { label, disabled, pickerInputClass, locale, localeCode } = props;\r\n const prefixCls = this.getPrefixCls();\r\n const placeholder = 'placeholder' in props ? props.placeholder : locale.lang.placeholder;\r\n const disabledTime = props.showTime ? props.disabledTime : null;\r\n const calendarClassName = classNames({\r\n [`${prefixCls}-time`]: props.showTime,\r\n [`${prefixCls}-month`]: MonthCalendar === TheCalendar,\r\n });\r\n if (value && localeCode) {\r\n value.locale(localeCode);\r\n }\r\n let pickerProps = {};\r\n let calendarProps = {};\r\n if (props.showTime) {\r\n calendarProps = {\r\n onSelect: this.handleChange,\r\n };\r\n }\r\n else {\r\n pickerProps = {\r\n onChange: this.handleChange,\r\n };\r\n }\r\n if ('mode' in props) {\r\n calendarProps.mode = props.mode;\r\n }\r\n warning(!('onOK' in props), 'It should be `DatePicker[onOk]` or `MonthPicker[onOk]`, instead of `onOK`!');\r\n const calendar = (<TheCalendar {...calendarProps} disabledDate={props.disabledDate} disabledTime={disabledTime} locale={locale.lang} timePicker={props.timePicker} defaultValue={props.defaultPickerValue || interopDefault(moment)()} dateInputPlaceholder={placeholder} prefixCls={prefixCls} className={calendarClassName} onOk={props.onOk} dateRender={props.dateRender} format={props.format} showToday={props.showToday} monthCellContentRender={props.monthCellContentRender} renderFooter={this.renderFooter} onPanelChange={props.onPanelChange} onChange={this.handleCalendarChange} value={showDate}/>);\r\n const clearIcon = !props.disabled && props.allowClear && value ? (<Button className={`${prefixCls}-picker-clear`} onClick={this.clearSelection} shape=\"circle\" icon=\"close\" size={Size.small}/>) : null;\r\n const suffix = (<span className={`${prefixCls}-picker-icon-wrapper`} onClick={this.onPickerIconClick}>\n {clearIcon}\n <Icon type=\"date_range\" className={`${prefixCls}-picker-icon`}/>\n </span>);\r\n const inputProps = {\r\n label,\r\n disabled,\r\n placeholder,\r\n suffix,\r\n focused,\r\n };\r\n const input = ({ value: inputValue }) => (<Input {...inputProps} ref={this.saveInput} value={(inputValue && inputValue.format(props.format)) || ''} className={pickerInputClass} readOnly/>);\r\n return (<span id={props.id} className={classNames(props.className, props.pickerClass)} style={props.style} onFocus={props.onFocus} onBlur={props.onBlur}>\n <RcDatePicker {...props} {...pickerProps} onOpenChange={this.handleOpenChange} calendar={calendar} value={value} prefixCls={`${prefixCls}-picker-container`} style={props.popupStyle} ref={this.savePicker}>\n {input}\n </RcDatePicker>\n </span>);\r\n }\r\n },\r\n _a.displayName = 'CalenderWrapper',\r\n _a.defaultProps = {\r\n allowClear: true,\r\n showToday: true,\r\n },\r\n _a;\r\n}\r\n","import createPicker from './createPicker';\r\nimport wrapPicker from './wrapPicker';\r\nimport RangePicker from './RangePicker';\r\nimport WeekPicker from './WeekPicker';\r\nimport RcCalendar from '../rc-components/calendar';\r\nimport MonthCalendar from '../rc-components/calendar/MonthCalendar';\r\nconst DatePicker = wrapPicker(createPicker(RcCalendar));\r\nconst MonthPicker = wrapPicker(createPicker(MonthCalendar), 'YYYY-MM');\r\nObject.assign(DatePicker, {\r\n RangePicker: wrapPicker(RangePicker),\r\n MonthPicker,\r\n WeekPicker: wrapPicker(WeekPicker, 'gggg-wo'),\r\n});\r\nexport default DatePicker;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/ar_EG';\r\nimport TimePickerLocale from '../../time-picker/locale/ar_EG';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'اختيار التاريخ',\r\n rangePlaceholder: ['البداية', 'النهاية'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/bg_BG';\r\nimport TimePickerLocale from '../../time-picker/locale/bg_BG';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Избор на дата',\r\n rangePlaceholder: ['Начална', 'Крайна'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/ca_ES';\r\nimport TimePickerLocale from '../../time-picker/locale/ca_ES';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Seleccionar data',\r\n rangePlaceholder: ['Data inicial', 'Data final'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/cs_CZ';\r\nimport TimePickerLocale from '../../time-picker/locale/cs_CZ';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Vybrat datum',\r\n rangePlaceholder: ['Od', 'Do'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/de_DE';\r\nimport TimePickerLocale from '../../time-picker/locale/de_DE';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Datum auswählen',\r\n rangePlaceholder: ['Startdatum', 'Enddatum'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/el_GR';\r\nimport TimePickerLocale from '../../time-picker/locale/el_GR';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Επιλέξτε ημερομηνία',\r\n rangePlaceholder: ['Αρχική ημερομηνία', 'Τελική ημερομηνία'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/en_GB';\r\nimport TimePickerLocale from '../../time-picker/locale/en_GB';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Select date',\r\n rangePlaceholder: ['Start date', 'End date'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/en_US';\r\nimport TimePickerLocale from '../../time-picker/locale/en_US';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Select date',\r\n rangePlaceholder: ['Start date', 'End date'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/es_ES';\r\nimport TimePickerLocale from '../../time-picker/locale/es_ES';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Seleccionar fecha',\r\n rangePlaceholder: ['Fecha inicial', 'Fecha final'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/et_EE';\r\nimport TimePickerLocale from '../../time-picker/locale/et_EE';\r\n// 统一合并为完整的 Locale\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Vali kuupäev',\r\n rangePlaceholder: ['Algus kuupäev', 'Lõpu kuupäev'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/fa_IR';\r\nimport TimePickerLocale from '../../time-picker/locale/fa_IR';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'انتخاب تاریخ',\r\n rangePlaceholder: ['تاریخ شروع', 'تاریخ پایان'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/fi_FI';\r\nimport TimePickerLocale from '../../time-picker/locale/fi_FI';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Valitse päivä',\r\n rangePlaceholder: ['Alku päivä', 'Loppu päivä'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/fr_BE';\r\nimport TimePickerLocale from '../../time-picker/locale/fr_BE';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Sélectionner une date',\r\n rangePlaceholder: ['Date de début', 'Date de fin'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/fr_FR';\r\nimport TimePickerLocale from '../../time-picker/locale/fr_FR';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Sélectionner une date',\r\n rangePlaceholder: ['Date de début', 'Date de fin'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/is_IS';\r\nimport TimePickerLocale from '../../time-picker/locale/is_IS';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Veldu dag',\r\n rangePlaceholder: ['Upphafsdagur', 'Lokadagur'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/it_IT';\r\nimport TimePickerLocale from '../../time-picker/locale/it_IT';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Selezionare la data',\r\n rangePlaceholder: ['Data d\\'inizio', 'Data di fine'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/ja_JP';\r\nimport TimePickerLocale from '../../time-picker/locale/ja_JP';\r\nconst locale = {\r\n lang: {\r\n placeholder: '日付を選択',\r\n rangePlaceholder: ['開始日付', '終了日付'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/ko_KR';\r\nimport TimePickerLocale from '../../time-picker/locale/ko_KR';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: '날짜 선택',\r\n rangePlaceholder: ['시작일', '종료일'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/ku_IQ';\r\nimport TimePickerLocale from '../../time-picker/locale/ku_IQ';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Dîrok hilbijêre',\r\n rangePlaceholder: ['Dîroka destpêkê', 'Dîroka dawîn'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/nb_NO';\r\nimport TimePickerLocale from '../../time-picker/locale/nb_NO';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Velg dato',\r\n rangePlaceholder: ['Startdato', 'Sluttdato'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/nl_BE';\r\nimport TimePickerLocale from '../../time-picker/locale/nl_BE';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Selecteer datum',\r\n rangePlaceholder: ['Begin datum', 'Eind datum'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/nl_NL';\r\nimport TimePickerLocale from '../../time-picker/locale/nl_NL';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Selecteer datum',\r\n rangePlaceholder: ['Begin datum', 'Eind datum'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/pl_PL';\r\nimport TimePickerLocale from '../../time-picker/locale/pl_PL';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Wybierz datę',\r\n rangePlaceholder: ['Data początkowa', 'Data końcowa'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/pt_BR';\r\nimport TimePickerLocale from '../../time-picker/locale/pt_BR';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Selecionar data',\r\n rangePlaceholder: ['Data de início', 'Data de fim'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/pt_PT';\r\nimport TimePickerLocale from '../../time-picker/locale/pt_PT';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n ...CalendarLocale,\r\n placeholder: 'Data',\r\n rangePlaceholder: ['Data inicial', 'Data final'],\r\n today: 'Hoje',\r\n now: 'Agora',\r\n backToToday: 'Hoje',\r\n ok: 'Ok',\r\n clear: 'Limpar',\r\n month: 'Mês',\r\n year: 'Ano',\r\n timeSelect: 'Hora',\r\n dateSelect: 'Selecionar data',\r\n monthSelect: 'Selecionar mês',\r\n yearSelect: 'Selecionar ano',\r\n decadeSelect: 'Selecionar década',\r\n yearFormat: 'YYYY',\r\n dateFormat: 'D/M/YYYY',\r\n dayFormat: 'D',\r\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\r\n monthFormat: 'MMMM',\r\n monthBeforeYear: false,\r\n previousMonth: 'Mês anterior (PageUp)',\r\n nextMonth: 'Mês seguinte (PageDown)',\r\n previousYear: 'Ano anterior (Control + left)',\r\n nextYear: 'Ano seguinte (Control + right)',\r\n previousDecade: 'Última década',\r\n nextDecade: 'Próxima década',\r\n previousCentury: 'Último século',\r\n nextCentury: 'Próximo século',\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n placeholder: 'Hora',\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","/**\r\n * Created by Andrey Gayvoronsky on 13/04/16.\r\n */\r\nimport CalendarLocale from '../../rc-components/calendar/locale/ru_RU';\r\nimport TimePickerLocale from '../../time-picker/locale/ru_RU';\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Выберите дату',\r\n rangePlaceholder: ['Начальная дата', 'Конечная дата'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/sk_SK';\r\nimport TimePickerLocale from '../../time-picker/locale/sk_SK';\r\n// 统一合并为完整的 Locale\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Vybrať dátum',\r\n rangePlaceholder: ['Od', 'Do'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import TimePickerLocale from '../../time-picker/locale/sl_SI';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Izberite datum',\r\n rangePlaceholder: ['Začetni datum', 'Končni datum'],\r\n today: 'Danes',\r\n now: 'Trenutno',\r\n backToToday: 'Nazaj na trenutni datum',\r\n ok: 'Ok',\r\n clear: 'Počisti',\r\n month: 'Mesec',\r\n year: 'Leto',\r\n timeSelect: 'Izberi čas',\r\n dateSelect: 'Izberi datum',\r\n monthSelect: 'Izberite mesec',\r\n yearSelect: 'Izberite leto',\r\n decadeSelect: 'Izberite desetletje',\r\n yearFormat: 'YYYY',\r\n dateFormat: 'D.M.YYYY',\r\n dayFormat: 'D',\r\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\r\n monthFormat: 'MMMM',\r\n monthBeforeYear: true,\r\n previousMonth: 'Prejšnji mesec (PageUp)',\r\n nextMonth: 'Naslednji mesec (PageDown)',\r\n previousYear: 'Lansko leto (Control + left)',\r\n nextYear: 'Naslednje leto (Control + right)',\r\n previousDecade: 'Prejšnje desetletje',\r\n nextDecade: 'Naslednje desetletje',\r\n previousCentury: 'Zadnje stoletje',\r\n nextCentury: 'Naslednje stoletje',\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/sr_RS';\r\nimport TimePickerLocale from '../../time-picker/locale/sr_RS';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Izaberite datum',\r\n rangePlaceholder: ['Početni datum', 'Krajnji datum'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/sv_SE';\r\nimport TimePickerLocale from '../../time-picker/locale/sv_SE';\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Välj datum',\r\n rangePlaceholder: ['Startdatum', 'Slutdatum'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/th_TH';\r\nimport TimePickerLocale from '../../time-picker/locale/th_TH';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'เลือกวันที่',\r\n rangePlaceholder: ['วันเริ่มต้น', 'วันสิ้นสุด'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: { ...TimePickerLocale },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/tr_TR';\r\nimport TimePickerLocale from '../../time-picker/locale/tr_TR';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Tarih Seç',\r\n rangePlaceholder: ['Başlangıç Tarihi', 'Bitiş Tarihi'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/uk_UA';\r\nimport TimePickerLocale from '../../time-picker/locale/uk_UA';\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Оберіть дату',\r\n rangePlaceholder: ['Початкова дата', 'Кінцева дата'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/en_US';\r\nimport TimePickerLocale from '../../time-picker/locale/en_US';\r\n// Merge into a locale object\r\nconst locale = {\r\n lang: {\r\n placeholder: 'Chọn thời điểm',\r\n rangePlaceholder: ['Ngày bắt đầu', 'Ngày kết thúc'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/zh_CN';\r\nimport TimePickerLocale from '../../time-picker/locale/zh_CN';\r\nconst locale = {\r\n lang: {\r\n placeholder: '请选择日期',\r\n rangePlaceholder: ['开始日期', '结束日期'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\n// should add whitespace between char in Button\r\nlocale.lang.ok = '确 定';\r\n// All settings at:\r\nexport default locale;\r\n","import CalendarLocale from '../../rc-components/calendar/locale/zh_TW';\r\nimport TimePickerLocale from '../../time-picker/locale/zh_TW';\r\nconst locale = {\r\n lang: {\r\n placeholder: '請選擇日期',\r\n rangePlaceholder: ['開始日期', '結束日期'],\r\n ...CalendarLocale,\r\n },\r\n timePickerLocale: {\r\n ...TimePickerLocale,\r\n },\r\n};\r\nlocale.lang.ok = '確 定';\r\n// All settings at:\r\nexport default locale;\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\r\nimport { generateShowHourMinuteSecond } from '../time-picker';\r\nimport enUS from './locale/en_US';\r\nimport TimePickerPanel from '../rc-components/time-picker/Panel';\r\nimport { Size } from '../_util/enum';\r\nimport { getPrefixCls } from '../configure';\r\nfunction getColumns({ showHour, showMinute, showSecond, use12Hours }) {\r\n let column = 0;\r\n if (showHour) {\r\n column += 1;\r\n }\r\n if (showMinute) {\r\n column += 1;\r\n }\r\n if (showSecond) {\r\n column += 1;\r\n }\r\n if (use12Hours) {\r\n column += 1;\r\n }\r\n return column;\r\n}\r\nexport default function wrapPicker(Picker, defaultFormat) {\r\n var _a;\r\n return _a = class PickerWrapper extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.handleOpenChange = (open) => {\r\n const { onOpenChange } = this.props;\r\n onOpenChange(open);\r\n };\r\n this.handleFocus = (e) => {\r\n const { onFocus } = this.props;\r\n if (onFocus) {\r\n onFocus(e);\r\n }\r\n };\r\n this.handleBlur = (e) => {\r\n const { onBlur } = this.props;\r\n if (onBlur) {\r\n onBlur(e);\r\n }\r\n };\r\n this.savePicker = (node) => {\r\n this.picker = node;\r\n };\r\n this.getDefaultLocale = () => {\r\n const { locale } = this.props;\r\n const result = {\r\n ...enUS,\r\n ...locale,\r\n };\r\n result.lang = {\r\n ...result.lang,\r\n ...(locale || {}).lang,\r\n };\r\n return result;\r\n };\r\n this.renderPicker = (locale, localeCode) => {\r\n const props = this.props;\r\n const { prefixCls, inputPrefixCls } = props;\r\n const pickerClass = classNames(`${prefixCls}-picker`, {\r\n [`${prefixCls}-picker-${props.size}`]: !!props.size,\r\n });\r\n const pickerInputClass = classNames(`${prefixCls}-picker-input`, inputPrefixCls, {\r\n [`${inputPrefixCls}-lg`]: props.size === Size.large,\r\n [`${inputPrefixCls}-sm`]: props.size === Size.small,\r\n [`${inputPrefixCls}-disabled`]: props.disabled,\r\n });\r\n const pickerWrapperInputClass = classNames(`${inputPrefixCls}-wrapper`, {\r\n [`${inputPrefixCls}-disabled`]: props.disabled,\r\n [`${inputPrefixCls}-has-border`]: props.border,\r\n });\r\n const timeFormat = (props.showTime && props.showTime.format) || 'HH:mm:ss';\r\n const rcTimePickerProps = {\r\n ...generateShowHourMinuteSecond(timeFormat),\r\n format: timeFormat,\r\n use12Hours: props.showTime && props.showTime.use12Hours,\r\n };\r\n const columns = getColumns(rcTimePickerProps);\r\n const timePickerCls = `${prefixCls}-time-picker-column-${columns}`;\r\n const timePicker = props.showTime ? (<TimePickerPanel {...rcTimePickerProps} {...props.showTime} prefixCls={`${prefixCls}-time-picker`} className={timePickerCls} placeholder={locale.timePickerLocale.placeholder} transitionName=\"slide-up\"/>) : null;\r\n return (<Picker {...props} ref={this.savePicker} pickerClass={pickerClass} pickerInputClass={pickerInputClass} pickerWrapperInputClass={pickerWrapperInputClass} locale={locale} localeCode={localeCode} timePicker={timePicker} onOpenChange={this.handleOpenChange} onFocus={this.handleFocus} onBlur={this.handleBlur}/>);\r\n };\r\n }\r\n componentDidMount() {\r\n const { autoFocus, disabled } = this.props;\r\n if (autoFocus && !disabled) {\r\n this.focus();\r\n }\r\n }\r\n focus() {\r\n this.picker.focus();\r\n }\r\n blur() {\r\n this.picker.blur();\r\n }\r\n render() {\r\n return (<LocaleReceiver componentName=\"DatePicker\" defaultLocale={this.getDefaultLocale}>\n {this.renderPicker}\n </LocaleReceiver>);\r\n }\r\n },\r\n _a.displayName = 'PickerWrapper',\r\n _a.defaultProps = {\r\n format: defaultFormat || 'YYYY-MM-DD',\r\n transitionName: 'slide-up',\r\n popupStyle: {},\r\n onChange() { },\r\n onOk() { },\r\n onOpenChange() { },\r\n locale: {},\r\n prefixCls: getPrefixCls('calendar'),\r\n inputPrefixCls: getPrefixCls('input'),\r\n border: true,\r\n },\r\n _a;\r\n}\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport { getPrefixCls } from '../configure';\r\nexport default function Divider({ prefixCls: customizePrefixCls, type = 'horizontal', orientation = '', className, children, dashed, ...restProps }) {\r\n const prefixCls = getPrefixCls('divider', customizePrefixCls);\r\n const orientationPrefix = orientation.length > 0 ? `-${orientation}` : orientation;\r\n const classString = classNames(className, prefixCls, `${prefixCls}-${type}`, {\r\n [`${prefixCls}-with-text${orientationPrefix}`]: children,\r\n [`${prefixCls}-dashed`]: !!dashed,\r\n });\r\n return (<div className={classString} {...restProps}>\n {children && <span className={`${prefixCls}-inner-text`}>{children}</span>}\n </div>);\r\n}\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport Button from '../button';\r\nimport Icon from '../icon';\r\nimport Dropdown from './dropdown';\r\nimport { getPrefixCls } from '../configure';\r\nconst ButtonGroup = Button.Group;\r\nexport default function DropdownButton(props) {\r\n const { prefixCls: customizePrefixCls, type, disabled, onClick, children, className, overlay, trigger, align, visible, onVisibleChange, placement, getPopupContainer, ...restProps } = props;\r\n const prefixCls = getPrefixCls('dropdown-button', customizePrefixCls);\r\n const dropdownProps = {\r\n align,\r\n overlay,\r\n disabled,\r\n trigger: disabled ? [] : trigger,\r\n onVisibleChange,\r\n placement,\r\n getPopupContainer,\r\n };\r\n if ('visible' in props) {\r\n dropdownProps.visible = visible;\r\n }\r\n return (<ButtonGroup {...restProps} className={classNames(prefixCls, className)}>\n <Button type={type} disabled={disabled} onClick={onClick}>\n {children}\n </Button>\n <Dropdown {...dropdownProps}>\n <Button type={type}>\n <Icon type=\"arrow_drop_down\"/>\n </Button>\n </Dropdown>\n </ButtonGroup>);\r\n}\r\nDropdownButton.displayName = 'DropdownButton';\r\nDropdownButton.defaultProps = {\r\n placement: 'bottomRight',\r\n type: 'default',\r\n};\r\n","import React, { Children, cloneElement, Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport warning from '../_util/warning';\r\nimport RcDropdown from '../rc-components/dropdown';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Dropdown extends Component {\r\n getTransitionName() {\r\n const { placement = '', transitionName } = this.props;\r\n if (transitionName !== undefined) {\r\n return transitionName;\r\n }\r\n if (placement.indexOf('top') >= 0) {\r\n return 'slide-down';\r\n }\r\n return 'slide-up';\r\n }\r\n componentDidMount() {\r\n const { overlay } = this.props;\r\n const overlayProps = overlay.props;\r\n warning(!overlayProps.mode || overlayProps.mode === 'vertical', `mode=\"${overlayProps.mode}\" is not supported for Dropdown's Menu.`);\r\n }\r\n render() {\r\n const { children, prefixCls: customizePrefixCls, overlay: overlayElements, trigger, disabled, } = this.props;\r\n const prefixCls = getPrefixCls('dropdown', customizePrefixCls);\r\n const child = Children.only(children);\r\n const overlay = Children.only(overlayElements);\r\n const dropdownTrigger = cloneElement(child, {\r\n className: classNames(child.props.className, `${prefixCls}-trigger`),\r\n disabled,\r\n });\r\n // menu cannot be selectable in dropdown defaultly\r\n const selectable = overlay.props.selectable || false;\r\n const fixedModeOverlay = cloneElement(overlay, {\r\n mode: 'vertical',\r\n selectable,\r\n });\r\n return (<RcDropdown {...this.props} prefixCls={prefixCls} transitionName={this.getTransitionName()} trigger={disabled ? [] : trigger} overlay={fixedModeOverlay}>\n {dropdownTrigger}\n </RcDropdown>);\r\n }\r\n}\r\nDropdown.displayName = 'Dropdown';\r\nDropdown.defaultProps = {\r\n mouseEnterDelay: 0.15,\r\n mouseLeaveDelay: 0.1,\r\n placement: 'bottomLeft',\r\n};\r\n","import Dropdown from './dropdown';\r\nimport DropdownButton from './dropdown-button';\r\nexport { DropDownProps } from './dropdown';\r\nexport { DropdownButtonProps } from './dropdown-button';\r\nDropdown.Button = DropdownButton;\r\nexport default Dropdown;\r\n","import React, { Component, } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport omit from 'lodash/omit';\r\nimport warning from '../_util/warning';\r\nimport FormItem from './FormItem';\r\nimport { FIELD_DATA_PROP, FIELD_META_PROP } from './constants';\r\nimport { createFormField } from '../rc-components/form';\r\nimport createDOMForm from '../rc-components/form/createDOMForm';\r\nimport PureRenderMixin from '../rc-components/util/PureRenderMixin';\r\nimport { FormLayout } from './enum';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Form extends Component {\r\n constructor(props) {\r\n super(props);\r\n warning(!props.form, 'It is unnecessary to pass `form` to `Form`');\r\n }\r\n shouldComponentUpdate(...args) {\r\n return PureRenderMixin.shouldComponentUpdate.apply(this, args);\r\n }\r\n getChildContext() {\r\n const { layout } = this.props;\r\n return {\r\n vertical: layout === 'vertical',\r\n };\r\n }\r\n render() {\r\n const { prefixCls: customizePrefixCls, hideRequiredMark, className = '', layout } = this.props;\r\n const prefixCls = getPrefixCls('form', customizePrefixCls);\r\n const formClassName = classNames(prefixCls, {\r\n [`${prefixCls}-${layout}`]: layout,\r\n [`${prefixCls}-hide-required-mark`]: hideRequiredMark,\r\n }, className);\r\n const formProps = omit(this.props, [\r\n 'prefixCls',\r\n 'className',\r\n 'layout',\r\n 'form',\r\n 'hideRequiredMark',\r\n ]);\r\n return <form {...formProps} className={formClassName}/>;\r\n }\r\n}\r\nForm.displayName = 'Form';\r\nForm.defaultProps = {\r\n layout: FormLayout.horizontal,\r\n hideRequiredMark: false,\r\n onSubmit(e) {\r\n e.preventDefault();\r\n },\r\n};\r\nForm.propTypes = {\r\n prefixCls: PropTypes.string,\r\n layout: PropTypes.oneOf([FormLayout.horizontal, FormLayout.inline, FormLayout.vertical]),\r\n children: PropTypes.any,\r\n onSubmit: PropTypes.func,\r\n hideRequiredMark: PropTypes.bool,\r\n};\r\nForm.childContextTypes = {\r\n vertical: PropTypes.bool,\r\n};\r\nForm.Item = FormItem;\r\nForm.createFormField = createFormField;\r\nForm.create = function (options = {}) {\r\n return createDOMForm({\r\n fieldNameProp: 'id',\r\n ...options,\r\n fieldMetaProp: FIELD_META_PROP,\r\n fieldDataProp: FIELD_DATA_PROP,\r\n });\r\n};\r\n","import React, { Children, Component } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport warning from '../_util/warning';\r\nimport { FIELD_DATA_PROP, FIELD_META_PROP } from './constants';\r\nimport PureRenderMixin from '../rc-components/util/PureRenderMixin';\r\nimport Animate from '../animate';\r\nimport { FormItemValidateStatus } from './enum';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class FormItem extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.state = { helpShow: false };\r\n this.onHelpAnimEnd = (_key, helpShow) => {\r\n this.setState({ helpShow });\r\n };\r\n // Resolve duplicated ids bug between different forms\r\n this.onLabelClick = (e) => {\r\n const { label, id: propId } = this.props;\r\n const id = propId || this.getId();\r\n if (!id) {\r\n return;\r\n }\r\n const controls = document.querySelectorAll(`[id=\"${id}\"]`);\r\n if (controls.length !== 1) {\r\n // Only prevent in default situation\r\n // Avoid preventing event in `label={<a href=\"xx\">link</a>}``\r\n if (typeof label === 'string') {\r\n e.preventDefault();\r\n }\r\n const control = findDOMNode(this).querySelector(`[id=\"${id}\"]`);\r\n if (control && control.focus) {\r\n control.focus();\r\n }\r\n }\r\n };\r\n }\r\n componentDidMount() {\r\n const { children } = this.props;\r\n warning(this.getControls(children, true).length <= 1, '`Form.Item` cannot generate `validateStatus` and `help` automatically, ' +\r\n 'while there are more than one `getFieldDecorator` in it.');\r\n }\r\n shouldComponentUpdate(...args) {\r\n return PureRenderMixin.shouldComponentUpdate.apply(this, args);\r\n }\r\n getHelpMsg() {\r\n const props = this.props;\r\n const onlyControl = this.getOnlyControl();\r\n if (props.help === undefined && onlyControl) {\r\n const errors = this.getField().errors;\r\n return errors ? errors.map((e) => e.message).join(', ') : '';\r\n }\r\n return props.help;\r\n }\r\n getControls(children, recursively) {\r\n let controls = [];\r\n const childrenArray = Children.toArray(children);\r\n for (let i = 0; i < childrenArray.length; i++) {\r\n if (!recursively && controls.length > 0) {\r\n break;\r\n }\r\n const child = childrenArray[i];\r\n if (child.type &&\r\n (child.type === FormItem || child.type.displayName === 'FormItem')) {\r\n continue;\r\n }\r\n if (!child.props) {\r\n continue;\r\n }\r\n if (FIELD_META_PROP in child.props) {\r\n // And means FIELD_DATA_PROP in chidl.props, too.\r\n controls.push(child);\r\n }\r\n else if (child.props.children) {\r\n controls = controls.concat(this.getControls(child.props.children, recursively));\r\n }\r\n }\r\n return controls;\r\n }\r\n getOnlyControl() {\r\n const { children } = this.props;\r\n const child = this.getControls(children, false)[0];\r\n return child !== undefined ? child : null;\r\n }\r\n getChildProp(prop) {\r\n const child = this.getOnlyControl();\r\n return child && child.props && child.props[prop];\r\n }\r\n getId() {\r\n return this.getChildProp('id');\r\n }\r\n getMeta() {\r\n return this.getChildProp(FIELD_META_PROP);\r\n }\r\n getField() {\r\n return this.getChildProp(FIELD_DATA_PROP);\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return getPrefixCls('form', prefixCls);\r\n }\r\n renderHelp() {\r\n const prefixCls = this.getPrefixCls();\r\n const help = this.getHelpMsg();\r\n const children = help ? (<div className={`${prefixCls}-explain`} key=\"error\">\n {help}\n </div>) : null;\r\n return (<Animate transitionName=\"show-error\" component=\"\" transitionAppear key=\"error\" onEnd={this.onHelpAnimEnd}>\n {children}\n </Animate>);\r\n }\r\n renderExtra() {\r\n const { extra } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n return extra ? <div className={`${prefixCls}-extra`}>{extra}</div> : null;\r\n }\r\n getValidateStatus() {\r\n const onlyControl = this.getOnlyControl();\r\n if (onlyControl) {\r\n const field = this.getField();\r\n if (field.validating) {\r\n return FormItemValidateStatus.validating;\r\n }\r\n if (field.errors) {\r\n return FormItemValidateStatus.error;\r\n }\r\n const fieldValue = 'value' in field ? field.value : this.getMeta().initialValue;\r\n if (fieldValue !== undefined && fieldValue !== null && fieldValue !== '') {\r\n return FormItemValidateStatus.success;\r\n }\r\n }\r\n }\r\n renderValidateWrapper(c1, c2, c3) {\r\n const props = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n const onlyControl = this.getOnlyControl();\r\n const validateStatus = props.validateStatus === undefined && onlyControl\r\n ? this.getValidateStatus()\r\n : props.validateStatus;\r\n let classes = `${prefixCls}-item-control`;\r\n if (validateStatus) {\r\n classes = classNames(`${prefixCls}-item-control`, {\r\n 'has-feedback': props.hasFeedback || validateStatus === FormItemValidateStatus.validating,\r\n 'has-success': validateStatus === FormItemValidateStatus.success,\r\n 'has-warning': validateStatus === FormItemValidateStatus.warning,\r\n 'has-error': validateStatus === FormItemValidateStatus.error,\r\n 'is-validating': validateStatus === FormItemValidateStatus.validating,\r\n });\r\n }\r\n return (<div className={classes}>\n <span className={`${prefixCls}-item-children`}>{c1}</span>\n {c2}\n {c3}\n </div>);\r\n }\r\n renderWrapper(children) {\r\n const { wrapperCol } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n const required = this.isRequired();\r\n const className = classNames(`${prefixCls}-item-control-wrapper`, wrapperCol && wrapperCol.className, {\r\n 'is-required': required,\r\n });\r\n return (<div className={className} key=\"wrapper\">\n {children}\n </div>);\r\n }\r\n isRequired() {\r\n const { required } = this.props;\r\n if (required !== undefined) {\r\n return required;\r\n }\r\n if (this.getOnlyControl()) {\r\n const meta = this.getMeta() || {};\r\n const validate = meta.validate || [];\r\n return validate\r\n .filter((item) => !!item.rules)\r\n .some((item) => {\r\n return item.rules.some((rule) => rule.required);\r\n });\r\n }\r\n return false;\r\n }\r\n renderChildren() {\r\n const { children } = this.props;\r\n return [\r\n // this.renderLabel(),\r\n this.renderWrapper(this.renderValidateWrapper(children, this.renderHelp(), this.renderExtra())),\r\n ];\r\n }\r\n renderFormItem(children) {\r\n const props = this.props;\r\n const { helpShow } = this.state;\r\n const prefixCls = this.getPrefixCls();\r\n const style = props.style;\r\n const itemClassName = {\r\n [`${prefixCls}-item`]: true,\r\n [`${prefixCls}-item-with-help`]: !!this.getHelpMsg() || helpShow,\r\n [`${prefixCls}-item-no-colon`]: !props.colon,\r\n [`${props.className}`]: !!props.className,\r\n };\r\n return (<div className={classNames(itemClassName)} style={style}>\n {children}\n </div>);\r\n }\r\n render() {\r\n const children = this.renderChildren();\r\n return this.renderFormItem(children);\r\n }\r\n}\r\nFormItem.displayName = 'FormItem';\r\nFormItem.defaultProps = {\r\n hasFeedback: false,\r\n colon: true,\r\n};\r\nFormItem.propTypes = {\r\n prefixCls: PropTypes.string,\r\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n help: PropTypes.oneOfType([PropTypes.node, PropTypes.bool]),\r\n validateStatus: PropTypes.oneOf([\r\n FormItemValidateStatus.success,\r\n FormItemValidateStatus.warning,\r\n FormItemValidateStatus.error,\r\n FormItemValidateStatus.validating,\r\n ]),\r\n hasFeedback: PropTypes.bool,\r\n wrapperCol: PropTypes.object,\r\n className: PropTypes.string,\r\n id: PropTypes.string,\r\n children: PropTypes.node,\r\n colon: PropTypes.bool,\r\n};\r\nFormItem.contextTypes = {\r\n vertical: PropTypes.bool,\r\n};\r\n","export const FIELD_META_PROP = 'data-__meta';\r\nexport const FIELD_DATA_PROP = 'data-__field';\r\n","export var FormLayout;\r\n(function (FormLayout) {\r\n FormLayout[\"horizontal\"] = \"horizontal\";\r\n FormLayout[\"inline\"] = \"inline\";\r\n FormLayout[\"vertical\"] = \"vertical\";\r\n})(FormLayout || (FormLayout = {}));\r\nexport var FormItemValidateStatus;\r\n(function (FormItemValidateStatus) {\r\n FormItemValidateStatus[\"success\"] = \"success\";\r\n FormItemValidateStatus[\"warning\"] = \"warning\";\r\n FormItemValidateStatus[\"error\"] = \"error\";\r\n FormItemValidateStatus[\"validating\"] = \"validating\";\r\n})(FormItemValidateStatus || (FormItemValidateStatus = {}));\r\n","import Form from './Form';\r\nexport { FormProps, FormComponentProps, FormCreateOption, ValidateCallback, ValidationRule } from './Form';\r\nexport { FormItemProps } from './FormItem';\r\nexport default Form;\r\n","import { getConfig } from '../configure';\r\nexport default getConfig;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { getPrefixCls } from '../configure';\r\nconst stringOrNumber = PropTypes.oneOfType([PropTypes.string, PropTypes.number]);\r\nconst objectOrNumber = PropTypes.oneOfType([PropTypes.object, PropTypes.number]);\r\nexport default function Col(props) {\r\n const { span, order, offset, push, pull, className, children, prefixCls: customizePrefixCls, ...others } = props;\r\n const prefixCls = getPrefixCls('col', customizePrefixCls);\r\n let sizeClassObj = {};\r\n ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].forEach(size => {\r\n let sizeProps = {};\r\n if (typeof props[size] === 'number') {\r\n sizeProps.span = props[size];\r\n }\r\n else if (typeof props[size] === 'object') {\r\n sizeProps = props[size] || {};\r\n }\r\n delete others[size];\r\n sizeClassObj = {\r\n ...sizeClassObj,\r\n [`${prefixCls}-${size}-${sizeProps.span}`]: sizeProps.span !== undefined,\r\n [`${prefixCls}-${size}-order-${sizeProps.order}`]: sizeProps.order || sizeProps.order === 0,\r\n [`${prefixCls}-${size}-offset-${sizeProps.offset}`]: sizeProps.offset || sizeProps.offset === 0,\r\n [`${prefixCls}-${size}-push-${sizeProps.push}`]: sizeProps.push || sizeProps.push === 0,\r\n [`${prefixCls}-${size}-pull-${sizeProps.pull}`]: sizeProps.pull || sizeProps.pull === 0,\r\n };\r\n });\r\n const classes = classNames({\r\n [`${prefixCls}-${span}`]: span !== undefined,\r\n [`${prefixCls}-order-${order}`]: order,\r\n [`${prefixCls}-offset-${offset}`]: offset,\r\n [`${prefixCls}-push-${push}`]: push,\r\n [`${prefixCls}-pull-${pull}`]: pull,\r\n }, className, sizeClassObj);\r\n return (<div {...others} className={classes}>\n {children}\n </div>);\r\n}\r\nCol.displayName = 'Col';\r\nCol.propTypes = {\r\n span: stringOrNumber,\r\n order: stringOrNumber,\r\n offset: stringOrNumber,\r\n push: stringOrNumber,\r\n pull: stringOrNumber,\r\n className: PropTypes.string,\r\n children: PropTypes.node,\r\n xs: objectOrNumber,\r\n sm: objectOrNumber,\r\n md: objectOrNumber,\r\n lg: objectOrNumber,\r\n xl: objectOrNumber,\r\n xxl: objectOrNumber,\r\n};\r\n","import Row from './row';\r\nimport Col from './col';\r\nexport { RowProps } from './row';\r\nexport { ColProps, ColSize } from './col';\r\nexport { Row, Col, };\r\n","import React, { Children, cloneElement, Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport omit from 'lodash/omit';\r\nimport Responsive from '../responsive/Responsive';\r\nimport { getPrefixCls } from '../configure';\r\nconst defaultGutter = 0;\r\nexport default class Row extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.renderRow = ([gutter = defaultGutter]) => {\r\n const { type, justify, align, className, style, children, prefixCls: customizePrefixCls, ...others } = this.props;\r\n const prefixCls = getPrefixCls('row', customizePrefixCls);\r\n const classes = classNames({\r\n [prefixCls]: !type,\r\n [`${prefixCls}-${type}`]: type,\r\n [`${prefixCls}-${type}-${justify}`]: type && justify,\r\n [`${prefixCls}-${type}-${align}`]: type && align,\r\n }, className);\r\n const rowStyle = gutter > 0\r\n ? {\r\n marginLeft: gutter / -2,\r\n marginRight: gutter / -2,\r\n ...style,\r\n }\r\n : style;\r\n const cols = Children.map(children, (col) => {\r\n if (!col) {\r\n return null;\r\n }\r\n if (col.props && gutter > 0) {\r\n return cloneElement(col, {\r\n style: {\r\n paddingLeft: gutter / 2,\r\n paddingRight: gutter / 2,\r\n ...col.props.style,\r\n },\r\n });\r\n }\r\n return col;\r\n });\r\n const otherProps = { ...others };\r\n delete otherProps.gutter;\r\n return (<div {...omit(otherProps, ['rowIndex', 'colIndex'])} className={classes} style={rowStyle}>\n {cols}\n </div>);\r\n };\r\n }\r\n render() {\r\n const { gutter } = this.props;\r\n return <Responsive items={[gutter]}>{this.renderRow}</Responsive>;\r\n }\r\n}\r\nRow.displayName = 'Row';\r\nRow.defaultProps = {\r\n gutter: defaultGutter,\r\n};\r\nRow.propTypes = {\r\n type: PropTypes.string,\r\n align: PropTypes.string,\r\n justify: PropTypes.string,\r\n className: PropTypes.string,\r\n children: PropTypes.node,\r\n gutter: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\r\n prefixCls: PropTypes.string,\r\n};\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport omit from 'lodash/omit';\r\nimport { icons } from 'choerodon-ui-font';\r\nimport Icon from '../icon';\r\nimport Select from '../select';\r\nimport Pagination from '../pagination';\r\nimport Tooltip from '../tooltip';\r\nimport { getPrefixCls } from '../configure';\r\nconst Option = Select.Option;\r\nexport default class IconSelect extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleRender = (label) => {\r\n if (typeof label === 'string' && label) {\r\n return (<span>\n <Icon type={label}/> {label}\n </span>);\r\n }\r\n if (typeof label === 'object' && label.props) {\r\n const { children } = label.props;\r\n return children ? <span>{children}</span> : null;\r\n }\r\n return null;\r\n };\r\n this.handlePageChange = (current, pageSize) => {\r\n const { filterValue } = this.state;\r\n this.initIcon(current, pageSize, filterValue);\r\n };\r\n this.handleFilter = (value) => {\r\n this.initIcon(1, 20, value);\r\n };\r\n this.saveRef = (node) => {\r\n if (node) {\r\n this.rcSelect = node;\r\n }\r\n };\r\n this.state = {\r\n current: 1,\r\n total: 0,\r\n pageSize: 20,\r\n filterValue: '',\r\n data: [],\r\n };\r\n }\r\n componentDidMount() {\r\n this.initIcon();\r\n }\r\n initIcon(current = 1, pageSize = 20, filterValue = '') {\r\n const { showAll } = this.props;\r\n const minIndex = (current - 1) * pageSize;\r\n const maxIndex = current * pageSize;\r\n let items;\r\n if (showAll) {\r\n items = icons.default;\r\n if (filterValue) {\r\n items = icons.favorite.filter(name => {\r\n return name.toLowerCase().indexOf(filterValue.toLowerCase()) !== -1;\r\n });\r\n }\r\n }\r\n else {\r\n items = icons.favorite;\r\n if (filterValue) {\r\n items = icons.favorite.filter(name => {\r\n return name.toLowerCase().indexOf(filterValue.toLowerCase()) !== -1;\r\n });\r\n }\r\n }\r\n const total = items.length || 0;\r\n const currentData = items.filter((name, index) => {\r\n return name && index >= minIndex && index < maxIndex;\r\n });\r\n this.setState({\r\n data: currentData,\r\n total,\r\n pageSize,\r\n current,\r\n filterValue,\r\n });\r\n }\r\n renderOption() {\r\n const { data } = this.state;\r\n return data.map((icon) => {\r\n return (<Option key={icon} value={icon}>\n <Tooltip placement=\"bottomLeft\" title={icon}>\n <Icon type={icon}/>\n <span className=\"text\">{icon}</span>\n </Tooltip>\n </Option>);\r\n });\r\n }\r\n renderFooter() {\r\n const { total, pageSize, current } = this.state;\r\n return (<Pagination total={total} onChange={this.handlePageChange} pageSizeOptions={['20', '40', '80']} pageSize={pageSize} onShowSizeChange={this.handlePageChange} current={current}/>);\r\n }\r\n render() {\r\n const { className, prefixCls: customizePrefixCls, dropdownClassName } = this.props;\r\n const { filterValue } = this.state;\r\n const prefixCls = getPrefixCls('icon-select', customizePrefixCls);\r\n const selectCls = classNames(className, prefixCls);\r\n const dropDownCls = classNames(dropdownClassName, `${prefixCls}-dropdown`);\r\n const selectProps = {\r\n ...this.props,\r\n className: selectCls,\r\n dropdownClassName: dropDownCls,\r\n };\r\n const otherProps = omit(selectProps, ['prefixCls']);\r\n return (<Select {...otherProps} footer={this.renderFooter()} onFilterChange={this.handleFilter} filterValue={filterValue} choiceRender={this.handleRender} filter ref={this.saveRef}>\n {this.renderOption()}\n </Select>);\r\n }\r\n}\r\nIconSelect.displayName = 'IconSelect';\r\nIconSelect.defaultProps = {\r\n filter: true,\r\n showArrow: false,\r\n showCheckAll: false,\r\n showAll: false,\r\n};\r\n","import IconSelect from './IconSelect';\r\nexport default IconSelect;\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport { getConfig } from '../configure';\r\nconst Icon = function Icon(props) {\r\n const iconfontPrefix = getConfig('iconfontPrefix');\r\n const { type, className = '', ...otherProps } = props;\r\n const classString = classNames(iconfontPrefix, `${iconfontPrefix}-${type}`, className);\r\n return <i {...otherProps} className={classString}/>;\r\n};\r\nIcon.displayName = 'Icon';\r\nexport default Icon;\r\n","/* @remove-on-es-build-begin */\r\nconst ENV = process.env.NODE_ENV;\r\nif (ENV !== 'production' &&\r\n ENV !== 'test' &&\r\n typeof console !== 'undefined' &&\r\n console.warn &&\r\n typeof window !== 'undefined') {\r\n console.warn('You are using a whole package of choerodon-ui, ' +\r\n 'please use https://www.npmjs.com/package/babel-plugin-import to reduce app bundle size.');\r\n}\r\n/* @remove-on-es-build-end */\r\nexport { default as Affix } from './affix';\r\nexport { default as Anchor } from './anchor';\r\nexport { default as AutoComplete } from './auto-complete';\r\nexport { default as Alert } from './alert';\r\nexport { default as Avatar } from './avatar';\r\nexport { default as BackTop } from './back-top';\r\nexport { default as Badge } from './badge';\r\nexport { default as Breadcrumb } from './breadcrumb';\r\nexport { default as Button } from './button';\r\nexport { default as Calendar } from './calendar';\r\nexport { default as Card } from './card';\r\nexport { default as Collapse } from './collapse';\r\nexport { default as Carousel } from './carousel';\r\nexport { default as Cascader } from './cascader';\r\nexport { default as Checkbox } from './checkbox';\r\nexport { default as Col } from './col';\r\nexport { default as DatePicker } from './date-picker';\r\nexport { default as Divider } from './divider';\r\nexport { default as Dropdown } from './dropdown';\r\nexport { default as Form } from './form';\r\nexport { default as Icon } from './icon';\r\nexport { default as Input } from './input';\r\nexport { default as InputNumber } from './input-number';\r\nexport { default as Layout } from './layout';\r\nexport { default as List } from './list';\r\nexport { default as LocaleProvider } from './locale-provider';\r\nexport { default as message } from './message';\r\nexport { default as Menu } from './menu';\r\nexport { default as Modal } from './modal';\r\nexport { default as notification } from './notification';\r\nexport { default as Pagination } from './pagination';\r\nexport { default as Popconfirm } from './popconfirm';\r\nexport { default as Popover } from './popover';\r\nexport { default as Progress } from './progress';\r\nexport { default as Radio } from './radio';\r\nexport { default as Rate } from './rate';\r\nexport { default as Row } from './row';\r\nexport { default as Select } from './select';\r\nexport { default as Slider } from './slider';\r\nexport { default as Spin } from './spin';\r\nexport { default as Steps } from './steps';\r\nexport { default as Switch } from './switch';\r\nexport { default as Table } from './table';\r\nexport { default as Transfer } from './transfer';\r\nexport { default as Tree } from './tree';\r\nexport { default as TreeSelect } from './tree-select';\r\nexport { default as Tabs } from './tabs';\r\nexport { default as Tag } from './tag';\r\nexport { default as TimePicker } from './time-picker';\r\nexport { default as Timeline } from './timeline';\r\nexport { default as Tooltip } from './tooltip';\r\nexport { default as Mention } from './mention';\r\nexport { default as Upload } from './upload';\r\nexport { default as version } from './version';\r\nexport { default as IconSelect } from './icon-select';\r\nexport { default as Animate } from './animate';\r\nexport { default as Responsive } from './responsive';\r\nexport { default as configure } from './configure';\r\nexport { default as getConfig } from './get-config';\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport RcInputNumber from '../rc-components/input-number';\r\nimport { Size } from '../_util/enum';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class InputNumber extends Component {\r\n render() {\r\n const { className, size, prefixCls: customizePrefixCls, ...others } = this.props;\r\n const prefixCls = getPrefixCls('input-number', customizePrefixCls);\r\n const inputNumberClass = classNames({\r\n [`${prefixCls}-lg`]: size === Size.large,\r\n [`${prefixCls}-sm`]: size === Size.small,\r\n }, className);\r\n return (<RcInputNumber ref={(c) => (this.inputNumberRef = c)} className={inputNumberClass} prefixCls={prefixCls} {...others}/>);\r\n }\r\n focus() {\r\n this.inputNumberRef.focus();\r\n }\r\n blur() {\r\n this.inputNumberRef.blur();\r\n }\r\n}\r\nInputNumber.displayName = 'InputNumber';\r\nInputNumber.defaultProps = {\r\n step: 1,\r\n};\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport { Size } from '../_util/enum';\r\nimport { getPrefixCls } from '../configure';\r\nconst Group = props => {\r\n const { prefixCls: customizePrefixCls, className = '', size, compact, style, children } = props;\r\n const prefixCls = getPrefixCls('input-group', customizePrefixCls);\r\n const cls = classNames(prefixCls, {\r\n [`${prefixCls}-lg`]: size === Size.large,\r\n [`${prefixCls}-sm`]: size === Size.small,\r\n [`${prefixCls}-compact`]: compact,\r\n }, className);\r\n return (<span className={cls} style={style}>\n {children}\n </span>);\r\n};\r\nexport default Group;\r\n","import React, { Component, } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport omit from 'lodash/omit';\r\nimport Icon from '../icon';\r\nimport { Size } from '../_util/enum';\r\nimport { getPrefixCls } from '../configure';\r\nfunction fixControlledValue(value) {\r\n if (typeof value === 'undefined' || value === null) {\r\n return '';\r\n }\r\n return value;\r\n}\r\nexport default class Input extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleKeyDown = (e) => {\r\n const { onPressEnter, onKeyDown } = this.props;\r\n if (e.keyCode === 13 && onPressEnter) {\r\n onPressEnter(e);\r\n }\r\n if (onKeyDown) {\r\n onKeyDown(e);\r\n }\r\n };\r\n this.handleFocus = (e) => {\r\n const { onFocus, readOnly } = this.props;\r\n if (!readOnly) {\r\n this.setState({\r\n focused: true,\r\n });\r\n }\r\n if (onFocus) {\r\n onFocus(e);\r\n }\r\n };\r\n this.handleBlur = (e) => {\r\n const { onBlur, readOnly } = this.props;\r\n if (!readOnly) {\r\n this.setState({\r\n focused: false,\r\n });\r\n }\r\n if (onBlur) {\r\n onBlur(e);\r\n }\r\n };\r\n this.handleChange = e => {\r\n const { onChange } = this.props;\r\n if (!('value' in this.props)) {\r\n this.setState({ value: e.target.value });\r\n }\r\n if (onChange) {\r\n onChange(e);\r\n }\r\n };\r\n this.handleCopy = () => {\r\n const { onCopy } = this.props;\r\n this.input.select();\r\n document.execCommand('Copy');\r\n if (onCopy) {\r\n onCopy(this.input.value);\r\n }\r\n };\r\n this.handleTogglePassword = () => {\r\n const { showPassword } = this.state;\r\n this.setState({\r\n showPassword: !showPassword,\r\n });\r\n };\r\n this.saveInput = (node) => {\r\n this.input = node;\r\n };\r\n this.saveRenderedRef = (node) => {\r\n this.rendered = node;\r\n };\r\n this.savePrefix = (node) => {\r\n this.prefix = node;\r\n };\r\n this.saveSuffix = (node) => {\r\n this.suffix = node;\r\n };\r\n this.state = {\r\n value: typeof props.value === 'undefined' ? props.defaultValue : props.value,\r\n focused: false,\r\n showPassword: false,\r\n };\r\n }\r\n componentDidMount() {\r\n const { focused, autoFocus } = this.props;\r\n if (autoFocus) {\r\n this.setState({\r\n focused: true,\r\n });\r\n }\r\n if (typeof focused === 'boolean') {\r\n this.setState({\r\n focused,\r\n });\r\n }\r\n this.setRenderedStyle();\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n const { value } = this.state;\r\n if ('value' in nextProps && value !== nextProps.value) {\r\n this.setState({\r\n value: nextProps.value,\r\n });\r\n }\r\n if (nextProps.autoFocus) {\r\n this.setState({\r\n focused: true,\r\n });\r\n }\r\n if (typeof nextProps.focused === 'boolean') {\r\n this.setState({\r\n focused: nextProps.focused,\r\n });\r\n }\r\n if (nextProps.type !== 'password') {\r\n this.setState({\r\n showPassword: false,\r\n });\r\n }\r\n }\r\n componentDidUpdate() {\r\n this.setRenderedStyle();\r\n }\r\n setRenderedStyle() {\r\n const { rendered, suffix, prefix } = this;\r\n let suffixWidth;\r\n let prefixWidth;\r\n let margin = '0';\r\n let width = '100%';\r\n if (suffix && prefix) {\r\n suffixWidth = `${(suffix.clientWidth || -2) + 2}px`;\r\n prefixWidth = `${(prefix.clientWidth || -2) + 2}px`;\r\n margin = `0 ${suffixWidth} 0 ${prefixWidth}`;\r\n width = `calc(100% - ${suffixWidth} - ${prefixWidth})`;\r\n }\r\n else if (suffix) {\r\n suffixWidth = `${(suffix.clientWidth || -2) + 2}px`;\r\n margin = `0 ${suffixWidth} 0 0`;\r\n width = `calc(100% - ${suffixWidth})`;\r\n }\r\n else if (prefix) {\r\n prefixWidth = `${(prefix.clientWidth || -2) + 2}px`;\r\n margin = `0 0 0 ${prefixWidth}`;\r\n width = `calc(100% - ${prefixWidth})`;\r\n }\r\n rendered.style.margin = margin;\r\n rendered.style.width = width;\r\n }\r\n focus() {\r\n this.input.focus();\r\n }\r\n blur() {\r\n this.input.blur();\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return getPrefixCls('input', prefixCls);\r\n }\r\n getInputClassName() {\r\n const { size, copy } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n return classNames(prefixCls, {\r\n [`${prefixCls}-sm`]: size === Size.small,\r\n [`${prefixCls}-lg`]: size === Size.large,\r\n [`${prefixCls}-has-copy`]: copy,\r\n });\r\n }\r\n renderCopyIcon() {\r\n const { copy } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n return copy ? (<span className={`${prefixCls}-icon`} onClick={this.handleCopy}>\n <Icon className={`${prefixCls}-icon-copy`} type=\"library_books\"/>\n </span>) : null;\r\n }\r\n renderShowPassword() {\r\n const { type } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n const { showPassword } = this.state;\r\n return type === 'password' ? (<span className={`${prefixCls}-icon`} onClick={this.handleTogglePassword}>\n <Icon className={`${prefixCls}-icon-copy`} type={showPassword ? 'visibility' : 'visibility_off'}/>\n </span>) : null;\r\n }\r\n renderInput() {\r\n const { className, type } = this.props;\r\n const { showPassword, value } = this.state;\r\n // Fix https://fb.me/react-unknown-prop\r\n const otherProps = omit(this.props, [\r\n 'placeholder',\r\n 'prefixCls',\r\n 'onPressEnter',\r\n 'addonBefore',\r\n 'addonAfter',\r\n 'prefix',\r\n 'suffix',\r\n 'label',\r\n 'copy',\r\n 'style',\r\n 'focused',\r\n 'showLengthInfo',\r\n 'showPasswordEye',\r\n 'size',\r\n 'border',\r\n ]);\r\n return (<input {...otherProps} value={fixControlledValue(value)} className={classNames(this.getInputClassName(), className)} onKeyDown={this.handleKeyDown} ref={this.saveInput} onFocus={this.handleFocus} onBlur={this.handleBlur} onChange={this.handleChange} type={showPassword ? 'text' : type}/>);\r\n }\r\n getLengthInfo() {\r\n const { maxLength, showLengthInfo } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n const { value } = this.state;\r\n const inputLength = value ? value.length : 0;\r\n return (maxLength && showLengthInfo) ||\r\n (maxLength && maxLength > 0 && inputLength === maxLength) ? (<div className={`${prefixCls}-length-info`}>{`${inputLength}/${maxLength}`}</div>) : null;\r\n }\r\n getLabel() {\r\n const { placeholder, label } = this.props;\r\n if (!this.hasValue() && placeholder) {\r\n return placeholder;\r\n }\r\n return label;\r\n }\r\n renderFloatLabel() {\r\n const label = this.getLabel();\r\n const { border } = this.props;\r\n if (label && border) {\r\n const prefixCls = this.getPrefixCls();\r\n return (<div className={`${prefixCls}-label-wrapper`}>\n <div className={`${prefixCls}-label`}>{label}</div>\n </div>);\r\n }\r\n }\r\n getSizeClassName(name) {\r\n const { size } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n return classNames(`${prefixCls}-${name}`, {\r\n [`${prefixCls}-${name}-sm`]: size === Size.small,\r\n [`${prefixCls}-${name}-lg`]: size === Size.large,\r\n });\r\n }\r\n hasValue() {\r\n const { value } = this.state;\r\n return value && value.length !== 0;\r\n }\r\n renderPlaceholder() {\r\n const { placeholder, border } = this.props;\r\n if (!border && placeholder) {\r\n const prefixCls = this.getPrefixCls();\r\n return <div className={`${prefixCls}-placeholder`}>{placeholder}</div>;\r\n }\r\n }\r\n render() {\r\n const props = this.props;\r\n const { disabled, label, style, showPasswordEye, border } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n const { focused } = this.state;\r\n const prefix = props.prefix ? (<span ref={this.savePrefix} className={this.getSizeClassName('prefix')}>\n {props.prefix}\n </span>) : null;\r\n const suffix = props.suffix ? (<span ref={this.saveSuffix} className={this.getSizeClassName('suffix')}>\n {props.suffix}\n </span>) : null;\r\n const className = classNames(`${prefixCls}-wrapper`, {\r\n [`${prefixCls}-has-value`]: this.hasValue(),\r\n [`${prefixCls}-focused`]: focused,\r\n [`${prefixCls}-disabled`]: disabled,\r\n [`${prefixCls}-has-label`]: !!label,\r\n [`${prefixCls}-has-prefix`]: !!prefix,\r\n [`${prefixCls}-has-suffix`]: !!suffix,\r\n [`${prefixCls}-has-border`]: border,\r\n });\r\n return (<span className={className} style={style}>\n <div className={`${prefixCls}-content`}>\n <div className={`${prefixCls}-rendered-wrapper`}>\n {prefix}\n <div className={this.getSizeClassName('rendered')} ref={this.saveRenderedRef}>\n {this.renderPlaceholder()}\n {this.renderInput()}\n {this.renderFloatLabel()}\n {this.renderCopyIcon()}\n {showPasswordEye ? this.renderShowPassword() : null}\n </div>\n {suffix}\n </div>\n {this.getLengthInfo()}\n </div>\n </span>);\r\n }\r\n}\r\nInput.displayName = 'Input';\r\nInput.defaultProps = {\r\n type: 'text',\r\n disabled: false,\r\n readOnly: false,\r\n showLengthInfo: true,\r\n showPasswordEye: false,\r\n border: true,\r\n};\r\nInput.propTypes = {\r\n type: PropTypes.string,\r\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n label: PropTypes.node,\r\n size: PropTypes.oneOf([Size.small, Size.default, Size.large]),\r\n maxLength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n disabled: PropTypes.bool,\r\n value: PropTypes.any,\r\n defaultValue: PropTypes.any,\r\n className: PropTypes.string,\r\n addonBefore: PropTypes.node,\r\n addonAfter: PropTypes.node,\r\n prefixCls: PropTypes.string,\r\n autosize: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\r\n onPressEnter: PropTypes.func,\r\n onKeyDown: PropTypes.func,\r\n onKeyUp: PropTypes.func,\r\n onFocus: PropTypes.func,\r\n onBlur: PropTypes.func,\r\n prefix: PropTypes.node,\r\n suffix: PropTypes.node,\r\n copy: PropTypes.bool,\r\n onCopy: PropTypes.func,\r\n readOnly: PropTypes.bool,\r\n focused: PropTypes.bool,\r\n border: PropTypes.bool,\r\n showLengthInfo: PropTypes.bool,\r\n showPasswordEye: PropTypes.bool,\r\n};\r\n","import React, { cloneElement, Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport Input from './Input';\r\nimport Button from '../button';\r\nimport { Size } from '../_util/enum';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Search extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.onSearch = () => {\r\n const { onSearch } = this.props;\r\n if (onSearch) {\r\n onSearch(this.input.input.value);\r\n }\r\n this.input.focus();\r\n };\r\n this.saveInput = (node) => {\r\n this.input = node;\r\n };\r\n }\r\n focus() {\r\n this.input.focus();\r\n }\r\n blur() {\r\n this.input.blur();\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return getPrefixCls('input-search', prefixCls);\r\n }\r\n getButtonOrIcon() {\r\n const { enterButton, size } = this.props;\r\n if (!enterButton) {\r\n return <Button type=\"primary\" size={size} shape=\"circle\" icon=\"search\"/>;\r\n }\r\n const enterButtonAsElement = enterButton;\r\n if (enterButtonAsElement.type === Button || enterButtonAsElement.type === 'button') {\r\n return cloneElement(enterButtonAsElement, enterButtonAsElement.type === Button\r\n ? {\r\n className: `${this.getPrefixCls()}-button`,\r\n size,\r\n onClick: this.onSearch,\r\n }\r\n : {\r\n onClick: this.onSearch,\r\n });\r\n }\r\n if (enterButton === true) {\r\n return (<Button type=\"primary\" size={size} shape=\"circle\" onClick={this.onSearch} icon=\"search\"/>);\r\n }\r\n return (<Button type=\"primary\" size={size} onClick={this.onSearch} key=\"enterButton\">\n {enterButton}\n </Button>);\r\n }\r\n render() {\r\n const { className, inputPrefixCls, size, suffix, enterButton, ...others } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n delete others.onSearch;\r\n delete others.prefixCls;\r\n const buttonOrIcon = this.getButtonOrIcon();\r\n const searchSuffix = suffix ? [suffix, buttonOrIcon] : buttonOrIcon;\r\n const inputClassName = classNames(prefixCls, className, {\r\n [`${prefixCls}-enter-button`]: !!enterButton,\r\n [`${prefixCls}-${size}`]: !!size,\r\n });\r\n return (<Input onPressEnter={this.onSearch} {...others} size={size} className={inputClassName} prefixCls={getPrefixCls('input', inputPrefixCls)} suffix={searchSuffix} ref={this.saveInput}/>);\r\n }\r\n}\r\nSearch.displayName = 'Search';\r\nSearch.defaultProps = {\r\n enterButton: false,\r\n size: Size.small,\r\n};\r\n","import React, { Component, } from 'react';\r\nimport omit from 'lodash/omit';\r\nimport classNames from 'classnames';\r\nimport calculateNodeHeight from './calculateNodeHeight';\r\nimport { getPrefixCls } from '../configure';\r\nfunction onNextFrame(cb) {\r\n if (window.requestAnimationFrame) {\r\n return window.requestAnimationFrame(cb);\r\n }\r\n return window.setTimeout(cb, 1);\r\n}\r\nfunction clearNextFrameAction(nextFrameId) {\r\n if (window.cancelAnimationFrame) {\r\n window.cancelAnimationFrame(nextFrameId);\r\n }\r\n else {\r\n window.clearTimeout(nextFrameId);\r\n }\r\n}\r\nexport default class TextArea extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.state = {\r\n textareaStyles: {},\r\n inputLength: 0,\r\n focused: false,\r\n };\r\n this.resizeTextarea = () => {\r\n const { autosize } = this.props;\r\n if (!autosize || !this.textAreaRef) {\r\n return;\r\n }\r\n const minRows = autosize ? autosize.minRows : null;\r\n const maxRows = autosize ? autosize.maxRows : null;\r\n const textareaStyles = calculateNodeHeight(this.textAreaRef, false, minRows, maxRows);\r\n this.setState({ textareaStyles });\r\n };\r\n this.handleTextareaChange = (e) => {\r\n if (!('value' in this.props)) {\r\n this.resizeTextarea();\r\n }\r\n const { onChange } = this.props;\r\n if (onChange) {\r\n onChange(e);\r\n }\r\n };\r\n this.handleKeyDown = (e) => {\r\n const { onPressEnter, onKeyDown } = this.props;\r\n if (e.keyCode === 13 && onPressEnter) {\r\n onPressEnter(e);\r\n }\r\n if (onKeyDown) {\r\n onKeyDown(e);\r\n }\r\n };\r\n this.handleInput = () => {\r\n this.setState({\r\n inputLength: this.textAreaRef.value.length,\r\n });\r\n };\r\n this.saveTextAreaRef = (textArea) => {\r\n this.textAreaRef = textArea;\r\n };\r\n this.handleFocus = (e) => {\r\n const { onFocus } = this.props;\r\n this.setState({\r\n focused: true,\r\n });\r\n if (onFocus) {\r\n onFocus(e);\r\n }\r\n };\r\n this.handleBlur = (e) => {\r\n const { onBlur } = this.props;\r\n this.setState({\r\n focused: false,\r\n });\r\n if (onBlur) {\r\n onBlur(e);\r\n }\r\n };\r\n }\r\n componentDidMount() {\r\n this.resizeTextarea();\r\n if (this.textAreaRef.value) {\r\n this.setState({\r\n inputLength: this.textAreaRef.value.length,\r\n });\r\n }\r\n const { autoFocus } = this.props;\r\n if (autoFocus) {\r\n this.setState({\r\n focused: true,\r\n });\r\n }\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n // Re-render with the new content then recalculate the height as required.\r\n if (this.textAreaRef.value !== nextProps.value) {\r\n const inputLength = nextProps.value && nextProps.value.length;\r\n this.setState({\r\n inputLength: inputLength || 0,\r\n });\r\n }\r\n if (nextProps.autoFocus) {\r\n this.setState({\r\n focused: true,\r\n });\r\n }\r\n const { value } = this.props;\r\n if (value !== nextProps.value) {\r\n if (this.nextFrameActionId) {\r\n clearNextFrameAction(this.nextFrameActionId);\r\n }\r\n this.nextFrameActionId = onNextFrame(this.resizeTextarea);\r\n }\r\n }\r\n focus() {\r\n this.textAreaRef.focus();\r\n }\r\n blur() {\r\n this.textAreaRef.blur();\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return getPrefixCls('input', prefixCls);\r\n }\r\n getTextAreaClassName() {\r\n const { className } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n return classNames(prefixCls, `${prefixCls}-textarea-element`, className);\r\n }\r\n getWrapperClassName() {\r\n const { disabled, label, border } = this.props;\r\n const { inputLength, focused } = this.state;\r\n const prefixCls = this.getPrefixCls();\r\n return classNames(`${prefixCls}-wrapper`, `${prefixCls}-textarea`, {\r\n [`${prefixCls}-has-value`]: inputLength !== 0,\r\n [`${prefixCls}-focused`]: focused,\r\n [`${prefixCls}-disabled`]: disabled,\r\n [`${prefixCls}-has-label`]: !!label,\r\n [`${prefixCls}-has-border`]: border,\r\n });\r\n }\r\n getLengthInfo() {\r\n const { maxLength, showLengthInfo } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n const { inputLength } = this.state;\r\n return (maxLength && showLengthInfo) ||\r\n (maxLength && maxLength > 0 && inputLength === maxLength) ? (<div className={`${prefixCls}-length-info`}>{`${inputLength}/${maxLength}`}</div>) : null;\r\n }\r\n getLabel() {\r\n const { placeholder, label } = this.props;\r\n const { inputLength } = this.state;\r\n if (inputLength === 0 && placeholder) {\r\n return placeholder;\r\n }\r\n return label;\r\n }\r\n renderFloatLabel() {\r\n const label = this.getLabel();\r\n if (label) {\r\n const prefixCls = this.getPrefixCls();\r\n return (<div className={`${prefixCls}-label-wrapper`}>\n <div className={`${prefixCls}-label`}>{label}</div>\n </div>);\r\n }\r\n }\r\n render() {\r\n const props = this.props;\r\n const { textareaStyles } = this.state;\r\n const prefixCls = this.getPrefixCls();\r\n const otherProps = omit(props, [\r\n 'prefixCls',\r\n 'onPressEnter',\r\n 'autosize',\r\n 'placeholder',\r\n 'focused',\r\n 'showLengthInfo',\r\n ]);\r\n const style = {\r\n ...props.style,\r\n ...textareaStyles,\r\n };\r\n // Make sure it could be reset when using form.getFieldDecorator\r\n if ('value' in otherProps) {\r\n otherProps.value = otherProps.value || '';\r\n }\r\n otherProps.onInput = this.handleInput;\r\n return (<span className={this.getWrapperClassName()}>\n <div className={`${prefixCls}-rendered-wrapper`}>\n <textarea {...otherProps} className={this.getTextAreaClassName()} style={style} onKeyDown={this.handleKeyDown} onChange={this.handleTextareaChange} ref={this.saveTextAreaRef} onInput={this.handleInput} onBlur={this.handleBlur} onFocus={this.handleFocus}/>\n {this.renderFloatLabel()}\n </div>\n {this.getLengthInfo()}\n </span>);\r\n }\r\n}\r\nTextArea.displayName = 'TextArea';\r\nTextArea.defaultProps = {\r\n showLengthInfo: true,\r\n border: true,\r\n};\r\n","// Thanks to https://github.com/andreypopp/react-textarea-autosize/\r\n/**\r\n * calculateNodeHeight(uiTextNode, useCache = false)\r\n */\r\nconst HIDDEN_TEXTAREA_STYLE = `\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important\n`;\r\nconst SIZING_STYLE = [\r\n 'letter-spacing',\r\n 'line-height',\r\n 'padding-top',\r\n 'padding-bottom',\r\n 'font-family',\r\n 'font-weight',\r\n 'font-size',\r\n 'text-rendering',\r\n 'text-transform',\r\n 'width',\r\n 'text-indent',\r\n 'padding-left',\r\n 'padding-right',\r\n 'border-width',\r\n 'box-sizing',\r\n];\r\nconst computedStyleCache = {};\r\nlet hiddenTextarea;\r\nfunction calculateNodeStyling(node, useCache = false) {\r\n const nodeRef = (node.getAttribute('id') ||\r\n node.getAttribute('data-reactid') ||\r\n node.getAttribute('name'));\r\n if (useCache && computedStyleCache[nodeRef]) {\r\n return computedStyleCache[nodeRef];\r\n }\r\n const style = window.getComputedStyle(node);\r\n const boxSizing = style.getPropertyValue('box-sizing') ||\r\n style.getPropertyValue('-moz-box-sizing') ||\r\n style.getPropertyValue('-webkit-box-sizing');\r\n const paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) +\r\n parseFloat(style.getPropertyValue('padding-top'));\r\n const borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) +\r\n parseFloat(style.getPropertyValue('border-top-width'));\r\n const sizingStyle = SIZING_STYLE.map(name => `${name}:${style.getPropertyValue(name)}`).join(';');\r\n const nodeInfo = {\r\n sizingStyle,\r\n paddingSize,\r\n borderSize,\r\n boxSizing,\r\n };\r\n if (useCache && nodeRef) {\r\n computedStyleCache[nodeRef] = nodeInfo;\r\n }\r\n return nodeInfo;\r\n}\r\nexport default function calculateNodeHeight(uiTextNode, useCache = false, minRows = null, maxRows = null) {\r\n if (!hiddenTextarea) {\r\n hiddenTextarea = document.createElement('textarea');\r\n document.body.appendChild(hiddenTextarea);\r\n }\r\n // Fix wrap=\"off\" issue\r\n if (uiTextNode.getAttribute('wrap')) {\r\n hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap'));\r\n }\r\n else {\r\n hiddenTextarea.removeAttribute('wrap');\r\n }\r\n // Copy all CSS properties that have an impact on the height of the content in\r\n // the textbox\r\n const { paddingSize, borderSize, boxSizing, sizingStyle } = calculateNodeStyling(uiTextNode, useCache);\r\n // Need to have the overflow attribute to hide the scrollbar otherwise\r\n // text-lines will not calculated properly as the shadow will technically be\r\n // narrower for content\r\n hiddenTextarea.setAttribute('style', `${sizingStyle};${HIDDEN_TEXTAREA_STYLE}`);\r\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || '';\r\n let minHeight = Number.MIN_SAFE_INTEGER;\r\n let maxHeight = Number.MAX_SAFE_INTEGER;\r\n let height = hiddenTextarea.scrollHeight;\r\n let overflowY;\r\n if (boxSizing === 'border-box') {\r\n // border-box: add border, since height = content + padding + border\r\n height += borderSize;\r\n }\r\n else if (boxSizing === 'content-box') {\r\n // remove padding, since height = content\r\n height -= paddingSize;\r\n }\r\n if (minRows !== null || maxRows !== null) {\r\n // measure height of a textarea with a single row\r\n hiddenTextarea.value = ' ';\r\n const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\r\n if (minRows !== null) {\r\n minHeight = singleRowHeight * minRows;\r\n if (boxSizing === 'border-box') {\r\n minHeight = minHeight + paddingSize + borderSize;\r\n }\r\n height = Math.max(minHeight, height);\r\n }\r\n if (maxRows !== null) {\r\n maxHeight = singleRowHeight * maxRows;\r\n if (boxSizing === 'border-box') {\r\n maxHeight = maxHeight + paddingSize + borderSize;\r\n }\r\n overflowY = height > maxHeight ? '' : 'hidden';\r\n height = Math.min(maxHeight, height);\r\n }\r\n }\r\n // Remove scroll bar flash when autosize without maxRows\r\n if (!maxRows) {\r\n overflowY = 'hidden';\r\n }\r\n return { height, minHeight, maxHeight, overflowY };\r\n}\r\n","import Input from './Input';\r\nimport Group from './Group';\r\nimport Search from './Search';\r\nimport TextArea from './TextArea';\r\nexport { InputProps } from './Input';\r\nexport { GroupProps } from './Group';\r\nexport { SearchProps } from './Search';\r\nexport { TextAreaProps } from './TextArea';\r\nInput.Group = Group;\r\nInput.Search = Search;\r\nInput.TextArea = TextArea;\r\nexport default Input;\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport omit from 'lodash/omit';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from '../icon';\r\nimport { getPrefixCls } from '../configure';\r\nimport { matchMediaPolifill } from '../_util/mediaQueryListPolyfill';\r\nif (typeof window !== 'undefined') {\r\n // const matchMediaPolyfill = (mediaQuery: string): MediaQueryList => {\r\n // return {\r\n // media: mediaQuery,\r\n // matches: false,\r\n // addListener() {\r\n // },\r\n // removeListener() {\r\n // },\r\n // };\r\n // };\r\n window.matchMedia = window.matchMedia || matchMediaPolifill;\r\n}\r\nconst dimensionMap = {\r\n xs: '480px',\r\n sm: '576px',\r\n md: '768px',\r\n lg: '992px',\r\n xl: '1200px',\r\n xxl: '1600px',\r\n};\r\nconst generateId = (() => {\r\n let i = 0;\r\n return (prefix = '') => {\r\n i += 1;\r\n return `${prefix}${i}`;\r\n };\r\n})();\r\nexport default class Sider extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.responsiveHandler = (event) => {\r\n this.setState({ below: event.matches });\r\n const { collapsed } = this.state;\r\n if (collapsed !== event.matches) {\r\n this.setCollapsed(event.matches, 'responsive');\r\n }\r\n };\r\n this.setCollapsed = (collapsed, type) => {\r\n if (!('collapsed' in this.props)) {\r\n this.setState({\r\n collapsed,\r\n });\r\n }\r\n const { onCollapse } = this.props;\r\n if (onCollapse) {\r\n onCollapse(collapsed, type);\r\n }\r\n };\r\n this.toggle = () => {\r\n const { collapsed } = this.state;\r\n this.setCollapsed(!collapsed, 'clickTrigger');\r\n };\r\n this.belowShowChange = () => {\r\n const { belowShow } = this.state;\r\n this.setState({ belowShow: !belowShow });\r\n };\r\n this.uniqueId = generateId(getPrefixCls('sider-'));\r\n let matchMedia;\r\n if (typeof window !== 'undefined') {\r\n matchMedia = window.matchMedia;\r\n }\r\n if (matchMedia && props.breakpoint && props.breakpoint in dimensionMap) {\r\n this.mql = matchMedia(`(max-width: ${dimensionMap[props.breakpoint]})`);\r\n }\r\n let collapsed;\r\n if ('collapsed' in props) {\r\n collapsed = props.collapsed;\r\n }\r\n else {\r\n collapsed = props.defaultCollapsed;\r\n }\r\n this.state = {\r\n collapsed,\r\n below: false,\r\n };\r\n }\r\n getChildContext() {\r\n const { collapsedWidth } = this.props;\r\n const { collapsed } = this.state;\r\n return {\r\n siderCollapsed: collapsed,\r\n collapsedWidth,\r\n };\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if ('collapsed' in nextProps) {\r\n this.setState({\r\n collapsed: nextProps.collapsed,\r\n });\r\n }\r\n }\r\n componentDidMount() {\r\n if (this.mql) {\r\n this.mql.addListener(this.responsiveHandler);\r\n this.responsiveHandler(new MediaQueryListEvent('change', {\r\n matches: this.mql.matches,\r\n media: this.mql.media,\r\n }));\r\n }\r\n const { siderHook } = this.context;\r\n if (siderHook) {\r\n siderHook.addSider(this.uniqueId);\r\n }\r\n }\r\n componentWillUnmount() {\r\n if (this.mql) {\r\n this.mql.removeListener(this.responsiveHandler);\r\n }\r\n const { siderHook } = this.context;\r\n if (siderHook) {\r\n siderHook.removeSider(this.uniqueId);\r\n }\r\n }\r\n render() {\r\n const { prefixCls: customizePrefixCls, className, collapsible, reverseArrow, trigger, style, width, collapsedWidth, children, ...others } = this.props;\r\n const { collapsed, below } = this.state;\r\n const prefixCls = getPrefixCls('layout-sider', customizePrefixCls);\r\n const divProps = omit(others, ['collapsed', 'defaultCollapsed', 'onCollapse', 'breakpoint']);\r\n const siderWidth = collapsed ? collapsedWidth : width;\r\n // special trigger when collapsedWidth == 0\r\n const zeroWidthTrigger = collapsedWidth === 0 || collapsedWidth === '0' || collapsedWidth === '0px' ? (<span onClick={this.toggle} className={`${prefixCls}-zero-width-trigger`}>\n <Icon type=\"bars\"/>\n </span>) : null;\r\n const iconObj = {\r\n expanded: reverseArrow ? <Icon type=\"right\"/> : <Icon type=\"left\"/>,\r\n collapsed: reverseArrow ? <Icon type=\"left\"/> : <Icon type=\"right\"/>,\r\n };\r\n const status = collapsed ? 'collapsed' : 'expanded';\r\n const defaultTrigger = iconObj[status];\r\n const triggerDom = trigger !== null\r\n ? zeroWidthTrigger || (<div className={`${prefixCls}-trigger`} onClick={this.toggle} style={{ width: siderWidth }}>\n {trigger || defaultTrigger}\n </div>)\r\n : null;\r\n const divStyle = {\r\n ...style,\r\n flex: `0 0 ${siderWidth}px`,\r\n maxWidth: `${siderWidth}px`,\r\n minWidth: `${siderWidth}px`,\r\n width: `${siderWidth}px`,\r\n };\r\n const siderCls = classNames(className, prefixCls, {\r\n [`${prefixCls}-collapsed`]: !!collapsed,\r\n [`${prefixCls}-has-trigger`]: collapsible && trigger !== null && !zeroWidthTrigger,\r\n [`${prefixCls}-below`]: !!below,\r\n [`${prefixCls}-zero-width`]: siderWidth === 0 || siderWidth === '0' || siderWidth === '0px',\r\n });\r\n return (<div className={siderCls} {...divProps} style={divStyle}>\n <div className={`${prefixCls}-children`}>{children}</div>\n {collapsible || (below && zeroWidthTrigger) ? triggerDom : null}\n </div>);\r\n }\r\n}\r\nSider.displayName = 'LayoutSider';\r\nSider.__ANT_LAYOUT_SIDER = true;\r\nSider.defaultProps = {\r\n collapsible: false,\r\n defaultCollapsed: false,\r\n reverseArrow: false,\r\n width: 200,\r\n collapsedWidth: 80,\r\n style: {},\r\n};\r\nSider.childContextTypes = {\r\n siderCollapsed: PropTypes.bool,\r\n collapsedWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n};\r\nSider.contextTypes = {\r\n siderHook: PropTypes.object,\r\n};\r\n","import Layout from './layout';\r\nimport Sider from './Sider';\r\nexport { BasicProps as LayoutProps } from './layout';\r\nexport { SiderProps } from './Sider';\r\nLayout.Sider = Sider;\r\nexport default Layout;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { getPrefixCls } from '../configure';\r\nfunction generator({ displayName, suffixCls }) {\r\n return (BasicComponent) => {\r\n var _a;\r\n return _a = class Adapter extends Component {\r\n render() {\r\n const { prefixCls: customizePrefixCls } = this.props;\r\n return (<BasicComponent {...this.props} prefixCls={getPrefixCls(suffixCls, customizePrefixCls)}/>);\r\n }\r\n },\r\n _a.displayName = displayName,\r\n _a;\r\n };\r\n}\r\nfunction Basic(props) {\r\n const { prefixCls, className, children, ...others } = props;\r\n const divCls = classNames(className, prefixCls);\r\n return (<div className={divCls} {...others}>\n {children}\n </div>);\r\n}\r\nclass BasicLayout extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.state = { siders: [] };\r\n }\r\n getChildContext() {\r\n const { siders } = this.state;\r\n return {\r\n siderHook: {\r\n addSider: (id) => {\r\n this.setState({\r\n siders: [...siders, id],\r\n });\r\n },\r\n removeSider: (id) => {\r\n this.setState({\r\n siders: siders.filter(currentId => currentId !== id),\r\n });\r\n },\r\n },\r\n };\r\n }\r\n render() {\r\n const { prefixCls, className, children, hasSider, ...others } = this.props;\r\n const { siders } = this.state;\r\n const divCls = classNames(className, prefixCls, {\r\n [`${prefixCls}-has-sider`]: hasSider || siders.length > 0,\r\n });\r\n return (<div className={divCls} {...others}>\n {children}\n </div>);\r\n }\r\n}\r\nBasicLayout.childContextTypes = {\r\n siderHook: PropTypes.object,\r\n};\r\nconst Layout = generator({\r\n suffixCls: 'layout',\r\n displayName: 'Layout',\r\n})(BasicLayout);\r\nconst Header = generator({\r\n suffixCls: 'layout-header',\r\n displayName: 'Header',\r\n})(Basic);\r\nconst Footer = generator({\r\n suffixCls: 'layout-footer',\r\n displayName: 'Footer',\r\n})(Basic);\r\nconst Content = generator({\r\n suffixCls: 'layout-content',\r\n displayName: 'Content',\r\n})(Basic);\r\nLayout.Header = Header;\r\nLayout.Footer = Footer;\r\nLayout.Content = Content;\r\nexport default Layout;\r\n","import React, { Children, Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Col } from '../grid';\r\nimport { getPrefixCls } from '../configure';\r\nexport const Meta = props => {\r\n const { prefixCls: customizePrefixCls, className, avatar, title, description, ...others } = props;\r\n const prefixCls = getPrefixCls('list', customizePrefixCls);\r\n const classString = classNames(`${prefixCls}-item-meta`, className);\r\n const content = (<div className={`${prefixCls}-item-meta-content`}>\n {title && <h4 className={`${prefixCls}-item-meta-title`}>{title}</h4>}\n {description && <div className={`${prefixCls}-item-meta-description`}>{description}</div>}\n </div>);\r\n return (<div {...others} className={classString}>\n {avatar && <div className={`${prefixCls}-item-meta-avatar`}>{avatar}</div>}\n {(title || description) && content}\n </div>);\r\n};\r\nMeta.displayName = 'ListMeta';\r\nfunction getGrid(grid, t) {\r\n return grid[t] && Math.floor(24 / grid[t]);\r\n}\r\nconst GridColumns = ['', 1, 2, 3, 4, 6, 8, 12, 24];\r\nexport default class Item extends Component {\r\n render() {\r\n const { grid } = this.context;\r\n const { prefixCls: customizePrefixCls, children, actions, extra, className, ...others } = this.props;\r\n const prefixCls = getPrefixCls('list', customizePrefixCls);\r\n const classString = classNames(`${prefixCls}-item`, className);\r\n const metaContent = [];\r\n const otherContent = [];\r\n Children.forEach(children, (element) => {\r\n if (element && element.type && element.type === Meta) {\r\n metaContent.push(element);\r\n }\r\n else {\r\n otherContent.push(element);\r\n }\r\n });\r\n const contentClassString = classNames(`${prefixCls}-item-content`, {\r\n [`${prefixCls}-item-content-single`]: metaContent.length < 1,\r\n });\r\n const content = otherContent.length > 0 ? <div className={contentClassString}>{otherContent}</div> : null;\r\n let actionsContent;\r\n if (actions && actions.length > 0) {\r\n const actionsContentItem = (action, i) => (<li key={`${prefixCls}-item-action-${i}`}>\n {action}\n {i !== actions.length - 1 && <em className={`${prefixCls}-item-action-split`}/>}\n </li>);\r\n actionsContent = (<ul className={`${prefixCls}-item-action`}>\n {actions.map((action, i) => actionsContentItem(action, i))}\n </ul>);\r\n }\r\n const extraContent = (<div className={`${prefixCls}-item-extra-wrap`}>\n <div className={`${prefixCls}-item-main`}>\n {metaContent}\n {content}\n {actionsContent}\n </div>\n <div className={`${prefixCls}-item-extra`}>{extra}</div>\n </div>);\r\n const mainContent = grid ? (<Col span={getGrid(grid, 'column')} xs={getGrid(grid, 'xs')} sm={getGrid(grid, 'sm')} md={getGrid(grid, 'md')} lg={getGrid(grid, 'lg')} xl={getGrid(grid, 'xl')} xxl={getGrid(grid, 'xxl')}>\n <div {...others} className={classString}>\n {extra && extraContent}\n {!extra && metaContent}\n {!extra && content}\n {!extra && actionsContent}\n </div>\n </Col>) : (<div {...others} className={classString}>\n {extra && extraContent}\n {!extra && metaContent}\n {!extra && content}\n {!extra && actionsContent}\n </div>);\r\n return mainContent;\r\n }\r\n}\r\nItem.displayName = 'ListItem';\r\nItem.Meta = Meta;\r\nItem.propTypes = {\r\n column: PropTypes.oneOf(GridColumns),\r\n xs: PropTypes.oneOf(GridColumns),\r\n sm: PropTypes.oneOf(GridColumns),\r\n md: PropTypes.oneOf(GridColumns),\r\n lg: PropTypes.oneOf(GridColumns),\r\n xl: PropTypes.oneOf(GridColumns),\r\n xxl: PropTypes.oneOf(GridColumns),\r\n};\r\nItem.contextTypes = {\r\n grid: PropTypes.any,\r\n};\r\n","import React, { Children, cloneElement, Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport omit from 'lodash/omit';\r\nimport Spin from '../spin';\r\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\r\nimport defaultLocale from '../locale-provider/default';\r\nimport { Size } from '../_util/enum';\r\nimport Pagination from '../pagination';\r\nimport { Row } from '../grid';\r\nimport Item from './Item';\r\nimport { getPrefixCls } from '../configure';\r\nexport { ListItemProps, ListItemMetaProps } from './Item';\r\nexport default class List extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.keys = {};\r\n this.renderItem = (item, index) => {\r\n const { dataSource, renderItem, rowKey } = this.props;\r\n let key;\r\n if (typeof rowKey === 'function') {\r\n key = rowKey(dataSource[index]);\r\n }\r\n else if (typeof rowKey === 'string') {\r\n key = dataSource[rowKey];\r\n }\r\n else {\r\n key = dataSource.key;\r\n }\r\n if (!key) {\r\n key = `list-item-${index}`;\r\n }\r\n this.keys[index] = key;\r\n return renderItem(item, index);\r\n };\r\n this.renderEmpty = (contextLocale) => {\r\n const { props } = this;\r\n const locale = { ...contextLocale, ...props.locale };\r\n return <div className={`${this.getPrefixCls()}-empty-text`}>{locale.emptyText}</div>;\r\n };\r\n }\r\n getChildContext() {\r\n const { grid } = this.props;\r\n return {\r\n grid,\r\n };\r\n }\r\n isSomethingAfterLastTtem() {\r\n const { loadMore, pagination, footer } = this.props;\r\n return !!(loadMore || pagination || footer);\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return getPrefixCls('list', prefixCls);\r\n }\r\n render() {\r\n const { bordered, split, className, children, itemLayout, loadMore, pagination, grid, dataSource, size, header, footer, empty, loading, ...rest } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n let loadingProp = loading;\r\n if (typeof loadingProp === 'boolean') {\r\n loadingProp = {\r\n spinning: loadingProp,\r\n };\r\n }\r\n const isLoading = loadingProp && loadingProp.spinning;\r\n // large => lg\r\n // small => sm\r\n let sizeCls = '';\r\n switch (size) {\r\n case Size.large:\r\n sizeCls = 'lg';\r\n break;\r\n case Size.small:\r\n sizeCls = 'sm';\r\n break;\r\n default:\r\n }\r\n const classString = classNames(prefixCls, className, {\r\n [`${prefixCls}-vertical`]: itemLayout === 'vertical',\r\n [`${prefixCls}-${sizeCls}`]: sizeCls,\r\n [`${prefixCls}-split`]: split,\r\n [`${prefixCls}-bordered`]: bordered,\r\n [`${prefixCls}-loading`]: isLoading,\r\n [`${prefixCls}-grid`]: grid,\r\n [`${prefixCls}-something-after-last-item`]: this.isSomethingAfterLastTtem(),\r\n });\r\n const paginationContent = (<div className={`${prefixCls}-pagination`}>\n <Pagination {...pagination}/>\n </div>);\r\n let childrenContent;\r\n childrenContent = isLoading && <div style={{ minHeight: 53 }}/>;\r\n if (dataSource.length > 0) {\r\n const items = dataSource.map((item, index) => this.renderItem(item, index));\r\n const childrenList = Children.map(items, (child, index) => cloneElement(child, {\r\n key: this.keys[index],\r\n }));\r\n childrenContent = grid ? <Row gutter={grid.gutter}>{childrenList}</Row> : childrenList;\r\n }\r\n else if (!children && !isLoading && !empty) {\r\n childrenContent = (<LocaleReceiver componentName=\"Table\" defaultLocale={defaultLocale.Table}>\n {this.renderEmpty}\n </LocaleReceiver>);\r\n }\r\n else {\r\n childrenContent = empty;\r\n }\r\n const content = (<div>\n <Spin {...loadingProp}>{childrenContent}</Spin>\n {loadMore}\n {!loadMore && pagination ? paginationContent : null}\n </div>);\r\n return (<div className={classString} {...omit(rest, ['prefixCls', 'rowKey', 'renderItem'])}>\n {header && <div className={`${prefixCls}-header`}>{header}</div>}\n {content}\n {children}\n {footer && <div className={`${prefixCls}-footer`}>{footer}</div>}\n </div>);\r\n }\r\n}\r\nList.displayName = 'List';\r\nList.Item = Item;\r\nList.childContextTypes = {\r\n grid: PropTypes.any,\r\n};\r\nList.defaultProps = {\r\n dataSource: [],\r\n bordered: false,\r\n split: true,\r\n loading: false,\r\n pagination: false,\r\n};\r\n","import { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nexport default class LocaleReceiver extends Component {\r\n getLocale() {\r\n const { componentName, defaultLocale } = this.props;\r\n const { c7nLocale } = this.context;\r\n const localeFromContext = c7nLocale && c7nLocale[componentName];\r\n return {\r\n ...(typeof defaultLocale === 'function' ? defaultLocale() : defaultLocale),\r\n ...(localeFromContext || {}),\r\n };\r\n }\r\n getLocaleCode() {\r\n const { c7nLocale } = this.context;\r\n const localeCode = c7nLocale && c7nLocale.locale;\r\n // Had use LocaleProvide but didn't set locale\r\n if (c7nLocale && c7nLocale.exist && !localeCode) {\r\n return 'en-us';\r\n }\r\n return localeCode;\r\n }\r\n render() {\r\n const { children } = this.props;\r\n return children(this.getLocale(), this.getLocaleCode());\r\n }\r\n}\r\nLocaleReceiver.contextTypes = {\r\n c7nLocale: PropTypes.object,\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/ar_EG';\r\nimport DatePicker from '../date-picker/locale/ar_EG';\r\nimport TimePicker from '../time-picker/locale/ar_EG';\r\nimport Calendar from '../calendar/locale/ar_EG';\r\nexport default {\r\n locale: 'ar',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'الفلاتر',\r\n filterConfirm: 'تأكيد',\r\n filterReset: 'إعادة ضبط',\r\n emptyText: 'لا توجد بيانات',\r\n selectAll: 'اختيار الكل',\r\n selectInvert: 'إلغاء الاختيار',\r\n },\r\n Modal: {\r\n okText: 'تأكيد',\r\n cancelText: 'إلغاء',\r\n justOkText: 'تأكيد',\r\n },\r\n Popconfirm: {\r\n okText: 'تأكيد',\r\n cancelText: 'إلغاء',\r\n },\r\n Transfer: {\r\n notFoundContent: 'لا يوجد محتوى',\r\n searchPlaceholder: 'ابحث هنا',\r\n itemUnit: 'عنصر',\r\n itemsUnit: 'عناصر',\r\n },\r\n Select: {\r\n notFoundContent: 'لايوجد محتوى',\r\n },\r\n Upload: {\r\n uploading: 'جاري الرفع...',\r\n removeFile: 'احذف الملف',\r\n uploadError: 'مشكلة فى الرفع',\r\n previewFile: 'استعرض الملف',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/bg_BG';\r\nimport DatePicker from '../date-picker/locale/bg_BG';\r\nimport TimePicker from '../time-picker/locale/bg_BG';\r\nimport Calendar from '../calendar/locale/bg_BG';\r\nexport default {\r\n locale: 'bg',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Филтриране',\r\n filterConfirm: 'Добре',\r\n filterReset: 'Нулриане',\r\n emptyText: 'Няма данни',\r\n selectAll: 'Избор на текуща страница',\r\n selectInvert: 'Обръщане',\r\n },\r\n Modal: {\r\n okText: 'Добре',\r\n cancelText: 'Отказ',\r\n justOkText: 'Добре',\r\n },\r\n Popconfirm: {\r\n okText: 'Добре',\r\n cancelText: 'Отказ',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Няма намерени',\r\n searchPlaceholder: 'Търсене',\r\n itemUnit: 'избор',\r\n itemsUnit: 'избори',\r\n },\r\n Select: {\r\n notFoundContent: 'Няма намерени',\r\n },\r\n Upload: {\r\n uploading: 'Качване...',\r\n removeFile: 'Премахване',\r\n uploadError: 'Грешка при качването',\r\n previewFile: 'Преглед',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/ca_ES';\r\nimport DatePicker from '../date-picker/locale/ca_ES';\r\nimport TimePicker from '../time-picker/locale/ca_ES';\r\nimport Calendar from '../calendar/locale/ca_ES';\r\nexport default {\r\n locale: 'ca',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Filtrar Menu',\r\n filterConfirm: 'OK',\r\n filterReset: 'Restablir',\r\n emptyText: 'Sense dades',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Cancel·lar',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Cancel·lar',\r\n },\r\n Transfer: {\r\n notFoundContent: 'No trobat',\r\n searchPlaceholder: 'Cercar aquí',\r\n itemUnit: 'item',\r\n itemsUnit: 'items',\r\n },\r\n Select: {\r\n notFoundContent: 'No trobat',\r\n },\r\n};\r\n","import DatePicker from '../date-picker/locale/cs_CZ';\r\nimport TimePicker from '../time-picker/locale/cs_CZ';\r\nimport Calendar from '../calendar/locale/cs_CZ';\r\nimport Pagination from '../rc-components/pagination/locale/cs_CZ';\r\nexport default {\r\n locale: 'cs',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Filtr',\r\n filterConfirm: 'Potvrdit',\r\n filterReset: 'Obnovit',\r\n emptyText: 'Žádná data',\r\n },\r\n Modal: {\r\n okText: 'Ok',\r\n cancelText: 'Storno',\r\n justOkText: 'Ok',\r\n },\r\n Popconfirm: {\r\n okText: 'Ok',\r\n cancelText: 'Storno',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Nenalezeno',\r\n searchPlaceholder: 'Vyhledávání',\r\n itemUnit: 'položka',\r\n itemsUnit: 'položek',\r\n },\r\n Select: {\r\n notFoundContent: 'Nenalezeno',\r\n },\r\n Upload: {\r\n uploading: 'Nahrávání...',\r\n removeFile: 'Odstranit soubor',\r\n uploadError: 'Chyba při nahrávání',\r\n previewFile: 'Zobrazit soubor',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/de_DE';\r\nimport DatePicker from '../date-picker/locale/de_DE';\r\nimport TimePicker from '../time-picker/locale/de_DE';\r\nimport Calendar from '../calendar/locale/de_DE';\r\nexport default {\r\n locale: 'de',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Filter-Menü',\r\n filterConfirm: 'OK',\r\n filterReset: 'Zurücksetzen',\r\n emptyText: 'Keine Daten',\r\n selectAll: 'Selektiere Alle',\r\n selectInvert: 'Selektion Invertieren',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Abbrechen',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Abbrechen',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Nicht gefunden',\r\n searchPlaceholder: 'Suchen',\r\n itemUnit: 'Eintrag',\r\n itemsUnit: 'Einträge',\r\n },\r\n Select: {\r\n notFoundContent: 'Nicht gefunden',\r\n },\r\n Upload: {\r\n uploading: 'Hochladen...',\r\n removeFile: 'Datei entfernen',\r\n uploadError: 'Fehler beim Hochladen',\r\n previewFile: 'Dateivorschau',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/en_US';\r\nimport DatePicker from '../date-picker/locale/en_US';\r\nimport TimePicker from '../time-picker/locale/en_US';\r\nimport Calendar from '../calendar/locale/en_US';\r\nexport default {\r\n locale: 'en',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Filter menu',\r\n filterConfirm: 'OK',\r\n filterReset: 'Reset',\r\n emptyText: 'No data',\r\n selectAll: 'Select current page',\r\n selectInvert: 'Invert current page',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Cancel',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Cancel',\r\n },\r\n Transfer: {\r\n titles: ['', ''],\r\n notFoundContent: 'Not Found',\r\n searchPlaceholder: 'Search here',\r\n itemUnit: 'item',\r\n itemsUnit: 'items',\r\n },\r\n Select: {\r\n notFoundContent: 'Not Found',\r\n selectAll: 'Select All',\r\n selectNone: 'None',\r\n filterPlaceholder: 'Input for filter',\r\n },\r\n Upload: {\r\n uploading: 'Uploading...',\r\n removeFile: 'Remove file',\r\n uploadError: 'Upload error',\r\n previewFile: 'Preview file',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/el_GR';\r\nimport DatePicker from '../date-picker/locale/el_GR';\r\nimport TimePicker from '../time-picker/locale/el_GR';\r\nimport Calendar from '../calendar/locale/el_GR';\r\nexport default {\r\n locale: 'el',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Μενού φίλτρων',\r\n filterConfirm: 'ΟΚ',\r\n filterReset: 'Επαναφορά',\r\n emptyText: 'Δεν υπάρχουν δεδομένα',\r\n selectAll: 'Επιλογή τρέχουσας σελίδας',\r\n selectInvert: 'Αντιστροφή τρέχουσας σελίδας',\r\n },\r\n Modal: {\r\n okText: 'ΟΚ',\r\n cancelText: 'Άκυρο',\r\n justOkText: 'ΟΚ',\r\n },\r\n Popconfirm: {\r\n okText: 'ΟΚ',\r\n cancelText: 'Άκυρο',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Δεν βρέθηκε',\r\n searchPlaceholder: 'Αναζήτηση',\r\n itemUnit: 'αντικείμενο',\r\n itemsUnit: 'αντικείμενα',\r\n },\r\n Select: {\r\n notFoundContent: 'Δεν βρέθηκε',\r\n },\r\n Upload: {\r\n uploading: 'Μεταφόρτωση...',\r\n removeFile: 'Αφαίρεση αρχείου',\r\n uploadError: 'Σφάλμα μεταφόρτωσης',\r\n previewFile: 'Προεπισκόπηση αρχείου',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/en_GB';\r\nimport DatePicker from '../date-picker/locale/en_GB';\r\nimport TimePicker from '../time-picker/locale/en_GB';\r\nimport Calendar from '../calendar/locale/en_GB';\r\nexport default {\r\n locale: 'en-gb',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Filter menu',\r\n filterConfirm: 'OK',\r\n filterReset: 'Reset',\r\n emptyText: 'No data',\r\n selectAll: 'Select current page',\r\n selectInvert: 'Invert current page',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Cancel',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Cancel',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Not Found',\r\n searchPlaceholder: 'Search here',\r\n itemUnit: 'item',\r\n itemsUnit: 'items',\r\n },\r\n Select: {\r\n notFoundContent: 'Not Found',\r\n selectAll: 'Select All',\r\n selectNone: 'None',\r\n filterPlaceholder: 'Input for filter',\r\n },\r\n Upload: {\r\n uploading: 'Uploading...',\r\n removeFile: 'Remove file',\r\n uploadError: 'Upload error',\r\n previewFile: 'Preview file',\r\n },\r\n};\r\n","import defaultLocale from './default';\r\nexport default defaultLocale;\r\n","import Pagination from '../rc-components/pagination/locale/es_ES';\r\nimport DatePicker from '../date-picker/locale/es_ES';\r\nimport TimePicker from '../time-picker/locale/es_ES';\r\nimport Calendar from '../calendar/locale/es_ES';\r\nexport default {\r\n locale: 'es',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Filtrar menú',\r\n filterConfirm: 'Aceptar',\r\n filterReset: 'Reiniciar',\r\n emptyText: 'No hay datos',\r\n selectAll: 'Seleccionar todo',\r\n selectInvert: 'Invertir selección',\r\n },\r\n Modal: {\r\n okText: 'Aceptar',\r\n cancelText: 'Cancelar',\r\n justOkText: 'Aceptar',\r\n },\r\n Popconfirm: {\r\n okText: 'Aceptar',\r\n cancelText: 'Cancelar',\r\n },\r\n Transfer: {\r\n notFoundContent: 'No encontrado',\r\n searchPlaceholder: 'Buscar aquí',\r\n itemUnit: 'elemento',\r\n itemsUnit: 'elementos',\r\n },\r\n Select: {\r\n notFoundContent: 'No encontrado',\r\n },\r\n Upload: {\r\n uploading: 'Subiendo...',\r\n removeFile: 'Eliminar archivo',\r\n uploadError: 'Error al subir el archivo',\r\n previewFile: 'Vista previa',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/et_EE';\r\nimport DatePicker from '../date-picker/locale/et_EE';\r\nimport TimePicker from '../time-picker/locale/et_EE';\r\nimport Calendar from '../calendar/locale/et_EE';\r\nexport default {\r\n locale: 'et',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Filtri menüü',\r\n filterConfirm: 'OK',\r\n filterReset: 'Nulli',\r\n emptyText: 'Andmed puuduvad',\r\n selectAll: 'Vali kõik',\r\n selectInvert: 'Inverteeri valik',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Tühista',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Tühista',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Ei leitud',\r\n searchPlaceholder: 'Otsi siit',\r\n itemUnit: 'kogus',\r\n itemsUnit: 'kogus',\r\n },\r\n Select: {\r\n notFoundContent: 'Ei leitud',\r\n },\r\n Upload: {\r\n uploading: 'Üleslaadimine...',\r\n removeFile: 'Eemalda fail',\r\n uploadError: 'Üleslaadimise tõrge',\r\n previewFile: 'Faili eelvaade',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/fa_IR';\r\nimport DatePicker from '../date-picker/locale/fa_IR';\r\nimport TimePicker from '../time-picker/locale/fa_IR';\r\nimport Calendar from '../calendar/locale/fa_IR';\r\nexport default {\r\n locale: 'fa',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'منوی فیلتر',\r\n filterConfirm: 'تایید',\r\n filterReset: 'پاک کردن',\r\n emptyText: 'داده‌ای موجود نیست',\r\n selectAll: 'انتخاب صفحه‌ی کنونی',\r\n selectInvert: 'معکوس کردن انتخاب‌ها در صفحه ی کنونی',\r\n },\r\n Modal: {\r\n okText: 'تایید',\r\n cancelText: 'لغو',\r\n justOkText: 'تایید',\r\n },\r\n Popconfirm: {\r\n okText: 'تایید',\r\n cancelText: 'لغو',\r\n },\r\n Transfer: {\r\n notFoundContent: 'داده‌ای موجود نیست',\r\n searchPlaceholder: 'جستجو',\r\n itemUnit: '',\r\n itemsUnit: '',\r\n },\r\n Select: {\r\n notFoundContent: 'داده‌ای موجود نیست',\r\n },\r\n Upload: {\r\n uploading: 'در حال آپلود...',\r\n removeFile: 'حذف فایل',\r\n uploadError: 'خطا در آپلود',\r\n previewFile: 'مشاهده‌ی فایل',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/fi_FI';\r\nimport DatePicker from '../date-picker/locale/fi_FI';\r\nimport TimePicker from '../time-picker/locale/fi_FI';\r\nimport Calendar from '../calendar/locale/fi_FI';\r\nexport default {\r\n locale: 'fi',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Suodatus valikko',\r\n filterConfirm: 'OK',\r\n filterReset: 'Tyhjennä',\r\n emptyText: 'Ei kohteita',\r\n selectAll: 'Valitse kaikki',\r\n selectInvert: 'Valitse päinvastoin',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Peruuta',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Peruuta',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Ei löytynyt',\r\n searchPlaceholder: 'Etsi täältä',\r\n itemUnit: 'kohde',\r\n itemsUnit: 'kohdetta',\r\n },\r\n Select: {\r\n notFoundContent: 'Ei löytynyt',\r\n },\r\n Upload: {\r\n uploading: 'Lähetetään...',\r\n removeFile: 'Poista tiedosto',\r\n uploadError: 'Virhe lähetyksessä',\r\n previewFile: 'Esikatsele tiedostoa',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/fr_BE';\r\nimport DatePicker from '../date-picker/locale/fr_BE';\r\nimport TimePicker from '../time-picker/locale/fr_BE';\r\nimport Calendar from '../calendar/locale/fr_BE';\r\nexport default {\r\n locale: 'fr',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Filtrer',\r\n filterConfirm: 'OK',\r\n filterReset: 'Réinitialiser',\r\n emptyText: 'Aucune donnée',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Annuler',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Annuler',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Pas de résultat',\r\n searchPlaceholder: 'Recherche',\r\n itemUnit: 'élément',\r\n itemsUnit: 'éléments',\r\n },\r\n Select: {\r\n notFoundContent: 'Pas de résultat',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/fr_FR';\r\nimport DatePicker from '../date-picker/locale/fr_FR';\r\nimport TimePicker from '../time-picker/locale/fr_FR';\r\nimport Calendar from '../calendar/locale/fr_FR';\r\nexport default {\r\n locale: 'fr',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Filtrer',\r\n filterConfirm: 'OK',\r\n filterReset: 'Réinitialiser',\r\n emptyText: 'Aucune donnée',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Annuler',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Annuler',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Pas de résultat',\r\n searchPlaceholder: 'Recherche',\r\n itemUnit: 'élément',\r\n itemsUnit: 'éléments',\r\n },\r\n Select: {\r\n notFoundContent: 'Pas de résultat',\r\n },\r\n};\r\n","import { Children, Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport interopDefault from '../_util/interopDefault';\r\nimport { changeConfirmLocale } from '../modal/locale';\r\nfunction setMomentLocale(locale) {\r\n if (locale && locale.locale) {\r\n interopDefault(moment).locale(locale.locale);\r\n }\r\n else {\r\n interopDefault(moment).locale('en');\r\n }\r\n}\r\nexport default class LocaleProvider extends Component {\r\n getChildContext() {\r\n const { locale } = this.props;\r\n return {\r\n c7nLocale: {\r\n ...locale,\r\n exist: true,\r\n },\r\n };\r\n }\r\n componentWillMount() {\r\n const { locale } = this.props;\r\n setMomentLocale(locale);\r\n this.componentDidUpdate();\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n const { locale } = this.props;\r\n const nextLocale = nextProps.locale;\r\n if (locale !== nextLocale) {\r\n setMomentLocale(nextProps.locale);\r\n }\r\n }\r\n componentDidUpdate() {\r\n const { locale } = this.props;\r\n changeConfirmLocale(locale && locale.Modal);\r\n }\r\n componentWillUnmount() {\r\n changeConfirmLocale();\r\n }\r\n render() {\r\n const { children } = this.props;\r\n return Children.only(children);\r\n }\r\n}\r\nLocaleProvider.propTypes = {\r\n locale: PropTypes.object,\r\n};\r\nLocaleProvider.defaultProps = {\r\n locale: {},\r\n};\r\nLocaleProvider.childContextTypes = {\r\n c7nLocale: PropTypes.object,\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/is_IS';\r\nimport DatePicker from '../date-picker/locale/is_IS';\r\nimport TimePicker from '../time-picker/locale/is_IS';\r\nimport Calendar from '../calendar/locale/is_IS';\r\nexport default {\r\n locale: 'is',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Afmarkanir',\r\n filterConfirm: 'Staðfesta',\r\n filterReset: 'Núllstilla',\r\n emptyText: 'Engin gögn',\r\n selectAll: 'Velja allt',\r\n selectInvert: 'Viðsnúa vali',\r\n },\r\n Modal: {\r\n okText: 'Áfram',\r\n cancelText: 'Hætta við',\r\n justOkText: 'Í lagi',\r\n },\r\n Popconfirm: {\r\n okText: 'Áfram',\r\n cancelText: 'Hætta við',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Engar færslur',\r\n searchPlaceholder: 'Leita hér',\r\n itemUnit: 'færsla',\r\n itemsUnit: 'færslur',\r\n },\r\n Select: {\r\n notFoundContent: 'Ekkert finnst',\r\n },\r\n Upload: {\r\n uploading: 'Hleð upp...',\r\n removeFile: 'Fjarlægja skrá',\r\n uploadError: 'Villa við að hlaða upp',\r\n previewFile: 'Forskoða skrá',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/it_IT';\r\nimport DatePicker from '../date-picker/locale/it_IT';\r\nimport TimePicker from '../time-picker/locale/it_IT';\r\nimport Calendar from '../calendar/locale/it_IT';\r\nexport default {\r\n locale: 'it',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Menu Filtro',\r\n filterConfirm: 'OK',\r\n filterReset: 'Reset',\r\n emptyText: 'Nessun dato',\r\n selectAll: 'Seleziona pagina corrente',\r\n selectInvert: 'Selezionare Inverti',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Annulla',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Annulla',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Non trovato',\r\n searchPlaceholder: 'Cerca qui',\r\n itemUnit: 'articolo',\r\n itemsUnit: 'elementi',\r\n },\r\n Select: {\r\n notFoundContent: 'Non trovato',\r\n },\r\n Upload: {\r\n uploading: 'Caricamento...',\r\n removeFile: 'Rimuovi il file',\r\n uploadError: 'Errore di caricamento',\r\n previewFile: 'Anteprima file',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/ja_JP';\r\nimport DatePicker from '../date-picker/locale/ja_JP';\r\nimport TimePicker from '../time-picker/locale/ja_JP';\r\nimport Calendar from '../calendar/locale/ja_JP';\r\nexport default {\r\n locale: 'ja',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'メニューをフィルター',\r\n filterConfirm: 'OK',\r\n filterReset: 'リセット',\r\n emptyText: 'データがありません',\r\n selectAll: 'すべてを選択',\r\n selectInvert: '選択を反転',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'キャンセル',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'キャンセル',\r\n },\r\n Transfer: {\r\n notFoundContent: '結果はありません',\r\n searchPlaceholder: 'ここを検索',\r\n itemUnit: 'アイテム',\r\n itemsUnit: 'アイテム',\r\n },\r\n Select: {\r\n notFoundContent: '結果はありません',\r\n },\r\n Upload: {\r\n uploading: 'アップロード中...',\r\n removeFile: 'ファイルを削除',\r\n uploadError: 'アップロードエラー',\r\n previewFile: 'ファイルをプレビュー',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/ko_KR';\r\nimport DatePicker from '../date-picker/locale/ko_KR';\r\nimport TimePicker from '../time-picker/locale/ko_KR';\r\nimport Calendar from '../calendar/locale/ko_KR';\r\nexport default {\r\n locale: 'ko',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: '필터 메뉴',\r\n filterConfirm: '확인',\r\n filterReset: '초기화',\r\n emptyText: '데이터 없음',\r\n },\r\n Modal: {\r\n okText: '확인',\r\n cancelText: '취소',\r\n justOkText: '확인',\r\n },\r\n Popconfirm: {\r\n okText: '확인',\r\n cancelText: '취소',\r\n },\r\n Transfer: {\r\n notFoundContent: '데이터 없음',\r\n searchPlaceholder: '여기에 검색하세요',\r\n itemUnit: '개',\r\n itemsUnit: '개',\r\n },\r\n Select: {\r\n notFoundContent: '데이터 없음',\r\n },\r\n Upload: {\r\n uploading: '업로드 중...',\r\n removeFile: '파일 삭제',\r\n uploadError: '업로드 실패',\r\n previewFile: '파일 미리보기',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/ku_IQ';\r\nimport DatePicker from '../date-picker/locale/ku_IQ';\r\nimport TimePicker from '../time-picker/locale/ku_IQ';\r\nimport Calendar from '../calendar/locale/ku_IQ';\r\nexport default {\r\n locale: 'ku-iq',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Menuê peldanka',\r\n filterConfirm: 'Temam',\r\n filterReset: 'Jê bibe',\r\n emptyText: 'Agahî tune',\r\n selectAll: 'Hemî hilbijêre',\r\n selectInvert: 'Hilbijartinan veguhere',\r\n },\r\n Modal: {\r\n okText: 'Temam',\r\n cancelText: 'Betal ke',\r\n justOkText: 'Temam',\r\n },\r\n Popconfirm: {\r\n okText: 'Temam',\r\n cancelText: 'Betal ke',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Peyda Nebû',\r\n searchPlaceholder: 'Lêgerîn',\r\n itemUnit: 'tişt',\r\n itemsUnit: 'tişt',\r\n },\r\n Select: {\r\n notFoundContent: 'Peyda Nebû',\r\n },\r\n Upload: {\r\n uploading: 'Bardike...',\r\n removeFile: 'Pelê rabike',\r\n uploadError: 'Xeta barkirine',\r\n previewFile: 'Pelê pêşbibîne',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/nb_NO';\r\nimport DatePicker from '../date-picker/locale/nb_NO';\r\nimport TimePicker from '../time-picker/locale/nb_NO';\r\nimport Calendar from '../calendar/locale/nb_NO';\r\nexport default {\r\n locale: 'nb',\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Pagination,\r\n Table: {\r\n filterTitle: 'Filtermeny',\r\n filterConfirm: 'OK',\r\n filterReset: 'Nullstill',\r\n emptyText: 'Ingen data',\r\n selectAll: 'Velg alle',\r\n selectInvert: 'Inverter valg',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Avbryt',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Avbryt',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Ingen treff',\r\n searchPlaceholder: 'Søk her',\r\n itemUnit: 'element',\r\n itemsUnit: 'elementer',\r\n },\r\n Select: {\r\n notFoundContent: 'Ingen treff',\r\n },\r\n Upload: {\r\n uploading: 'Laster opp...',\r\n removeFile: 'Fjern fil',\r\n uploadError: 'Feil ved opplastning',\r\n previewFile: 'Forhåndsvisning',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/nl_BE';\r\nimport DatePicker from '../date-picker/locale/nl_BE';\r\nimport TimePicker from '../time-picker/locale/nl_BE';\r\nimport Calendar from '../calendar/locale/nl_BE';\r\nexport default {\r\n locale: 'nl-be',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'FilterMenu',\r\n filterConfirm: 'OK',\r\n filterReset: 'Reset',\r\n emptyText: 'Geen gegevens',\r\n selectAll: 'Selecteer huidige pagina',\r\n selectInvert: 'Selecteer huidige pagina',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Annuleer',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Annuleer',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Niet gevonden',\r\n searchPlaceholder: 'Zoek hier',\r\n itemUnit: 'item',\r\n itemsUnit: 'items',\r\n },\r\n Select: {\r\n notFoundContent: 'Niet gevonden',\r\n },\r\n Upload: {\r\n uploading: 'Uploaden...',\r\n removeFile: 'Bestand verwijderen',\r\n uploadError: 'Upload fout',\r\n previewFile: 'Preview bestand',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/nl_NL';\r\nimport DatePicker from '../date-picker/locale/nl_NL';\r\nimport TimePicker from '../time-picker/locale/nl_NL';\r\nimport Calendar from '../calendar/locale/nl_NL';\r\nexport default {\r\n locale: 'nl',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Filteren',\r\n filterConfirm: 'OK',\r\n filterReset: 'Reset',\r\n emptyText: 'Geen gegevens',\r\n selectAll: 'Selecteer huidige pagina',\r\n selectInvert: 'Deselecteer huidige pagina',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Annuleren',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Annuleren',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Niet gevonden',\r\n searchPlaceholder: 'Zoeken',\r\n itemUnit: 'item',\r\n itemsUnit: 'items',\r\n },\r\n Select: {\r\n notFoundContent: 'Niet gevonden',\r\n },\r\n Upload: {\r\n uploading: 'Uploaden...',\r\n removeFile: 'Verwijder bestand',\r\n uploadError: 'Fout tijdens uploaden',\r\n previewFile: 'Bekijk bestand',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/pl_PL';\r\nimport DatePicker from '../date-picker/locale/pl_PL';\r\nimport TimePicker from '../time-picker/locale/pl_PL';\r\nimport Calendar from '../calendar/locale/pl_PL';\r\nexport default {\r\n locale: 'pl',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Menu filtra',\r\n filterConfirm: 'OK',\r\n filterReset: 'Wyczyść',\r\n emptyText: 'Brak danych',\r\n selectAll: 'Zaznacz bieżącą stronę',\r\n selectInvert: 'Odwróć zaznaczenie',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Anuluj',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Anuluj',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Nie znaleziono',\r\n searchPlaceholder: 'Szukaj',\r\n itemUnit: 'obiekt',\r\n itemsUnit: 'obiekty',\r\n },\r\n Select: {\r\n notFoundContent: 'Nie znaleziono',\r\n },\r\n Upload: {\r\n uploading: 'Wysyłanie...',\r\n removeFile: 'Usuń plik',\r\n uploadError: 'Błąd wysyłania',\r\n previewFile: 'Podejrzyj plik',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/pt_BR';\r\nimport DatePicker from '../date-picker/locale/pt_BR';\r\nimport TimePicker from '../time-picker/locale/pt_BR';\r\nimport Calendar from '../calendar/locale/pt_BR';\r\nexport default {\r\n locale: 'pt-br',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Filtro',\r\n filterConfirm: 'OK',\r\n filterReset: 'Resetar',\r\n emptyText: 'Não há dados',\r\n selectAll: 'Selecionar página atual',\r\n selectInvert: 'Inverter seleção',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Cancelar',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Cancelar',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Não encontrado',\r\n searchPlaceholder: 'Procurar',\r\n itemUnit: 'item',\r\n itemsUnit: 'items',\r\n },\r\n Select: {\r\n notFoundContent: 'Não encontrado',\r\n },\r\n Upload: {\r\n uploading: 'Enviando...',\r\n removeFile: 'Remover arquivo',\r\n uploadError: 'Erro no envio',\r\n previewFile: 'Visualizar arquivo',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/pt_PT';\r\nimport DatePicker from '../date-picker/locale/pt_PT';\r\nimport TimePicker from '../time-picker/locale/pt_PT';\r\nimport Calendar from '../calendar/locale/pt_PT';\r\nexport default {\r\n locale: 'pt',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Filtro',\r\n filterConfirm: 'Aplicar',\r\n filterReset: 'Reiniciar',\r\n emptyText: 'Sem resultados',\r\n selectAll: 'Selecionar página atual',\r\n selectInvert: 'Inverter seleção',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Cancelar',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Cancelar',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Sem resultados',\r\n searchPlaceholder: 'Procurar...',\r\n itemUnit: 'item',\r\n itemsUnit: 'itens',\r\n },\r\n Select: {\r\n notFoundContent: 'Sem resultados',\r\n },\r\n Upload: {\r\n uploading: 'A carregar...',\r\n removeFile: 'Remover',\r\n uploadError: 'Erro ao carregar',\r\n previewFile: 'Pré-visualizar',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/ru_RU';\r\nimport DatePicker from '../date-picker/locale/ru_RU';\r\nimport TimePicker from '../time-picker/locale/ru_RU';\r\nimport Calendar from '../calendar/locale/ru_RU';\r\nexport default {\r\n locale: 'ru',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Фильтр',\r\n filterConfirm: 'OK',\r\n filterReset: 'Сбросить',\r\n emptyText: 'Нет данных',\r\n selectAll: 'Выбрать всё',\r\n selectInvert: 'Инвертировать выбор',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Отмена',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Отмена',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Ничего не найдено',\r\n searchPlaceholder: 'Введите название для поиска',\r\n itemUnit: 'item',\r\n itemsUnit: 'items',\r\n },\r\n Select: {\r\n notFoundContent: 'Ничего не найдено',\r\n },\r\n Upload: {\r\n uploading: 'Закачиваю...',\r\n removeFile: 'Удалить файл',\r\n uploadError: 'Ошибка при закачке',\r\n previewFile: 'Предпросмотр файла',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/sk_SK';\r\nimport DatePicker from '../date-picker/locale/sk_SK';\r\nimport TimePicker from '../time-picker/locale/sk_SK';\r\nimport Calendar from '../calendar/locale/sk_SK';\r\nexport default {\r\n locale: 'sk',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Filter',\r\n filterConfirm: 'OK',\r\n filterReset: 'Obnoviť',\r\n emptyText: 'Žiadne dáta',\r\n selectAll: 'Vybrať všetko',\r\n selectInvert: 'Vybrať opačné',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Zrušiť',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Zrušiť',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Nenájdené',\r\n searchPlaceholder: 'Vyhľadávanie',\r\n itemUnit: 'položka',\r\n itemsUnit: 'položiek',\r\n },\r\n Select: {\r\n notFoundContent: 'Nenájdené',\r\n },\r\n Upload: {\r\n uploading: 'Nahrávanie...',\r\n removeFile: 'Odstrániť súbor',\r\n uploadError: 'Chyba pri nahrávaní',\r\n previewFile: 'Zobraziť súbor',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/sl_SI';\r\nimport DatePicker from '../date-picker/locale/sl_SI';\r\nimport TimePicker from '../time-picker/locale/sl_SI';\r\nimport Calendar from '../calendar/locale/sl_SI';\r\nexport default {\r\n locale: 'sl',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Filter',\r\n filterConfirm: 'Filtriraj',\r\n filterReset: 'Pobriši filter',\r\n emptyText: 'Ni podatkov',\r\n selectAll: 'Izberi vse na trenutni strani',\r\n selectInvert: 'Obrni izbor na trenutni strani',\r\n },\r\n Modal: {\r\n okText: 'V redu',\r\n cancelText: 'Prekliči',\r\n justOkText: 'V redu',\r\n },\r\n Popconfirm: {\r\n okText: 'v redu',\r\n cancelText: 'Prekliči',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Ni rezultatov iskanja',\r\n searchPlaceholder: 'Išči tukaj',\r\n itemUnit: 'Objekt',\r\n itemsUnit: 'Objektov',\r\n },\r\n Select: {\r\n notFoundContent: 'Ni bilo mogoče najti',\r\n },\r\n Upload: {\r\n uploading: 'Nalaganje...',\r\n removeFile: 'Odstrani datoteko',\r\n uploadError: 'Napaka pri nalaganju',\r\n previewFile: 'Predogled datoteke',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/sr_RS';\r\nimport DatePicker from '../date-picker/locale/sr_RS';\r\nimport TimePicker from '../time-picker/locale/sr_RS';\r\nimport Calendar from '../calendar/locale/sr_RS';\r\nexport default {\r\n locale: 'sr',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Filter',\r\n filterConfirm: 'Primeni filter',\r\n filterReset: 'Resetuj filter',\r\n emptyText: 'Nema podataka',\r\n selectAll: 'Obeleži sve na trenutnoj strani',\r\n selectInvert: 'Obrni selekciju na trenutnoj stranici',\r\n },\r\n Modal: {\r\n okText: 'U redu',\r\n cancelText: 'Otkaži',\r\n justOkText: 'U redu',\r\n },\r\n Popconfirm: {\r\n okText: 'U redu',\r\n cancelText: 'Otkaži',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Nisu pronađeni rezultati pretrage',\r\n searchPlaceholder: 'Pretražite ovde',\r\n itemUnit: 'stavka',\r\n itemsUnit: 'stavki',\r\n },\r\n Select: {\r\n notFoundContent: 'Nije pronađeno',\r\n },\r\n Upload: {\r\n uploading: 'Slanje...',\r\n removeFile: 'Ukloni fajl',\r\n uploadError: 'Greška prilikom slanja',\r\n previewFile: 'Pogledaj fajl',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/sv_SE';\r\nimport DatePicker from '../date-picker/locale/sv_SE';\r\nimport TimePicker from '../time-picker/locale/sv_SE';\r\nimport Calendar from '../calendar/locale/sv_SE';\r\nexport default {\r\n locale: 'sv',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Filtermeny',\r\n filterConfirm: 'OK',\r\n filterReset: 'Rensa',\r\n emptyText: 'Ingen information',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Avbryt',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Avbryt',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Info saknas',\r\n searchPlaceholder: 'Sök',\r\n itemUnit: 'element',\r\n itemsUnit: 'element',\r\n },\r\n Select: {\r\n notFoundContent: 'Info saknas',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/th_TH';\r\nimport DatePicker from '../date-picker/locale/th_TH';\r\nimport TimePicker from '../time-picker/locale/th_TH';\r\nimport Calendar from '../calendar/locale/th_TH';\r\nexport default {\r\n locale: 'th',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'ตัวกรอง',\r\n filterConfirm: 'ยืนยัน',\r\n filterReset: 'รีเซ็ต',\r\n emptyText: 'ไม่มีข้อมูล',\r\n selectAll: 'เลือกทั้งหมดในหน้านี้',\r\n selectInvert: 'เลือกสถานะตรงกันข้าม',\r\n },\r\n Modal: {\r\n okText: 'ตกลง',\r\n cancelText: 'ยกเลิก',\r\n justOkText: 'ตกลง',\r\n },\r\n Popconfirm: {\r\n okText: 'ตกลง',\r\n cancelText: 'ยกเลิก',\r\n },\r\n Transfer: {\r\n notFoundContent: 'ไม่พบข้อมูล',\r\n searchPlaceholder: 'ค้นหา',\r\n itemUnit: 'ชิ้น',\r\n itemsUnit: 'ชิ้น',\r\n },\r\n Select: {\r\n notFoundContent: 'ไม่พบข้อมูล',\r\n },\r\n Upload: {\r\n uploading: 'กำลังอัปโหลด...',\r\n removeFile: 'ลบไฟล์',\r\n uploadError: 'เกิดข้อผิดพลาดในการอัปโหลด',\r\n previewFile: 'ดูตัวอย่างไฟล์',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/tr_TR';\r\nimport DatePicker from '../date-picker/locale/tr_TR';\r\nimport TimePicker from '../time-picker/locale/tr_TR';\r\nimport Calendar from '../calendar/locale/tr_TR';\r\nexport default {\r\n locale: 'tr',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Menü Filtrele',\r\n filterConfirm: 'Tamam',\r\n filterReset: 'Sıfırla',\r\n emptyText: 'Veri Yok',\r\n selectAll: 'Hepsini Seç',\r\n selectInvert: 'Tersini Seç',\r\n },\r\n Modal: {\r\n okText: 'Tamam',\r\n cancelText: 'İptal',\r\n justOkText: 'Tamam',\r\n },\r\n Popconfirm: {\r\n okText: 'Tamam',\r\n cancelText: 'İptal',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Bulunamadı',\r\n searchPlaceholder: 'Arama',\r\n itemUnit: 'Öğe',\r\n itemsUnit: 'Öğeler',\r\n },\r\n Select: {\r\n notFoundContent: 'Bulunamadı',\r\n },\r\n Upload: {\r\n uploading: 'Yükleniyor...',\r\n removeFile: `Dosyayı kaldır`,\r\n uploadError: 'Yükleme Hatası',\r\n previewFile: `Dosyayı Önizle`,\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/uk_UA';\r\nimport DatePicker from '../date-picker/locale/uk_UA';\r\nimport TimePicker from '../time-picker/locale/uk_UA';\r\nimport Calendar from '../calendar/locale/uk_UA';\r\nexport default {\r\n locale: 'uk',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Фільтрувати',\r\n filterConfirm: 'OK',\r\n filterReset: 'Скинути',\r\n emptyText: 'Даних немає',\r\n selectAll: 'Обрати всі',\r\n selectInvert: 'Інвертувати вибір',\r\n },\r\n Modal: {\r\n okText: 'Гаразд',\r\n cancelText: 'Скасувати',\r\n justOkText: 'Гаразд',\r\n },\r\n Popconfirm: {\r\n okText: 'Гаразд',\r\n cancelText: 'Скасувати',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Нічого не знайдено',\r\n searchPlaceholder: 'Введіть текст для пошуку',\r\n itemUnit: 'item',\r\n itemsUnit: 'items',\r\n },\r\n Select: {\r\n notFoundContent: 'Нічого не знайдено',\r\n },\r\n Upload: {\r\n uploading: 'Завантаження ...',\r\n removeFile: 'Видалити файл',\r\n uploadError: 'Помилка завантаження',\r\n previewFile: 'Попередній перегляд файлу',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/vi_VN';\r\nimport DatePicker from '../date-picker/locale/vi_VN';\r\nimport TimePicker from '../time-picker/locale/vi_VN';\r\nimport Calendar from '../calendar/locale/vi_VN';\r\nexport default {\r\n locale: 'vi',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: 'Bộ ',\r\n filterConfirm: 'OK',\r\n filterReset: 'Tạo Lại',\r\n emptyText: 'Trống',\r\n selectAll: 'Chọn Tất Cả',\r\n selectInvert: 'Chọn Ngược Lại',\r\n },\r\n Modal: {\r\n okText: 'OK',\r\n cancelText: 'Huỷ',\r\n justOkText: 'OK',\r\n },\r\n Popconfirm: {\r\n okText: 'OK',\r\n cancelText: 'Huỷ',\r\n },\r\n Transfer: {\r\n notFoundContent: 'Không Tìm Thấy',\r\n searchPlaceholder: 'Tìm ở đây',\r\n itemUnit: 'mục',\r\n itemsUnit: 'mục',\r\n },\r\n Select: {\r\n notFoundContent: 'Không Tìm Thấy',\r\n },\r\n Upload: {\r\n uploading: 'Đang tải lên...',\r\n removeFile: 'Gỡ bỏ tập tin',\r\n uploadError: 'Lỗi tải lên',\r\n previewFile: 'Xem thử tập tin',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/zh_CN';\r\nimport DatePicker from '../date-picker/locale/zh_CN';\r\nimport TimePicker from '../time-picker/locale/zh_CN';\r\nimport Calendar from '../calendar/locale/zh_CN';\r\nexport default {\r\n locale: 'zh-cn',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: '筛选',\r\n filterConfirm: '确定',\r\n filterReset: '重置',\r\n emptyText: '暂无数据',\r\n selectAll: '全选当页',\r\n selectInvert: '反选当页',\r\n },\r\n Modal: {\r\n okText: '确定',\r\n cancelText: '取消',\r\n justOkText: '确定',\r\n },\r\n Popconfirm: {\r\n cancelText: '取消',\r\n okText: '确定',\r\n },\r\n Transfer: {\r\n notFoundContent: '无匹配结果',\r\n searchPlaceholder: '请输入搜索内容',\r\n itemUnit: '项',\r\n itemsUnit: '项',\r\n },\r\n Select: {\r\n notFoundContent: '无匹配结果',\r\n selectAll: '全选',\r\n selectNone: '无',\r\n filterPlaceholder: '输入文字以进行过滤',\r\n },\r\n Upload: {\r\n uploading: '文件上传中',\r\n removeFile: '删除文件',\r\n uploadError: '上传错误',\r\n previewFile: '预览文件',\r\n },\r\n};\r\n","import Pagination from '../rc-components/pagination/locale/zh_TW';\r\nimport DatePicker from '../date-picker/locale/zh_TW';\r\nimport TimePicker from '../time-picker/locale/zh_TW';\r\nimport Calendar from '../calendar/locale/zh_TW';\r\nexport default {\r\n locale: 'zh-tw',\r\n Pagination,\r\n DatePicker,\r\n TimePicker,\r\n Calendar,\r\n Table: {\r\n filterTitle: '篩選器',\r\n filterConfirm: '確 定',\r\n filterReset: '重 置',\r\n emptyText: '目前尚無資料',\r\n selectAll: '全部選取',\r\n selectInvert: '反向選取',\r\n },\r\n Modal: {\r\n okText: '確 定',\r\n cancelText: '取 消',\r\n justOkText: '確 定',\r\n },\r\n Popconfirm: {\r\n okText: '確 定',\r\n cancelText: '取 消',\r\n },\r\n Transfer: {\r\n notFoundContent: '查無此資料',\r\n searchPlaceholder: '搜尋資料',\r\n itemUnit: '項目',\r\n itemsUnit: '項目',\r\n },\r\n Select: {\r\n notFoundContent: '查無此資料',\r\n },\r\n Upload: {\r\n uploading: '正在上傳...',\r\n removeFile: '刪除檔案',\r\n uploadError: '上傳失敗',\r\n previewFile: '檔案預覽',\r\n },\r\n};\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport shallowequal from 'lodash/isEqual';\r\nimport Icon from '../icon';\r\nimport RcMention, { getMentions, Nav, toEditorState, toString, } from '../rc-components/editor-mention';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Mention extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.onSearchChange = (value, prefix) => {\r\n const { onSearchChange } = this.props;\r\n if (onSearchChange) {\r\n return onSearchChange(value, prefix);\r\n }\r\n return this.defaultSearchChange(value);\r\n };\r\n this.onFocus = (ev) => {\r\n this.setState({\r\n focus: true,\r\n });\r\n const { onFocus } = this.props;\r\n if (onFocus) {\r\n onFocus(ev);\r\n }\r\n };\r\n this.onBlur = (ev) => {\r\n this.setState({\r\n focus: false,\r\n });\r\n const { onBlur } = this.props;\r\n if (onBlur) {\r\n onBlur(ev);\r\n }\r\n };\r\n this.focus = () => {\r\n this.mentionEle._editor.focusEditor();\r\n };\r\n this.mentionRef = (ele) => {\r\n this.mentionEle = ele;\r\n };\r\n this.state = {\r\n suggestions: props.suggestions,\r\n focus: false,\r\n };\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n const { suggestions } = nextProps;\r\n const { props } = this;\r\n if (!shallowequal(suggestions, props.suggestions)) {\r\n this.setState({\r\n suggestions,\r\n });\r\n }\r\n }\r\n defaultSearchChange(value) {\r\n const searchValue = value.toLowerCase();\r\n const { suggestions } = this.props;\r\n const filteredSuggestions = (suggestions || []).filter(suggestion => {\r\n if (suggestion.type && suggestion.type === Nav) {\r\n return suggestion.props.value\r\n ? suggestion.props.value.toLowerCase().indexOf(searchValue) !== -1\r\n : true;\r\n }\r\n return suggestion.toLowerCase().indexOf(searchValue) !== -1;\r\n });\r\n this.setState({\r\n suggestions: filteredSuggestions,\r\n });\r\n }\r\n render() {\r\n const { className = '', prefixCls: customizePrefixCls, loading, placement, notFoundContent, onChange, } = this.props;\r\n const prefixCls = getPrefixCls('mention', customizePrefixCls);\r\n const { suggestions, focus } = this.state;\r\n const cls = classNames(className, {\r\n [`${prefixCls}-active`]: focus,\r\n [`${prefixCls}-placement-top`]: placement === 'top',\r\n });\r\n const notFound = loading ? <Icon type=\"loading\"/> : notFoundContent;\r\n return (<RcMention {...this.props} prefixCls={prefixCls} className={cls} ref={this.mentionRef} onSearchChange={this.onSearchChange} onChange={onChange} onFocus={this.onFocus} onBlur={this.onBlur} suggestions={suggestions} notFoundContent={notFound}/>);\r\n }\r\n}\r\nMention.displayName = 'Mention';\r\nMention.getMentions = getMentions;\r\nMention.defaultProps = {\r\n notFoundContent: '无匹配结果,轻敲空格完成输入',\r\n loading: false,\r\n multiLines: false,\r\n placement: 'bottom',\r\n};\r\nMention.Nav = Nav;\r\nMention.toString = toString;\r\nMention.toContentState = toEditorState;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Tooltip from '../tooltip';\r\nimport { Item } from '../rc-components/menu';\r\nclass MenuItem extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.onKeyDown = e => {\r\n this.menuItem.onKeyDown(e);\r\n };\r\n this.saveMenuItem = (menuItem) => {\r\n this.menuItem = menuItem;\r\n };\r\n }\r\n render() {\r\n const { inlineCollapsed } = this.context;\r\n const props = this.props;\r\n const item = <Item {...props} ref={this.saveMenuItem}/>;\r\n if (inlineCollapsed && props.level === 1) {\r\n return (<Tooltip title={props.children} placement=\"right\" overlayClassName={`${props.rootPrefixCls}-inline-collapsed-tooltip`}>\n {item}\n </Tooltip>);\r\n }\r\n return item;\r\n }\r\n}\r\nMenuItem.contextTypes = {\r\n inlineCollapsed: PropTypes.bool,\r\n};\r\nMenuItem.isMenuItem = 1;\r\nexport default MenuItem;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { SubMenu as RcSubMenu } from '../rc-components/menu';\r\nclass SubMenu extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.onKeyDown = e => {\r\n this.subMenu.onKeyDown(e);\r\n };\r\n this.saveSubMenu = (subMenu) => {\r\n this.subMenu = subMenu;\r\n };\r\n }\r\n render() {\r\n const { rootPrefixCls, className } = this.props;\r\n const { menuTheme } = this.context;\r\n return (<RcSubMenu {...this.props} ref={this.saveSubMenu} popupClassName={classNames(`${rootPrefixCls}-${menuTheme}`, className)}/>);\r\n }\r\n}\r\nSubMenu.contextTypes = {\r\n menuTheme: PropTypes.string,\r\n};\r\nexport default SubMenu;\r\n","import React, { Component } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport animation from '../_util/openAnimation';\r\nimport warning from '../_util/warning';\r\nimport SubMenu from './SubMenu';\r\nimport Item from './MenuItem';\r\nimport RcMenu, { Divider, ItemGroup } from '../rc-components/menu';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Menu extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.inlineOpenKeys = [];\r\n this.handleClick = (e) => {\r\n this.handleOpenChange([]);\r\n const { onClick } = this.props;\r\n if (onClick) {\r\n onClick(e);\r\n }\r\n };\r\n this.handleOpenChange = (openKeys) => {\r\n this.setOpenKeys(openKeys);\r\n const { onOpenChange } = this.props;\r\n if (onOpenChange) {\r\n onOpenChange(openKeys);\r\n }\r\n };\r\n warning(!('onOpen' in props || 'onClose' in props), '`onOpen` and `onClose` are removed, please use `onOpenChange` instead');\r\n warning(!('inlineCollapsed' in props && props.mode !== 'inline'), \"`inlineCollapsed` should only be used when Menu's `mode` is inline.\");\r\n let openKeys;\r\n if ('defaultOpenKeys' in props) {\r\n openKeys = props.defaultOpenKeys;\r\n }\r\n else if ('openKeys' in props) {\r\n openKeys = props.openKeys;\r\n }\r\n this.state = {\r\n openKeys: openKeys || [],\r\n };\r\n }\r\n getChildContext() {\r\n const { theme } = this.props;\r\n return {\r\n inlineCollapsed: this.getInlineCollapsed(),\r\n menuTheme: theme,\r\n };\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return getPrefixCls('menu', prefixCls);\r\n }\r\n componentWillReceiveProps(nextProps, nextContext) {\r\n const { mode, inlineCollapsed } = this.props;\r\n if (mode === 'inline' && nextProps.mode !== 'inline') {\r\n this.switchModeFromInline = true;\r\n }\r\n if ('openKeys' in nextProps) {\r\n this.setState({ openKeys: nextProps.openKeys });\r\n return;\r\n }\r\n const { openKeys } = this.state;\r\n const { siderCollapsed } = this.context;\r\n if ((nextProps.inlineCollapsed && !inlineCollapsed) ||\r\n (nextContext.siderCollapsed && !siderCollapsed)) {\r\n this.switchModeFromInline =\r\n !!openKeys.length &&\r\n !!findDOMNode(this).querySelectorAll(`.${this.getPrefixCls()}-submenu-open`).length;\r\n this.inlineOpenKeys = openKeys;\r\n this.setState({ openKeys: [] });\r\n }\r\n if ((!nextProps.inlineCollapsed && inlineCollapsed) ||\r\n (!nextContext.siderCollapsed && siderCollapsed)) {\r\n this.setState({ openKeys: this.inlineOpenKeys });\r\n this.inlineOpenKeys = [];\r\n }\r\n }\r\n setOpenKeys(openKeys) {\r\n if (!('openKeys' in this.props)) {\r\n this.setState({ openKeys });\r\n }\r\n }\r\n getRealMenuMode() {\r\n const inlineCollapsed = this.getInlineCollapsed();\r\n if (this.switchModeFromInline && inlineCollapsed) {\r\n return 'inline';\r\n }\r\n const { mode } = this.props;\r\n return inlineCollapsed ? 'vertical' : mode;\r\n }\r\n getInlineCollapsed() {\r\n const { inlineCollapsed } = this.props;\r\n const { siderCollapsed = inlineCollapsed } = this.context;\r\n return siderCollapsed;\r\n }\r\n getMenuOpenAnimation(menuMode) {\r\n const { openAnimation, openTransitionName } = this.props;\r\n let menuOpenAnimation = openAnimation || openTransitionName;\r\n if (openAnimation === undefined && openTransitionName === undefined) {\r\n switch (menuMode) {\r\n case 'horizontal':\r\n menuOpenAnimation = 'slide-up';\r\n break;\r\n case 'vertical':\r\n case 'vertical-left':\r\n case 'vertical-right':\r\n // When mode switch from inline\r\n // submenu should hide without animation\r\n if (this.switchModeFromInline) {\r\n menuOpenAnimation = '';\r\n this.switchModeFromInline = false;\r\n }\r\n else {\r\n menuOpenAnimation = 'zoom-big';\r\n }\r\n break;\r\n case 'inline':\r\n menuOpenAnimation = {\r\n ...animation,\r\n leave: (node, done) => animation.leave(node, () => {\r\n // Make sure inline menu leave animation finished before mode is switched\r\n this.switchModeFromInline = false;\r\n this.setState({});\r\n // when inlineCollapsed change false to true, all submenu will be unmounted,\r\n // so that we don't need handle animation leaving.\r\n if (this.getRealMenuMode() === 'vertical') {\r\n return;\r\n }\r\n done();\r\n }),\r\n };\r\n break;\r\n default:\r\n }\r\n }\r\n return menuOpenAnimation;\r\n }\r\n render() {\r\n const { className, theme } = this.props;\r\n const { openKeys } = this.state;\r\n const prefixCls = this.getPrefixCls();\r\n const menuMode = this.getRealMenuMode();\r\n const menuOpenAnimation = this.getMenuOpenAnimation(menuMode);\r\n const menuClassName = classNames(className, `${prefixCls}-${theme}`, {\r\n [`${prefixCls}-inline-collapsed`]: this.getInlineCollapsed(),\r\n });\r\n const menuProps = {\r\n openKeys,\r\n onOpenChange: this.handleOpenChange,\r\n className: menuClassName,\r\n mode: menuMode,\r\n };\r\n if (menuMode !== 'inline') {\r\n // closing vertical popup submenu after click it\r\n menuProps.onClick = this.handleClick;\r\n menuProps.openTransitionName = menuOpenAnimation;\r\n }\r\n else {\r\n menuProps.openAnimation = menuOpenAnimation;\r\n }\r\n const { collapsedWidth } = this.context;\r\n if (this.getInlineCollapsed() &&\r\n (collapsedWidth === 0 || collapsedWidth === '0' || collapsedWidth === '0px')) {\r\n return null;\r\n }\r\n return <RcMenu {...this.props} {...menuProps} prefixCls={prefixCls}/>;\r\n }\r\n}\r\nMenu.displayName = 'Menu';\r\nMenu.Divider = Divider;\r\nMenu.Item = Item;\r\nMenu.SubMenu = SubMenu;\r\nMenu.ItemGroup = ItemGroup;\r\nMenu.defaultProps = {\r\n className: '',\r\n theme: 'light',\r\n focusable: false,\r\n};\r\nMenu.childContextTypes = {\r\n inlineCollapsed: PropTypes.bool,\r\n menuTheme: PropTypes.string,\r\n};\r\nMenu.contextTypes = {\r\n siderCollapsed: PropTypes.bool,\r\n collapsedWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n};\r\n","import React from 'react';\r\nimport noop from 'lodash/noop';\r\nimport isString from 'lodash/isString';\r\nimport Icon from '../icon';\r\nimport Notification from '../rc-components/notification';\r\nimport { getPlacementStyle, getPlacementTransitionName } from './util';\r\nimport { getPrefixCls } from '../configure';\r\nlet defaultDuration = 3;\r\nlet defaultTop = 24;\r\nlet defaultBottom = 24;\r\nlet messageInstance;\r\nlet key = 1;\r\nlet customizePrefixCls;\r\nlet transitionName = 'move-up';\r\nlet defaultPlacement = 'leftBottom';\r\nlet getContainer;\r\nfunction getCustomizePrefixCls() {\r\n return getPrefixCls('message', customizePrefixCls);\r\n}\r\nfunction getMessageInstance(placement, callback) {\r\n if (messageInstance) {\r\n callback(messageInstance);\r\n return;\r\n }\r\n Notification.newInstance({\r\n prefixCls: getCustomizePrefixCls(),\r\n style: getPlacementStyle(placement, defaultTop, defaultBottom),\r\n transitionName: getPlacementTransitionName(placement, transitionName),\r\n getContainer,\r\n }, (instance) => {\r\n if (messageInstance) {\r\n callback(messageInstance);\r\n return;\r\n }\r\n messageInstance = instance;\r\n callback(instance);\r\n });\r\n}\r\nfunction notice(content, duration = defaultDuration, type, onClose, placement) {\r\n const iconType = {\r\n info: 'info',\r\n success: 'check_circle',\r\n error: 'error',\r\n warning: 'warning',\r\n loading: 'loading',\r\n }[type];\r\n if (isString(onClose)) {\r\n placement = onClose;\r\n onClose = noop;\r\n }\r\n if (typeof duration === 'function') {\r\n onClose = duration;\r\n duration = defaultDuration;\r\n }\r\n else if (isString(duration)) {\r\n placement = duration;\r\n }\r\n const target = key++;\r\n const prefixCls = getCustomizePrefixCls();\r\n getMessageInstance(placement || defaultPlacement, instance => {\r\n instance.notice({\r\n key: target,\r\n duration,\r\n style: {},\r\n content: (<div className={`${prefixCls}-custom-content ${prefixCls}-${type}`}>\n <Icon type={iconType}/>\n <span>{content}</span>\n </div>),\r\n onClose,\r\n });\r\n });\r\n return () => {\r\n if (messageInstance) {\r\n messageInstance.removeNotice(target);\r\n }\r\n };\r\n}\r\nexport default {\r\n info(content, duration, onClose, placement) {\r\n return notice(content, duration, 'info', onClose, placement);\r\n },\r\n success(content, duration, onClose, placement) {\r\n return notice(content, duration, 'success', onClose, placement);\r\n },\r\n error(content, duration, onClose, placement) {\r\n return notice(content, duration, 'error', onClose, placement);\r\n },\r\n // Departed usage, please use warning()\r\n warn(content, duration, onClose, placement) {\r\n return notice(content, duration, 'warning', onClose, placement);\r\n },\r\n warning(content, duration, onClose, placement) {\r\n return notice(content, duration, 'warning', onClose, placement);\r\n },\r\n loading(content, duration, onClose, placement) {\r\n return notice(content, duration, 'loading', onClose, placement);\r\n },\r\n config(options) {\r\n if (options.top !== undefined) {\r\n defaultTop = options.top;\r\n messageInstance = null; // delete messageInstance for new defaultTop\r\n }\r\n if (options.bottom !== undefined) {\r\n defaultBottom = options.bottom;\r\n messageInstance = null; // delete messageInstance for new defaultBottom\r\n }\r\n if (options.duration !== undefined) {\r\n defaultDuration = options.duration;\r\n }\r\n if (options.prefixCls !== undefined) {\r\n customizePrefixCls = options.prefixCls;\r\n }\r\n if (options.getContainer !== undefined) {\r\n getContainer = options.getContainer;\r\n }\r\n if (options.transitionName !== undefined) {\r\n transitionName = options.transitionName;\r\n messageInstance = null; // delete messageInstance for new transitionName\r\n }\r\n if (options.placement !== undefined) {\r\n defaultPlacement = options.placement;\r\n }\r\n },\r\n destroy() {\r\n if (messageInstance) {\r\n messageInstance.destroy();\r\n messageInstance = null;\r\n }\r\n },\r\n};\r\n","export function getPlacementStyle(placement, defaultTop, defaultBottom) {\r\n const top = defaultTop ? `${defaultTop}px` : 0;\r\n const bottom = defaultBottom ? `${defaultBottom}px` : 0;\r\n const target = {\r\n left: '24px',\r\n right: '24px',\r\n top,\r\n bottom,\r\n };\r\n let style = {};\r\n switch (placement) {\r\n case 'top':\r\n style = {\r\n bottom: 'auto',\r\n };\r\n break;\r\n case 'right':\r\n style = {\r\n left: 'auto',\r\n top: '50%',\r\n bottom: 'auto',\r\n };\r\n break;\r\n case 'bottom':\r\n style = {\r\n top: 'auto',\r\n };\r\n break;\r\n case 'left':\r\n style = {\r\n right: 'auto',\r\n top: '50%',\r\n bottom: 'auto',\r\n };\r\n break;\r\n case 'topLeft':\r\n case 'leftTop':\r\n style = {\r\n right: 'auto',\r\n bottom: 'auto',\r\n };\r\n break;\r\n case 'topRight':\r\n case 'rightTop':\r\n style = {\r\n left: 'auto',\r\n bottom: 'auto',\r\n };\r\n break;\r\n case 'bottomLeft':\r\n case 'leftBottom':\r\n style = {\r\n right: 'auto',\r\n top: 'auto',\r\n };\r\n break;\r\n case 'bottomRight':\r\n case 'rightBottom':\r\n style = {\r\n left: 'auto',\r\n top: 'auto',\r\n };\r\n break;\r\n default:\r\n break;\r\n }\r\n Object.assign(target, style);\r\n return target;\r\n}\r\nexport function getPlacementTransitionName(placement, defaultTransitionName) {\r\n let transitionName = defaultTransitionName;\r\n switch (placement) {\r\n case 'top':\r\n case 'topLeft':\r\n case 'topRight':\r\n transitionName = 'move-up';\r\n break;\r\n case 'left':\r\n case 'leftTop':\r\n case 'leftBottom':\r\n transitionName = 'move-left';\r\n break;\r\n case 'bottom':\r\n case 'bottomLeft':\r\n case 'bottomRight':\r\n transitionName = 'move-down';\r\n break;\r\n case 'right':\r\n case 'rightTop':\r\n case 'rightBottom':\r\n transitionName = 'move-right';\r\n break;\r\n default:\r\n break;\r\n }\r\n return transitionName;\r\n}\r\n","import React, { Component } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport Button from '../button';\r\nexport default class ActionButton extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.onClick = (props) => {\r\n const { actionFn, closeModal } = props;\r\n if (actionFn) {\r\n let ret;\r\n if (actionFn.length) {\r\n ret = actionFn(closeModal);\r\n }\r\n else {\r\n ret = actionFn();\r\n if (!ret) {\r\n closeModal();\r\n }\r\n }\r\n if (ret && ret.then) {\r\n this.setState({ loading: true });\r\n ret.then((...args) => {\r\n // It's unnecessary to set loading=false, for the Modal will be unmounted after close.\r\n // this.setState({ loading: false });\r\n closeModal(...args);\r\n }, () => {\r\n this.setState({ loading: false });\r\n });\r\n }\r\n }\r\n else {\r\n closeModal();\r\n }\r\n };\r\n this.state = {\r\n loading: false,\r\n };\r\n }\r\n componentDidMount() {\r\n const { autoFocus } = this.props;\r\n if (autoFocus) {\r\n const $this = findDOMNode(this);\r\n this.timeoutId = setTimeout(() => $this.focus());\r\n }\r\n }\r\n componentWillUnmount() {\r\n clearTimeout(this.timeoutId);\r\n }\r\n render() {\r\n const { okProps, cancelProps } = this.props;\r\n const { loading } = this.state;\r\n const cancelButton = cancelProps && (<Button disabled={loading} onClick={() => {\r\n this.onClick(cancelProps);\r\n }}>\n {cancelProps.text}\n </Button>);\r\n return (<div>\n {cancelButton}\n <Button loading={loading} type={okProps.type} onClick={() => {\r\n this.onClick(okProps);\r\n }}>\n {okProps.text}\n </Button>\n </div>);\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Button from '../button';\r\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\r\nimport { getConfirmLocale } from './locale';\r\nimport Dialog from '../rc-components/dialog';\r\nimport addEventListener from '../_util/addEventListener';\r\nimport { getPrefixCls } from '../configure';\r\nlet mousePosition;\r\nlet mousePositionEventBinded;\r\nexport default class Modal extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.handleCancel = (e) => {\r\n const { onCancel } = this.props;\r\n if (onCancel) {\r\n onCancel(e);\r\n }\r\n };\r\n this.handleOk = (e) => {\r\n const { onOk } = this.props;\r\n if (onOk) {\r\n onOk(e);\r\n }\r\n };\r\n this.renderFooter = (locale) => {\r\n const { okText, okType, cancelText, confirmLoading, funcType, disableOk, disableCancel, } = this.props;\r\n return (<div>\n <Button disabled={disableCancel || confirmLoading} onClick={this.handleCancel} funcType={funcType}>\n {cancelText || locale.cancelText}\n </Button>\n <Button type={okType} funcType={funcType} disabled={disableOk} loading={confirmLoading} onClick={this.handleOk}>\n {okText || locale.okText}\n </Button>\n </div>);\r\n };\r\n }\r\n componentDidMount() {\r\n if (mousePositionEventBinded) {\r\n return;\r\n }\r\n // 只有点击事件支持从鼠标位置动画展开\r\n addEventListener(document.documentElement, 'click', (e) => {\r\n mousePosition = {\r\n x: e.pageX,\r\n y: e.pageY,\r\n };\r\n // 100ms 内发生过点击事件,则从点击位置动画展示\r\n // 否则直接 zoom 展示\r\n // 这样可以兼容非点击方式展开\r\n setTimeout(() => (mousePosition = null), 100);\r\n });\r\n mousePositionEventBinded = true;\r\n }\r\n render() {\r\n const { footer, visible, prefixCls: customizePrefixCls } = this.props;\r\n const prefixCls = getPrefixCls('modal', customizePrefixCls);\r\n const defaultFooter = (<LocaleReceiver componentName=\"Modal\" defaultLocale={getConfirmLocale()}>\n {this.renderFooter}\n </LocaleReceiver>);\r\n return (<Dialog {...this.props} prefixCls={prefixCls} footer={footer === undefined ? defaultFooter : footer} visible={visible} mousePosition={mousePosition} onClose={this.handleCancel}/>);\r\n }\r\n}\r\nModal.displayName = 'Modal';\r\nModal.defaultProps = {\r\n width: 520,\r\n transitionName: 'zoom',\r\n maskTransitionName: 'fade',\r\n confirmLoading: false,\r\n disableOk: false,\r\n disableCancel: false,\r\n visible: false,\r\n okType: 'primary',\r\n center: false,\r\n};\r\nModal.propTypes = {\r\n prefixCls: PropTypes.string,\r\n onOk: PropTypes.func,\r\n onCancel: PropTypes.func,\r\n okText: PropTypes.node,\r\n cancelText: PropTypes.node,\r\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n confirmLoading: PropTypes.bool,\r\n visible: PropTypes.bool,\r\n align: PropTypes.object,\r\n footer: PropTypes.node,\r\n title: PropTypes.node,\r\n closable: PropTypes.bool,\r\n transitionName: PropTypes.string,\r\n funcType: PropTypes.string,\r\n center: PropTypes.bool,\r\n disableOk: PropTypes.bool,\r\n disableCancel: PropTypes.bool,\r\n okType: PropTypes.string,\r\n maskTransitionName: PropTypes.string,\r\n};\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport Dialog from './Modal';\r\nimport Button from '../button';\r\nimport { getConfirmLocale } from './locale';\r\nimport { getPrefixCls } from '../configure';\r\nfunction isFixedWidth(width) {\r\n switch (typeof width) {\r\n case 'undefined':\r\n return false;\r\n case 'number':\r\n return true;\r\n case 'string':\r\n // width: 100%不是固定宽度\r\n return width.indexOf('%') === -1;\r\n default:\r\n return false;\r\n }\r\n}\r\nexport default class Sidebar extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleCancel = (e) => {\r\n const { onCancel } = this.props;\r\n if (onCancel) {\r\n onCancel(e);\r\n }\r\n };\r\n this.handleOk = (e) => {\r\n const { onOk } = this.props;\r\n if (onOk) {\r\n onOk(e);\r\n }\r\n };\r\n this.renderFooter = () => {\r\n const props = this.props;\r\n const { onCancel, onOk, okType, funcType, confirmLoading, alwaysCanCancel } = props;\r\n const prefixCls = this.getPrefixCls();\r\n const okCancel = 'okCancel' in props ? props.okCancel : true;\r\n const runtimeLocale = getConfirmLocale();\r\n const okText = props.okText || (okCancel ? runtimeLocale.okText : runtimeLocale.justOkText);\r\n const cancelText = props.cancelText || runtimeLocale.cancelText;\r\n const cancalBtn = okCancel ? (<Button className={`${prefixCls}-btn-cancel`} disabled={!alwaysCanCancel && confirmLoading} funcType={funcType} onClick={onCancel}>\n {cancelText}\n </Button>) : null;\r\n return (<div className={`${prefixCls}-btns`}>\n <Button className={`${prefixCls}-btn-ok`} loading={confirmLoading} funcType={funcType} type={okType} onClick={onOk}>\n {okText}\n </Button>\n {cancalBtn}\n </div>);\r\n };\r\n this.handleStatus = () => {\r\n const { open } = this.state;\r\n this.setState({\r\n open: !open,\r\n });\r\n };\r\n this.state = {\r\n open: false,\r\n };\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return getPrefixCls('modal', prefixCls);\r\n }\r\n render() {\r\n const { props } = this;\r\n const { footer = this.renderFooter(), width, className } = props;\r\n const prefixCls = this.getPrefixCls();\r\n const { open } = this.state;\r\n const fixedWidth = isFixedWidth(width);\r\n const classString = classNames(prefixCls, {\r\n [`${prefixCls}-sidebar`]: true,\r\n [`${prefixCls}-sidebar-open`]: open,\r\n [`${prefixCls}-sidebar-fixed-width`]: fixedWidth,\r\n }, className);\r\n return (<Dialog {...props} prefixCls={prefixCls} animationEnd={this.handleStatus} className={classString} footer={footer} closable={'closable' in props ? props.closable : false}/>);\r\n }\r\n}\r\nSidebar.displayName = 'Sidebar';\r\nSidebar.defaultProps = {\r\n width: '100%',\r\n transitionName: 'slide-right',\r\n maskTransitionName: 'fade',\r\n confirmLoading: false,\r\n alwaysCanCancel: false,\r\n visible: false,\r\n okType: 'primary',\r\n funcType: 'raised',\r\n};\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport classNames from 'classnames';\r\nimport Icon from '../icon';\r\nimport Dialog from './Modal';\r\nimport ActionButton from './ActionButton';\r\nimport { getConfirmLocale } from './locale';\r\nimport { getPrefixCls } from '../configure';\r\nconst IS_REACT_16 = !!ReactDOM.createPortal;\r\nconst ConfirmDialog = (props) => {\r\n const { prefixCls: customizePrefixCls, onCancel, onOk, close, zIndex, width, style, type, className, afterClose, visible, keyboard, okText, cancelText, okCancel = true, iconType, okType, maskClosable = false, title, content, } = props;\r\n const propOkType = okType || 'primary';\r\n const prefixCls = getPrefixCls('confirm', customizePrefixCls);\r\n const propWidth = width || 416;\r\n const propStyle = style || {};\r\n const runtimeLocale = getConfirmLocale();\r\n const propOkText = okText || (okCancel ? runtimeLocale.okText : runtimeLocale.justOkText);\r\n const propCancelText = cancelText || runtimeLocale.cancelText;\r\n const classString = classNames(prefixCls, `${prefixCls}-${type}`, className);\r\n const actionButtonProps = {\r\n okProps: {\r\n text: propOkText,\r\n type: propOkType,\r\n actionFn: onOk,\r\n closeModal: close,\r\n },\r\n };\r\n if (okCancel) {\r\n actionButtonProps.cancelProps = {\r\n text: propCancelText,\r\n actionFn: onCancel,\r\n closeModal: close,\r\n };\r\n }\r\n function handleCancel() {\r\n close({ triggerCancel: true });\r\n }\r\n return (<Dialog className={classString} onCancel={handleCancel} visible={visible} title=\"\" transitionName=\"zoom\" footer=\"\" maskTransitionName=\"fade\" maskClosable={maskClosable} style={propStyle} width={propWidth} zIndex={zIndex} afterClose={afterClose} keyboard={keyboard}>\n <div className={`${prefixCls}-body-wrapper`}>\n <div className={`${prefixCls}-body`}>\n {iconType ? <Icon type={iconType}/> : null}\n <span className={`${prefixCls}-title`}>{title}</span>\n <div className={`${prefixCls}-content`}>{content}</div>\n </div>\n <div className={`${prefixCls}-btns`}>\n <ActionButton {...actionButtonProps}/>\n </div>\n </div>\n </Dialog>);\r\n};\r\nexport default function confirm(config) {\r\n const div = document.createElement('div');\r\n document.body.appendChild(div);\r\n function destroy(...args) {\r\n const unmountResult = ReactDOM.unmountComponentAtNode(div);\r\n if (unmountResult && div.parentNode) {\r\n div.parentNode.removeChild(div);\r\n }\r\n const triggerCancel = args && args.length && args.some(param => param && param.triggerCancel);\r\n if (config.onCancel && triggerCancel) {\r\n config.onCancel(...args);\r\n }\r\n }\r\n function render(props) {\r\n ReactDOM.render(<ConfirmDialog {...props}/>, div);\r\n }\r\n function close(...args) {\r\n if (IS_REACT_16) {\r\n render({ ...config, close, visible: false, afterClose: destroy.bind(this, ...args) });\r\n }\r\n else {\r\n destroy(...args);\r\n }\r\n }\r\n render({ ...config, visible: true, close });\r\n return {\r\n destroy: close,\r\n };\r\n}\r\n","import Modal from './Modal';\r\nimport confirm from './confirm';\r\nimport Sidebar from './Sidebar';\r\nexport { ActionButtonProps } from './ActionButton';\r\nexport { ModalProps, ModalFuncProps } from './Modal';\r\nModal.info = function (props) {\r\n const config = {\r\n type: 'info',\r\n okCancel: false,\r\n ...props,\r\n };\r\n return confirm(config);\r\n};\r\nModal.success = function (props) {\r\n const config = {\r\n type: 'success',\r\n iconType: 'check_circle',\r\n okCancel: false,\r\n ...props,\r\n };\r\n return confirm(config);\r\n};\r\nModal.error = function (props) {\r\n const config = {\r\n type: 'error',\r\n iconType: 'error',\r\n okCancel: false,\r\n ...props,\r\n };\r\n return confirm(config);\r\n};\r\nModal.warn = function (props) {\r\n const config = {\r\n type: 'warning',\r\n iconType: 'warning',\r\n okCancel: false,\r\n ...props,\r\n };\r\n return confirm(config);\r\n};\r\nModal.warning = Modal.warn;\r\nModal.confirm = function (props) {\r\n const config = {\r\n type: 'confirm',\r\n okCancel: true,\r\n ...props,\r\n };\r\n return confirm(config);\r\n};\r\nModal.Sidebar = Sidebar;\r\nexport default Modal;\r\n","import defaultLocale from '../locale-provider/default';\r\nlet runtimeLocale = {\r\n ...defaultLocale.Modal,\r\n};\r\nexport function changeConfirmLocale(newLocale) {\r\n if (newLocale) {\r\n runtimeLocale = {\r\n ...runtimeLocale,\r\n ...newLocale,\r\n };\r\n }\r\n else {\r\n runtimeLocale = {\r\n ...defaultLocale.Modal,\r\n };\r\n }\r\n}\r\nexport function getConfirmLocale() {\r\n return runtimeLocale;\r\n}\r\n","import React from 'react';\r\nimport Icon from '../icon';\r\nimport Notification from '../rc-components/notification';\r\nimport { getPrefixCls } from '../configure';\r\nconst notificationInstance = {};\r\nlet defaultDuration = 4.5;\r\nlet defaultTop = 24;\r\nlet defaultBottom = 24;\r\nlet defaultPlacement = 'topRight';\r\nlet defaultGetContainer;\r\nfunction setNotificationConfig(options) {\r\n const { duration, placement, bottom, top, getContainer } = options;\r\n if (duration !== undefined) {\r\n defaultDuration = duration;\r\n }\r\n if (placement !== undefined) {\r\n defaultPlacement = placement;\r\n }\r\n if (bottom !== undefined) {\r\n defaultBottom = bottom;\r\n }\r\n if (top !== undefined) {\r\n defaultTop = top;\r\n }\r\n if (getContainer !== undefined) {\r\n defaultGetContainer = getContainer;\r\n }\r\n}\r\nfunction getPlacementStyle(placement) {\r\n let style;\r\n switch (placement) {\r\n case 'topLeft':\r\n style = {\r\n left: 0,\r\n top: defaultTop,\r\n bottom: 'auto',\r\n };\r\n break;\r\n case 'topRight':\r\n style = {\r\n right: 0,\r\n top: defaultTop,\r\n bottom: 'auto',\r\n };\r\n break;\r\n case 'bottomLeft':\r\n style = {\r\n left: 0,\r\n top: 'auto',\r\n bottom: defaultBottom,\r\n };\r\n break;\r\n default:\r\n style = {\r\n right: 0,\r\n top: 'auto',\r\n bottom: defaultBottom,\r\n };\r\n break;\r\n }\r\n return style;\r\n}\r\nfunction getNotificationInstance(prefixCls, placement, callback) {\r\n const cacheKey = `${prefixCls}-${placement}`;\r\n if (notificationInstance[cacheKey]) {\r\n callback(notificationInstance[cacheKey]);\r\n return;\r\n }\r\n Notification.newInstance({\r\n prefixCls,\r\n className: `${prefixCls}-${placement}`,\r\n style: getPlacementStyle(placement),\r\n getContainer: defaultGetContainer,\r\n closeIcon: <Icon className={`${prefixCls}-close-icon`} type=\"close\"/>,\r\n }, (notification) => {\r\n notificationInstance[cacheKey] = notification;\r\n callback(notification);\r\n });\r\n}\r\nconst typeToIcon = {\r\n success: 'check',\r\n info: 'info',\r\n error: 'error',\r\n warning: 'warning',\r\n};\r\nfunction notice(args) {\r\n const outerPrefixCls = getPrefixCls('notification', args.prefixCls);\r\n const prefixCls = `${outerPrefixCls}-notice`;\r\n const duration = args.duration === undefined ? defaultDuration : args.duration;\r\n let iconNode = null;\r\n if (args.icon) {\r\n iconNode = <span className={`${prefixCls}-icon`}>{args.icon}</span>;\r\n }\r\n else if (args.type) {\r\n const iconType = typeToIcon[args.type];\r\n iconNode = (<Icon className={`${prefixCls}-icon ${prefixCls}-icon-${args.type}`} type={iconType}/>);\r\n }\r\n const autoMarginTag = !args.description && iconNode ? (<span className={`${prefixCls}-message-single-line-auto-margin`}/>) : null;\r\n getNotificationInstance(outerPrefixCls, args.placement || defaultPlacement, (notification) => {\r\n notification.notice({\r\n content: (<div className={iconNode ? `${prefixCls}-with-icon` : ''}>\n {iconNode}\n <div className={`${prefixCls}-message`}>\n {autoMarginTag}\n {args.message}\n </div>\n <div className={`${prefixCls}-description`}>{args.description}</div>\n {args.btn ? <span className={`${prefixCls}-btn`}>{args.btn}</span> : null}\n </div>),\r\n duration,\r\n closable: true,\r\n onClose: args.onClose,\r\n key: args.key,\r\n style: args.style || {},\r\n className: args.className,\r\n });\r\n });\r\n}\r\nconst api = {\r\n open: notice,\r\n close(key) {\r\n Object.keys(notificationInstance).forEach(cacheKey => notificationInstance[cacheKey].removeNotice(key));\r\n },\r\n config: setNotificationConfig,\r\n destroy() {\r\n Object.keys(notificationInstance).forEach(cacheKey => {\r\n notificationInstance[cacheKey].destroy();\r\n delete notificationInstance[cacheKey];\r\n });\r\n },\r\n};\r\n['success', 'info', 'warning', 'error'].forEach(type => {\r\n api[type] = (args) => api.open({\r\n ...args,\r\n type,\r\n });\r\n});\r\napi.warn = api.warning;\r\nexport default api;\r\n","import React, { Component } from 'react';\r\nimport Select from '../select';\r\nimport { Size } from '../_util/enum';\r\nexport default class LargeSelect extends Component {\r\n render() {\r\n return <Select size={Size.large} {...this.props}/>;\r\n }\r\n}\r\nLargeSelect.Option = Select.Option;\r\n","import React, { Component } from 'react';\r\nimport { Size } from '../_util/enum';\r\nimport Select from '../select';\r\nexport default class MiniSelect extends Component {\r\n render() {\r\n return <Select size={Size.small} {...this.props}/>;\r\n }\r\n}\r\nMiniSelect.Option = Select.Option;\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport { Size } from '../_util/enum';\r\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\r\nimport Select from '../select';\r\nimport MiniSelect from './MiniSelect';\r\nimport LargeSelect from './LargeSelect';\r\nimport RcPagination from '../rc-components/pagination';\r\nimport enUS from '../rc-components/pagination/locale/en_US';\r\nimport Button from '../button/Button';\r\nimport { getPrefixCls } from '../configure';\r\nfunction getSelect(size) {\r\n switch (size) {\r\n case Size.small:\r\n return MiniSelect;\r\n case Size.large:\r\n return LargeSelect;\r\n default:\r\n return Select;\r\n }\r\n}\r\nfunction getIcon(type) {\r\n switch (type) {\r\n case 'first':\r\n return 'first_page';\r\n case 'last':\r\n return 'last_page';\r\n case 'prev':\r\n return 'navigate_before';\r\n case 'next':\r\n return 'navigate_next';\r\n default:\r\n }\r\n}\r\nfunction itemRender(page, type, item, disabled, size) {\r\n if (page !== undefined) {\r\n if (type === 'page' || type === 'jump-prev' || type === 'jump-next') {\r\n return (<Button size={size} shape=\"circle\">\n {item}\n </Button>);\r\n }\r\n return <Button size={size} shape=\"circle\" icon={getIcon(type)} disabled={disabled}/>;\r\n }\r\n}\r\nexport default class Pagination extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.renderPagination = (locale) => {\r\n const { className, size, prefixCls: customizePrefixCls, selectPrefixCls: customizeSelectPrefixCls, ...restProps } = this.props;\r\n const prefixCls = getPrefixCls('pagination', customizePrefixCls);\r\n const selectPrefixCls = getPrefixCls('select', customizeSelectPrefixCls);\r\n return (<RcPagination {...restProps} selectPrefixCls={selectPrefixCls} prefixCls={prefixCls} size={size} className={classNames(className, { [`${prefixCls}-${size}`]: size })} selectComponentClass={getSelect(size)} locale={locale}/>);\r\n };\r\n }\r\n render() {\r\n return (<LocaleReceiver componentName=\"Pagination\" defaultLocale={enUS}>\n {this.renderPagination}\n </LocaleReceiver>);\r\n }\r\n}\r\nPagination.displayName = 'Pagination';\r\nPagination.defaultProps = {\r\n showSizeChanger: true,\r\n showSizeChangerLabel: true,\r\n tiny: true,\r\n pageSizeOptions: ['10', '30', '50', '100', '200'],\r\n showTotal: (total, range) => `${range[0]} - ${range[1]} / ${total}`,\r\n sizeChangerOptionText: (value) => value,\r\n itemRender,\r\n};\r\n","import Pagination from './Pagination';\r\nexport { PaginationProps } from './Pagination';\r\nexport default Pagination;\r\n","import React, { Component } from 'react';\r\nimport Tooltip from '../tooltip';\r\nimport Icon from '../icon';\r\nimport Button from '../button';\r\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\r\nimport defaultLocale from '../locale-provider/default';\r\nimport { Size } from '../_util/enum';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Popconfirm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.onConfirm = e => {\r\n this.setVisible(false);\r\n const { onConfirm } = this.props;\r\n if (onConfirm) {\r\n onConfirm.call(this, e);\r\n }\r\n };\r\n this.onCancel = e => {\r\n this.setVisible(false);\r\n const { onCancel } = this.props;\r\n if (onCancel) {\r\n onCancel.call(this, e);\r\n }\r\n };\r\n this.onVisibleChange = (visible) => {\r\n this.setVisible(visible);\r\n };\r\n this.saveTooltip = (node) => {\r\n this.tooltip = node;\r\n };\r\n this.renderOverlay = (popconfirmLocale) => {\r\n const { title, cancelText, okText, okType } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n return (<div>\n <div className={`${prefixCls}-inner-content`}>\n <div className={`${prefixCls}-message`}>\n <Icon type=\"warning\"/>\n <div className={`${prefixCls}-message-title`}>{title}</div>\n </div>\n <div className={`${prefixCls}-buttons`}>\n <Button onClick={this.onCancel} size={Size.small}>\n {cancelText || popconfirmLocale.cancelText}\n </Button>\n <Button onClick={this.onConfirm} type={okType} size={Size.small}>\n {okText || popconfirmLocale.okText}\n </Button>\n </div>\n </div>\n </div>);\r\n };\r\n this.state = {\r\n visible: props.visible,\r\n };\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if ('visible' in nextProps) {\r\n this.setState({ visible: nextProps.visible });\r\n }\r\n }\r\n getPopupDomNode() {\r\n return this.tooltip.getPopupDomNode();\r\n }\r\n setVisible(visible) {\r\n const props = this.props;\r\n if (!('visible' in props)) {\r\n this.setState({ visible });\r\n }\r\n const { onVisibleChange } = props;\r\n if (onVisibleChange) {\r\n onVisibleChange(visible);\r\n }\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return getPrefixCls('popover', prefixCls);\r\n }\r\n render() {\r\n const { placement, ...restProps } = this.props;\r\n const { visible } = this.state;\r\n const overlay = (<LocaleReceiver componentName=\"Popconfirm\" defaultLocale={defaultLocale.Popconfirm}>\n {this.renderOverlay}\n </LocaleReceiver>);\r\n return (<Tooltip {...restProps} prefixCls={this.getPrefixCls()} placement={placement} onVisibleChange={this.onVisibleChange} visible={visible} overlay={overlay} ref={this.saveTooltip}/>);\r\n }\r\n}\r\nPopconfirm.displayName = 'Popconfirm';\r\nPopconfirm.defaultProps = {\r\n transitionName: 'zoom-big',\r\n placement: 'top',\r\n trigger: 'click',\r\n okType: 'primary',\r\n};\r\n","import React, { Component } from 'react';\r\nimport Tooltip from '../tooltip';\r\nimport warning from '../_util/warning';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Popover extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.saveTooltip = (node) => {\r\n this.tooltip = node;\r\n };\r\n }\r\n getPopupDomNode() {\r\n return this.tooltip.getPopupDomNode();\r\n }\r\n getOverlay() {\r\n const { title, content } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n warning(!('overlay' in this.props), 'Popover[overlay] is removed, please use Popover[content] instead');\r\n return (<div>\n {title && <div className={`${prefixCls}-title`}>{title}</div>}\n <div className={`${prefixCls}-inner-content`}>{content}</div>\n </div>);\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return getPrefixCls('popover', prefixCls);\r\n }\r\n render() {\r\n const props = { ...this.props };\r\n delete props.title;\r\n return (<Tooltip {...props} prefixCls={this.getPrefixCls()} ref={this.saveTooltip} overlay={this.getOverlay()}/>);\r\n }\r\n}\r\nPopover.displayName = 'Popover';\r\nPopover.defaultProps = {\r\n placement: 'top',\r\n transitionName: 'zoom-big',\r\n trigger: 'hover',\r\n mouseEnterDelay: 0.1,\r\n mouseLeaveDelay: 0.1,\r\n overlayStyle: {},\r\n};\r\n","import React from 'react';\r\nconst SIZE = 50;\r\nexport default function Loading() {\r\n return (<svg viewBox={`0 0 ${SIZE} ${SIZE}`}>\n <circle cx={SIZE / 2} cy={SIZE / 2} r={SIZE / 2 - 5}/>\n </svg>);\r\n}\r\nLoading.displayName = 'Loading';\r\n","export var ProgressType;\r\n(function (ProgressType) {\r\n ProgressType[\"line\"] = \"line\";\r\n ProgressType[\"circle\"] = \"circle\";\r\n ProgressType[\"dashboard\"] = \"dashboard\";\r\n ProgressType[\"loading\"] = \"loading\";\r\n})(ProgressType || (ProgressType = {}));\r\nexport var ProgressStatus;\r\n(function (ProgressStatus) {\r\n ProgressStatus[\"normal\"] = \"normal\";\r\n ProgressStatus[\"success\"] = \"success\";\r\n ProgressStatus[\"active\"] = \"active\";\r\n ProgressStatus[\"exception\"] = \"exception\";\r\n})(ProgressStatus || (ProgressStatus = {}));\r\nexport var ProgressPosition;\r\n(function (ProgressPosition) {\r\n ProgressPosition[\"top\"] = \"top\";\r\n ProgressPosition[\"bottom\"] = \"bottom\";\r\n ProgressPosition[\"left\"] = \"left\";\r\n ProgressPosition[\"right\"] = \"right\";\r\n})(ProgressPosition || (ProgressPosition = {}));\r\n","import Progress from './progress';\r\nexport { ProgressProps } from './progress';\r\nexport default Progress;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport Icon from '../icon';\r\nimport { Circle } from '../rc-components/progress';\r\nimport Loading from './Loading';\r\nimport { Size } from '../_util/enum';\r\nimport { ProgressPosition, ProgressStatus, ProgressType } from './enum';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Progress extends Component {\r\n render() {\r\n const props = this.props;\r\n const { prefixCls: customizePrefixCls, className, percent = 0, status, format, trailColor, size, successPercent, type, strokeWidth, width, showInfo, gapDegree = 0, gapPosition, ...restProps } = props;\r\n const prefixCls = getPrefixCls('progress', customizePrefixCls);\r\n const progressStatus = parseInt(successPercent ? successPercent.toString() : percent.toString(), 10) >= 100 &&\r\n !('status' in props)\r\n ? ProgressStatus.success\r\n : status || ProgressStatus.normal;\r\n let progressInfo;\r\n let progress;\r\n const textFormatter = format || (percentNumber => `${percentNumber}%`);\r\n if (showInfo) {\r\n let text;\r\n const circleType = type === ProgressType.circle || type === ProgressType.dashboard;\r\n if (progressStatus === ProgressStatus.exception) {\r\n text = format ? textFormatter(percent) : <Icon type={circleType ? 'close' : 'cancel'}/>;\r\n }\r\n else if (progressStatus === ProgressStatus.success) {\r\n text = format ? (textFormatter(percent)) : (<Icon type={circleType ? 'check' : 'check_circle'}/>);\r\n }\r\n else {\r\n text = textFormatter(percent);\r\n }\r\n progressInfo = <span className={`${prefixCls}-text`}>{text}</span>;\r\n }\r\n if (type === ProgressType.line) {\r\n const percentStyle = {\r\n width: `${percent}%`,\r\n height: strokeWidth || (size === Size.small ? 6 : 8),\r\n };\r\n const successPercentStyle = {\r\n width: `${successPercent}%`,\r\n height: strokeWidth || (size === Size.small ? 6 : 8),\r\n };\r\n const successSegment = successPercent !== undefined ? (<div className={`${prefixCls}-success-bg`} style={successPercentStyle}/>) : null;\r\n progress = (<div>\n <div className={`${prefixCls}-outer`}>\n <div className={`${prefixCls}-inner`}>\n <div className={`${prefixCls}-bg`} style={percentStyle}/>\n {successSegment}\n </div>\n </div>\n {progressInfo}\n </div>);\r\n }\r\n else if (type === ProgressType.circle || type === ProgressType.dashboard) {\r\n const circleSize = width || 120;\r\n const circleStyle = {\r\n width: circleSize,\r\n height: circleSize,\r\n fontSize: circleSize * 0.15 + 6,\r\n };\r\n const circleWidth = strokeWidth || 6;\r\n const gapPos = gapPosition ||\r\n (type === ProgressType.dashboard && ProgressPosition.bottom) ||\r\n ProgressPosition.top;\r\n const gapDeg = gapDegree || (type === ProgressType.dashboard && 75);\r\n progress = (<div className={`${prefixCls}-inner`} style={circleStyle}>\n <Circle percent={percent} strokeWidth={circleWidth} trailWidth={circleWidth} trailColor={trailColor} prefixCls={prefixCls} gapDegree={gapDeg} gapPosition={gapPos}/>\n {progressInfo}\n </div>);\r\n }\r\n else if (type === ProgressType.loading) {\r\n progress = (<div className={`${prefixCls}-inner`}>\n <Loading />\n </div>);\r\n }\r\n const classString = classNames(prefixCls, {\r\n [`${prefixCls}-${(type === ProgressType.dashboard && ProgressType.circle) || type}`]: true,\r\n [`${prefixCls}-status-${progressStatus}`]: true,\r\n [`${prefixCls}-show-info`]: showInfo,\r\n [`${prefixCls}-${size}`]: size,\r\n }, className);\r\n return (<div {...restProps} className={classString}>\n {progress}\n </div>);\r\n }\r\n}\r\nProgress.displayName = 'Progress';\r\nProgress.defaultProps = {\r\n type: ProgressType.line,\r\n percent: 0,\r\n showInfo: true,\r\n trailColor: '#f3f3f3',\r\n size: Size.default,\r\n};\r\nProgress.propTypes = {\r\n status: PropTypes.oneOf([\r\n ProgressStatus.normal,\r\n ProgressStatus.exception,\r\n ProgressStatus.active,\r\n ProgressStatus.success,\r\n ]),\r\n type: PropTypes.oneOf([\r\n ProgressType.line,\r\n ProgressType.circle,\r\n ProgressType.dashboard,\r\n ProgressType.loading,\r\n ]),\r\n showInfo: PropTypes.bool,\r\n percent: PropTypes.number,\r\n width: PropTypes.number,\r\n strokeWidth: PropTypes.number,\r\n trailColor: PropTypes.string,\r\n format: PropTypes.func,\r\n gapDegree: PropTypes.number,\r\n size: PropTypes.oneOf([Size.default, Size.small, Size.large]),\r\n};\r\n","import React, { Children, Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport shallowEqual from 'lodash/isEqual';\r\nimport Radio from './radio';\r\nimport { getPrefixCls } from '../configure';\r\nfunction getCheckedValue(children) {\r\n let value = null;\r\n let matched = false;\r\n Children.forEach(children, (radio) => {\r\n if (radio && radio.props && radio.props.checked) {\r\n value = radio.props.value;\r\n matched = true;\r\n }\r\n });\r\n return matched ? { value } : undefined;\r\n}\r\nexport default class RadioGroup extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.onRadioChange = (ev) => {\r\n const { value: lastValue } = this.state;\r\n const { value } = ev.target;\r\n if (!('value' in this.props)) {\r\n this.setState({\r\n value,\r\n });\r\n }\r\n const { onChange } = this.props;\r\n if (onChange && value !== lastValue) {\r\n onChange(ev);\r\n }\r\n };\r\n let value;\r\n if ('value' in props) {\r\n value = props.value;\r\n }\r\n else if ('defaultValue' in props) {\r\n value = props.defaultValue;\r\n }\r\n else {\r\n const checkedValue = getCheckedValue(props.children);\r\n value = checkedValue && checkedValue.value;\r\n }\r\n this.state = {\r\n value,\r\n };\r\n }\r\n getChildContext() {\r\n const { disabled, name } = this.props;\r\n const { value } = this.state;\r\n return {\r\n radioGroup: {\r\n onChange: this.onRadioChange,\r\n value,\r\n disabled,\r\n name,\r\n },\r\n };\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if ('value' in nextProps) {\r\n this.setState({\r\n value: nextProps.value,\r\n });\r\n }\r\n else {\r\n const checkedValue = getCheckedValue(nextProps.children);\r\n if (checkedValue) {\r\n this.setState({\r\n value: checkedValue.value,\r\n });\r\n }\r\n }\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n return !shallowEqual(this.props, nextProps) || !shallowEqual(this.state, nextState);\r\n }\r\n render() {\r\n const { props } = this;\r\n const { prefixCls: customizePrefixCls, className = '', options, size, label, disabled } = props;\r\n const { value } = this.state;\r\n const prefixCls = getPrefixCls('radio-group', customizePrefixCls);\r\n const classString = classNames(prefixCls, {\r\n [`${prefixCls}-${size}`]: size,\r\n }, className);\r\n const wrapperClassString = classNames({\r\n [`${prefixCls}-wrapper`]: true,\r\n [`${prefixCls}-has-label`]: label,\r\n });\r\n const labelClassString = classNames(`${prefixCls}-label`, {\r\n 'label-disabled': disabled,\r\n });\r\n let { children } = props;\r\n // 如果存在 options, 优先使用\r\n if (options && options.length > 0) {\r\n children = options.map((option, index) => {\r\n if (typeof option === 'string') {\r\n // 此处类型自动推导为 string\r\n return (<Radio key={String(index)} disabled={disabled} value={option} checked={value === option}>\n {option}\n </Radio>);\r\n }\r\n // 此处类型自动推导为 { label: string value: string }\r\n return (<Radio key={String(index)} disabled={option.disabled || disabled} value={option.value} checked={value === option.value}>\n {option.label}\n </Radio>);\r\n });\r\n }\r\n return (<div className={wrapperClassString}>\n {props.label ? <span className={labelClassString}>{props.label}</span> : null}\n <div className={classString} style={props.style} onMouseEnter={props.onMouseEnter} onMouseLeave={props.onMouseLeave} id={props.id}>\n {children}\n </div>\n </div>);\r\n }\r\n}\r\nRadioGroup.displayName = 'RadioGroup';\r\nRadioGroup.defaultProps = {\r\n disabled: false,\r\n};\r\nRadioGroup.childContextTypes = {\r\n radioGroup: PropTypes.any,\r\n};\r\n","import Radio from './radio';\r\nimport Group from './group';\r\nimport Button from './radioButton';\r\nexport * from './interface';\r\nRadio.Button = Button;\r\nRadio.Group = Group;\r\nexport { Button, Group };\r\nexport default Radio;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport shallowEqual from 'lodash/isEqual';\r\nimport RcCheckbox from '../rc-components/checkbox';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Radio extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.saveCheckbox = (node) => {\r\n this.rcCheckbox = node;\r\n };\r\n this.onChange = (e) => {\r\n const { onChange } = this.props;\r\n const { radioGroup } = this.context;\r\n if (onChange) {\r\n onChange(e);\r\n }\r\n if (radioGroup && radioGroup.onChange) {\r\n radioGroup.onChange(e);\r\n }\r\n };\r\n }\r\n shouldComponentUpdate(nextProps, nextState, nextContext) {\r\n const { radioGroup } = this.context;\r\n return (!shallowEqual(this.props, nextProps) ||\r\n !shallowEqual(this.state, nextState) ||\r\n !shallowEqual(radioGroup, nextContext.radioGroup));\r\n }\r\n focus() {\r\n this.rcCheckbox.focus();\r\n }\r\n blur() {\r\n this.rcCheckbox.blur();\r\n }\r\n render() {\r\n const { props, context } = this;\r\n const { prefixCls: customizePrefixCls, className, children, style, ...restProps } = props;\r\n const prefixCls = getPrefixCls('radio', customizePrefixCls);\r\n const { radioGroup } = context;\r\n const radioProps = { ...restProps };\r\n if (radioGroup) {\r\n radioProps.name = radioGroup.name;\r\n radioProps.onChange = this.onChange;\r\n radioProps.checked = props.value === radioGroup.value;\r\n radioProps.disabled = props.disabled || radioGroup.disabled;\r\n }\r\n const wrapperClassString = classNames(className, {\r\n [`${prefixCls}-wrapper`]: true,\r\n [`${prefixCls}-wrapper-checked`]: radioProps.checked,\r\n [`${prefixCls}-wrapper-disabled`]: radioProps.disabled,\r\n });\r\n return (<label className={wrapperClassString} style={style} onMouseEnter={props.onMouseEnter} onMouseLeave={props.onMouseLeave}>\n <RcCheckbox {...radioProps} prefixCls={prefixCls} ref={this.saveCheckbox}/>\n {children !== undefined ? <span>{children}</span> : null}\n </label>);\r\n }\r\n}\r\nRadio.displayName = 'Radio';\r\nRadio.defaultProps = {\r\n type: 'radio',\r\n};\r\nRadio.contextTypes = {\r\n radioGroup: PropTypes.any,\r\n};\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Radio from './radio';\r\nimport { getPrefixCls } from '../configure';\r\nconst RadioButton = function (props, context) {\r\n const { radioGroup } = context;\r\n const radioProps = { ...props };\r\n if (radioGroup) {\r\n radioProps.checked = props.value === radioGroup.value;\r\n radioProps.disabled = props.disabled || radioGroup.disabled;\r\n }\r\n return <Radio prefixCls={getPrefixCls('radio-button')} {...radioProps}/>;\r\n};\r\nRadioButton.displayName = 'RadioButton';\r\nRadioButton.contextTypes = {\r\n radioGroup: PropTypes.any,\r\n};\r\nexport default RadioButton;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from '../icon';\r\nimport RcRate from '../rc-components/rate';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Rate extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.saveRate = (node) => {\r\n this.rcRate = node;\r\n };\r\n }\r\n focus() {\r\n this.rcRate.focus();\r\n }\r\n blur() {\r\n this.rcRate.blur();\r\n }\r\n render() {\r\n return <RcRate ref={this.saveRate} prefixCls={getPrefixCls('rate')} {...this.props}/>;\r\n }\r\n}\r\nRate.displayName = 'Rate';\r\nRate.propTypes = {\r\n prefixCls: PropTypes.string,\r\n character: PropTypes.node,\r\n};\r\nRate.defaultProps = {\r\n character: <Icon type=\"star\"/>,\r\n};\r\n","import React, { cloneElement } from 'react';\nimport ReactDOM from 'react-dom';\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport noop from 'lodash/noop';\nimport KeyCode from '../../_util/KeyCode';\nimport DateTable from './date/DateTable';\nimport CalendarHeader from './calendar/CalendarHeader';\nimport CalendarFooter from './calendar/CalendarFooter';\nimport CalendarMixin from './mixin/CalendarMixin';\nimport CommonMixin from './mixin/CommonMixin';\nimport DateInput from './date/DateInput';\nimport { getTimeConfig, getTodayTime, syncTime } from './util';\n\nfunction goStartMonth() {\n const next = this.state.value.clone();\n next.startOf('month');\n this.setValue(next);\n}\n\nfunction goEndMonth() {\n const next = this.state.value.clone();\n next.endOf('month');\n this.setValue(next);\n}\n\nfunction goTime(direction, unit) {\n const next = this.state.value.clone();\n next.add(direction, unit);\n this.setValue(next);\n}\n\nfunction goMonth(direction) {\n return goTime.call(this, direction, 'months');\n}\n\nfunction goYear(direction) {\n return goTime.call(this, direction, 'years');\n}\n\nfunction goWeek(direction) {\n return goTime.call(this, direction, 'weeks');\n}\n\nfunction goDay(direction) {\n return goTime.call(this, direction, 'days');\n}\n\nconst Calendar = createReactClass({\n propTypes: {\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n style: PropTypes.object,\n defaultValue: PropTypes.object,\n value: PropTypes.object,\n selectedValue: PropTypes.object,\n mode: PropTypes.oneOf(['time', 'date', 'month', 'year', 'decade']),\n locale: PropTypes.object,\n showDateInput: PropTypes.bool,\n showWeekNumber: PropTypes.bool,\n showToday: PropTypes.bool,\n showOk: PropTypes.bool,\n onSelect: PropTypes.func,\n onOk: PropTypes.func,\n onKeyDown: PropTypes.func,\n timePicker: PropTypes.element,\n dateInputPlaceholder: PropTypes.any,\n onClear: PropTypes.func,\n onChange: PropTypes.func,\n onPanelChange: PropTypes.func,\n disabledDate: PropTypes.func,\n disabledTime: PropTypes.any,\n renderFooter: PropTypes.func,\n renderSidebar: PropTypes.func,\n },\n\n mixins: [CommonMixin, CalendarMixin],\n\n getDefaultProps() {\n return {\n showToday: true,\n showDateInput: true,\n timePicker: null,\n onOk: noop,\n onPanelChange: noop,\n };\n },\n getInitialState() {\n return {\n mode: this.props.mode || 'date',\n };\n },\n componentWillReceiveProps(nextProps) {\n if ('mode' in nextProps && this.state.mode !== nextProps.mode) {\n this.setState({ mode: nextProps.mode });\n }\n },\n onKeyDown(event) {\n if (event.target.nodeName.toLowerCase() === 'input') {\n return undefined;\n }\n const keyCode = event.keyCode;\n // mac\n const ctrlKey = event.ctrlKey || event.metaKey;\n const { disabledDate } = this.props;\n const { value } = this.state;\n switch (keyCode) {\n case KeyCode.DOWN:\n goWeek.call(this, 1);\n event.preventDefault();\n return 1;\n case KeyCode.UP:\n goWeek.call(this, -1);\n event.preventDefault();\n return 1;\n case KeyCode.LEFT:\n if (ctrlKey) {\n goYear.call(this, -1);\n } else {\n goDay.call(this, -1);\n }\n event.preventDefault();\n return 1;\n case KeyCode.RIGHT:\n if (ctrlKey) {\n goYear.call(this, 1);\n } else {\n goDay.call(this, 1);\n }\n event.preventDefault();\n return 1;\n case KeyCode.HOME:\n goStartMonth.call(this);\n event.preventDefault();\n return 1;\n case KeyCode.END:\n goEndMonth.call(this);\n event.preventDefault();\n return 1;\n case KeyCode.PAGE_DOWN:\n goMonth.call(this, 1);\n event.preventDefault();\n return 1;\n case KeyCode.PAGE_UP:\n goMonth.call(this, -1);\n event.preventDefault();\n return 1;\n case KeyCode.ENTER:\n if (!disabledDate || !disabledDate(value)) {\n this.onSelect(value, {\n source: 'keyboard',\n });\n }\n event.preventDefault();\n return 1;\n default:\n this.props.onKeyDown(event);\n return 1;\n }\n },\n\n onClear() {\n this.onSelect(null);\n this.props.onClear();\n },\n\n onOk() {\n const { selectedValue } = this.state;\n if (this.isAllowedDate(selectedValue)) {\n this.props.onOk(selectedValue);\n }\n },\n\n onDateInputChange(value) {\n this.onSelect(value, {\n source: 'dateInput',\n });\n },\n onDateTableSelect(value) {\n const { timePicker } = this.props;\n const { selectedValue } = this.state;\n if (!selectedValue && timePicker) {\n const timePickerDefaultValue = timePicker.props.defaultValue;\n if (timePickerDefaultValue) {\n syncTime(timePickerDefaultValue, value);\n }\n }\n this.onSelect(value);\n },\n onToday() {\n const { value } = this.state;\n const now = getTodayTime(value);\n this.onSelect(now, {\n source: 'todayButton',\n });\n },\n onPanelChange(value, mode) {\n const { props, state } = this;\n if (!('mode' in props)) {\n this.setState({ mode });\n }\n props.onPanelChange(value || state.value, mode);\n },\n getRootDOMNode() {\n return ReactDOM.findDOMNode(this);\n },\n openTimePicker() {\n this.onPanelChange(null, 'time');\n },\n closeTimePicker() {\n this.onPanelChange(null, 'date');\n },\n render() {\n const { props, state } = this;\n const {\n locale, prefixCls, disabledDate,\n dateInputPlaceholder, timePicker,\n disabledTime,\n } = props;\n const { value, selectedValue, mode } = state;\n const showTimePicker = mode === 'time';\n const disabledTimeConfig = showTimePicker && disabledTime && timePicker ?\n getTimeConfig(selectedValue, disabledTime) : null;\n\n let timePickerEle = null;\n\n if (timePicker && showTimePicker) {\n const timePickerProps = {\n showHour: true,\n showSecond: true,\n showMinute: true,\n ...timePicker.props,\n ...disabledTimeConfig,\n onChange: this.onDateInputChange,\n value: selectedValue,\n disabledTime,\n };\n\n if (timePicker.props.defaultValue !== undefined) {\n timePickerProps.defaultOpenValue = timePicker.props.defaultValue;\n }\n\n timePickerEle = cloneElement(timePicker, timePickerProps);\n }\n\n const dateInputElement = props.showDateInput ? (\n <DateInput\n format={this.getFormat()}\n key=\"date-input\"\n value={value}\n locale={locale}\n placeholder={dateInputPlaceholder}\n showClear\n disabledTime={disabledTime}\n disabledDate={disabledDate}\n onClear={this.onClear}\n prefixCls={prefixCls}\n selectedValue={selectedValue}\n onChange={this.onDateInputChange}\n />\n ) : null;\n const children = [\n props.renderSidebar(),\n (<div className={`${prefixCls}-panel`} key=\"panel\">\n {dateInputElement}\n <div className={`${prefixCls}-date-panel`}>\n <CalendarHeader\n locale={locale}\n mode={mode}\n value={value}\n onValueChange={this.setValue}\n onPanelChange={this.onPanelChange}\n showTimePicker={showTimePicker}\n prefixCls={prefixCls}\n />\n {timePicker && showTimePicker ?\n (<div className={`${prefixCls}-time-picker`}>\n <div className={`${prefixCls}-time-picker-panel`}>\n {timePickerEle }\n </div>\n </div>)\n : null}\n <div className={`${prefixCls}-body`}>\n <DateTable\n locale={locale}\n value={value}\n selectedValue={selectedValue}\n prefixCls={prefixCls}\n dateRender={props.dateRender}\n onSelect={this.onDateTableSelect}\n disabledDate={disabledDate}\n showWeekNumber={props.showWeekNumber}\n />\n </div>\n\n <CalendarFooter\n showOk={props.showOk}\n renderFooter={props.renderFooter}\n locale={locale}\n prefixCls={prefixCls}\n showToday={props.showToday}\n disabledTime={disabledTime}\n showTimePicker={showTimePicker}\n showDateInput={props.showDateInput}\n timePicker={timePicker}\n selectedValue={selectedValue}\n value={value}\n disabledDate={disabledDate}\n okDisabled={!this.isAllowedDate(selectedValue)}\n onOk={this.onOk}\n onSelect={this.onSelect}\n onToday={this.onToday}\n onOpenTimePicker={this.openTimePicker}\n onCloseTimePicker={this.closeTimePicker}\n />\n </div>\n </div>),\n ];\n\n return this.renderRoot({\n children,\n className: props.showWeekNumber ? `${prefixCls}-week-number` : '',\n });\n },\n});\n\nexport default Calendar;\n","import React from 'react';\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport DateTable from './date/DateTable';\nimport MonthTable from './month/MonthTable';\nimport CalendarMixin from './mixin/CalendarMixin';\nimport CommonMixin from './mixin/CommonMixin';\nimport CalendarHeader from './full-calendar/CalendarHeader';\n\nconst FullCalendar = createReactClass({\n propTypes: {\n defaultType: PropTypes.string,\n type: PropTypes.string,\n prefixCls: PropTypes.string,\n locale: PropTypes.object,\n onTypeChange: PropTypes.func,\n fullscreen: PropTypes.bool,\n monthCellRender: PropTypes.func,\n dateCellRender: PropTypes.func,\n showTypeSwitch: PropTypes.bool,\n Select: PropTypes.func.isRequired,\n headerComponents: PropTypes.array,\n headerComponent: PropTypes.object, // The whole header component\n headerRender: PropTypes.func,\n showHeader: PropTypes.bool,\n disabledDate: PropTypes.func,\n },\n mixins: [CommonMixin, CalendarMixin],\n getDefaultProps() {\n return {\n defaultType: 'date',\n fullscreen: false,\n showTypeSwitch: true,\n showHeader: true,\n onTypeChange() {\n },\n };\n },\n getInitialState() {\n let type;\n if ('type' in this.props) {\n type = this.props.type;\n } else {\n type = this.props.defaultType;\n }\n return {\n type,\n };\n },\n componentWillReceiveProps(nextProps) {\n if ('type' in nextProps) {\n this.setState({\n type: nextProps.type,\n });\n }\n },\n onMonthSelect(value) {\n this.onSelect(value, {\n target: 'month',\n });\n },\n setType(type) {\n if (!('type' in this.props)) {\n this.setState({\n type,\n });\n }\n this.props.onTypeChange(type);\n },\n render() {\n const props = this.props;\n const {\n locale,\n prefixCls,\n fullscreen,\n showHeader,\n headerComponent,\n headerRender,\n disabledDate,\n } = props;\n const { value, type } = this.state;\n\n let header = null;\n if (showHeader) {\n if (headerRender) {\n header = headerRender(value, type, locale);\n } else {\n const TheHeader = headerComponent || CalendarHeader;\n header = (\n <TheHeader\n key=\"calendar-header\"\n {...props}\n prefixCls={`${prefixCls}-full`}\n type={type}\n value={value}\n onTypeChange={this.setType}\n onValueChange={this.setValue}\n />\n );\n }\n }\n\n const table = type === 'date' ? (\n <DateTable\n dateRender={props.dateCellRender}\n contentRender={props.dateCellContentRender}\n locale={locale}\n prefixCls={prefixCls}\n onSelect={this.onSelect}\n value={value}\n disabledDate={disabledDate}\n />\n ) : (\n <MonthTable\n cellRender={props.monthCellRender}\n contentRender={props.monthCellContentRender}\n locale={locale}\n onSelect={this.onMonthSelect}\n prefixCls={`${prefixCls}-month-panel`}\n value={value}\n disabledDate={disabledDate}\n />\n );\n\n const children = [\n header,\n (<div key=\"calendar-body\" className={`${prefixCls}-calendar-body`}>\n { table }\n </div>),\n ];\n\n\n const className = [`${prefixCls}-full`];\n\n if (fullscreen) {\n className.push(`${prefixCls}-fullscreen`);\n }\n\n return this.renderRoot({\n children,\n className: className.join(' '),\n });\n },\n});\n\nexport default FullCalendar;\n","import React from 'react';\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport KeyCode from '../../_util/KeyCode';\nimport CalendarHeader from './calendar/CalendarHeader';\nimport CalendarFooter from './calendar/CalendarFooter';\nimport CalendarMixin from './mixin/CalendarMixin';\nimport CommonMixin from './mixin/CommonMixin';\n\nconst MonthCalendar = createReactClass({\n propTypes: {\n monthCellRender: PropTypes.func,\n dateCellRender: PropTypes.func,\n },\n mixins: [CommonMixin, CalendarMixin],\n\n getInitialState() {\n return { mode: 'month' };\n },\n\n onKeyDown(event) {\n const keyCode = event.keyCode;\n const ctrlKey = event.ctrlKey || event.metaKey;\n const stateValue = this.state.value;\n const { disabledDate } = this.props;\n let value = stateValue;\n switch (keyCode) {\n case KeyCode.DOWN:\n value = stateValue.clone();\n value.add(3, 'months');\n break;\n case KeyCode.UP:\n value = stateValue.clone();\n value.add(-3, 'months');\n break;\n case KeyCode.LEFT:\n value = stateValue.clone();\n if (ctrlKey) {\n value.add(-1, 'years');\n } else {\n value.add(-1, 'months');\n }\n break;\n case KeyCode.RIGHT:\n value = stateValue.clone();\n if (ctrlKey) {\n value.add(1, 'years');\n } else {\n value.add(1, 'months');\n }\n break;\n case KeyCode.ENTER:\n if (!disabledDate || !disabledDate(stateValue)) {\n this.onSelect(stateValue);\n }\n event.preventDefault();\n return 1;\n default:\n return undefined;\n }\n if (value !== stateValue) {\n this.setValue(value);\n event.preventDefault();\n return 1;\n }\n },\n\n handlePanelChange(_, mode) {\n if (mode !== 'date') {\n this.setState({ mode });\n }\n },\n\n render() {\n const { props, state } = this;\n const { mode, value } = state;\n const children = (\n <div className={`${props.prefixCls}-month-calendar-content`}>\n <div className={`${props.prefixCls}-month-header-wrap`}>\n <CalendarHeader\n prefixCls={props.prefixCls}\n mode={mode}\n value={value}\n locale={props.locale}\n disabledMonth={props.disabledDate}\n monthCellRender={props.monthCellRender}\n monthCellContentRender={props.monthCellContentRender}\n onMonthSelect={this.onSelect}\n onValueChange={this.setValue}\n onPanelChange={this.handlePanelChange}\n />\n </div>\n <CalendarFooter\n prefixCls={props.prefixCls}\n renderFooter={props.renderFooter}\n />\n </div>\n );\n return this.renderRoot({\n className: `${props.prefixCls}-month-calendar`,\n children,\n });\n },\n});\n\nexport default MonthCalendar;\n","import React, { cloneElement } from 'react';\nimport ReactDOM from 'react-dom';\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport noop from 'lodash/noop';\nimport createChainedFunction from '../util/createChainedFunction';\nimport KeyCode from '../../_util/KeyCode';\nimport placements, { getPlacements } from './picker/placements';\nimport Trigger from '../trigger';\n\nfunction refFn(field, component) {\n this[field] = component;\n}\n\nconst Picker = createReactClass({\n propTypes: {\n animation: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n disabled: PropTypes.bool,\n transitionName: PropTypes.string,\n onChange: PropTypes.func,\n onOpenChange: PropTypes.func,\n children: PropTypes.func,\n getCalendarContainer: PropTypes.func,\n calendar: PropTypes.element,\n style: PropTypes.object,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n prefixCls: PropTypes.string,\n placement: PropTypes.any,\n value: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.array,\n ]),\n defaultValue: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.array,\n ]),\n align: PropTypes.object,\n },\n\n getDefaultProps() {\n return {\n prefixCls: 'rc-calendar-picker',\n style: {},\n align: {},\n placement: 'bottomLeft',\n defaultOpen: false,\n onChange: noop,\n onOpenChange: noop,\n };\n },\n\n getInitialState() {\n const props = this.props;\n let open;\n if ('open' in props) {\n open = props.open;\n } else {\n open = props.defaultOpen;\n }\n const value = props.value || props.defaultValue;\n this.saveCalendarRef = refFn.bind(this, 'calendarInstance');\n return {\n open,\n value,\n };\n },\n\n componentWillReceiveProps(nextProps) {\n const { value, open } = nextProps;\n if ('value' in nextProps) {\n this.setState({\n value,\n });\n }\n if (open !== undefined) {\n this.setState({\n open,\n });\n }\n },\n\n componentDidUpdate(_, prevState) {\n if (!prevState.open && this.state.open) {\n // setTimeout is for making sure saveCalendarRef happen before focusCalendar\n this.focusTimeout = setTimeout(this.focusCalendar, 0, this);\n }\n },\n\n componentWillUnmount() {\n clearTimeout(this.focusTimeout);\n },\n\n onCalendarKeyDown(event) {\n if (event.keyCode === KeyCode.ESC) {\n event.stopPropagation();\n this.close(this.focus);\n }\n },\n\n onCalendarSelect(value, cause = {}) {\n const props = this.props;\n if (!('value' in props)) {\n this.setState({\n value,\n });\n }\n if (\n cause.source === 'keyboard' ||\n (!props.calendar.props.timePicker && cause.source !== 'dateInput') ||\n cause.source === 'todayButton') {\n this.close(this.focus);\n }\n props.onChange(value);\n },\n\n onKeyDown(event) {\n if (event.keyCode === KeyCode.DOWN && !this.state.open) {\n this.open();\n event.preventDefault();\n }\n },\n\n onCalendarOk() {\n this.close(this.focus);\n },\n\n onCalendarClear() {\n this.close(this.focus);\n },\n\n onVisibleChange(open) {\n this.setOpen(open);\n },\n\n getCalendarElement() {\n const props = this.props;\n const state = this.state;\n const calendarProps = props.calendar.props;\n const { value } = state;\n const defaultValue = value;\n const extraProps = {\n ref: this.saveCalendarRef,\n defaultValue: defaultValue || calendarProps.defaultValue,\n selectedValue: value,\n onKeyDown: this.onCalendarKeyDown,\n onOk: createChainedFunction(calendarProps.onOk, this.onCalendarOk),\n onSelect: createChainedFunction(calendarProps.onSelect, this.onCalendarSelect),\n onClear: createChainedFunction(calendarProps.onClear, this.onCalendarClear),\n };\n\n return cloneElement(props.calendar, extraProps);\n },\n\n setOpen(open, callback) {\n const { onOpenChange } = this.props;\n if (this.state.open !== open) {\n if (!('open' in this.props)) {\n this.setState({\n open,\n }, callback);\n }\n onOpenChange(open);\n }\n },\n\n open(callback) {\n this.setOpen(true, callback);\n },\n\n close(callback) {\n this.setOpen(false, callback);\n },\n\n focus() {\n if (!this.state.open) {\n ReactDOM.findDOMNode(this).focus();\n }\n },\n\n focusCalendar() {\n if (this.state.open && !!this.calendarInstance) {\n this.calendarInstance.focus();\n }\n },\n\n getBuiltInPlacements() {\n const { label } = this.props;\n const placement_haslabel = {\n 'bottomLeft': [0, -19],\n 'bottomRight': [0, -19],\n };\n if (label) {\n return getPlacements(placement_haslabel);\n }\n return placements;\n },\n\n render() {\n const props = this.props;\n const {\n prefixCls, placement,\n style, getCalendarContainer,\n align, animation,\n disabled,\n dropdownClassName,\n transitionName, children,\n } = props;\n const state = this.state;\n const getBuiltInPlacements = this.getBuiltInPlacements();\n return (<Trigger\n popup={this.getCalendarElement()}\n popupAlign={align}\n builtinPlacements={this.getBuiltInPlacements()}\n popupPlacement={placement}\n action={(disabled && !state.open) ? [] : ['click']}\n destroyPopupOnHide\n getPopupContainer={getCalendarContainer}\n popupStyle={style}\n popupAnimation={animation}\n popupTransitionName={transitionName}\n popupVisible={state.open}\n onPopupVisibleChange={this.onVisibleChange}\n prefixCls={prefixCls}\n popupClassName={dropdownClassName}\n >\n {cloneElement(children(state, props), { onKeyDown: this.onKeyDown })}\n </Trigger>);\n },\n});\n\nexport default Picker;\n","import React from 'react';\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport classnames from 'classnames';\nimport noop from 'lodash/noop';\nimport CalendarPart from './range-calendar/CalendarPart';\nimport TodayButton from './calendar/TodayButton';\nimport OkButton from './calendar/OkButton';\nimport TimePickerButton from './calendar/TimePickerButton';\nimport CommonMixin from './mixin/CommonMixin';\nimport { getTodayTime, isAllowedDate, syncTime } from './util';\n\nfunction isEmptyArray(arr) {\n return Array.isArray(arr) && (arr.length === 0 || arr.every(i => !i));\n}\n\nfunction isArraysEqual(a, b) {\n if (a === b) return true;\n if (a === null || typeof a === 'undefined' || b === null || typeof b === 'undefined') {\n return false;\n }\n if (a.length !== b.length) return false;\n\n for (let i = 0; i < a.length; ++i) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n\nfunction getValueFromSelectedValue(selectedValue) {\n const [start, end] = selectedValue;\n const newEnd = end && end.isSame(start, 'month') ? end.clone().add(1, 'month') : end;\n return [start, newEnd];\n}\n\nfunction normalizeAnchor(props, init) {\n const selectedValue = props.selectedValue || init && props.defaultSelectedValue;\n const value = props.value || init && props.defaultValue;\n const normalizedValue = value ?\n getValueFromSelectedValue(value) :\n getValueFromSelectedValue(selectedValue);\n return !isEmptyArray(normalizedValue) ?\n normalizedValue : init && [moment(), moment().add(1, 'months')];\n}\n\nfunction generateOptions(length, extraOptionGen) {\n const arr = extraOptionGen ? extraOptionGen().concat() : [];\n for (let value = 0; value < length; value++) {\n if (arr.indexOf(value) === -1) {\n arr.push(value);\n }\n }\n return arr;\n}\n\nfunction onInputSelect(direction, value) {\n if (!value) {\n return;\n }\n const originalValue = this.state.selectedValue;\n const selectedValue = originalValue.concat();\n const index = direction === 'left' ? 0 : 1;\n selectedValue[index] = value;\n if (selectedValue[0] && this.compare(selectedValue[0], selectedValue[1]) > 0) {\n selectedValue[1 - index] = this.state.showTimePicker ? selectedValue[index] : undefined;\n }\n this.props.onInputSelect(selectedValue);\n this.fireSelectValueChange(selectedValue);\n}\n\nconst RangeCalendar = createReactClass({\n propTypes: {\n prefixCls: PropTypes.string,\n dateInputPlaceholder: PropTypes.any,\n defaultValue: PropTypes.any,\n value: PropTypes.any,\n hoverValue: PropTypes.any,\n mode: PropTypes.arrayOf(PropTypes.oneOf(['date', 'month', 'year', 'decade'])),\n showDateInput: PropTypes.bool,\n timePicker: PropTypes.any,\n showOk: PropTypes.bool,\n showToday: PropTypes.bool,\n defaultSelectedValue: PropTypes.array,\n selectedValue: PropTypes.array,\n onOk: PropTypes.func,\n showClear: PropTypes.bool,\n locale: PropTypes.object,\n onChange: PropTypes.func,\n onSelect: PropTypes.func,\n onValueChange: PropTypes.func,\n onHoverChange: PropTypes.func,\n onPanelChange: PropTypes.func,\n format: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n onClear: PropTypes.func,\n type: PropTypes.any,\n disabledDate: PropTypes.func,\n disabledTime: PropTypes.func,\n },\n\n mixins: [CommonMixin],\n\n getDefaultProps() {\n return {\n type: 'both',\n defaultSelectedValue: [],\n onValueChange: noop,\n onHoverChange: noop,\n onPanelChange: noop,\n disabledTime: noop,\n onInputSelect: noop,\n showToday: true,\n showDateInput: true,\n };\n },\n\n getInitialState() {\n const props = this.props;\n const selectedValue = props.selectedValue || props.defaultSelectedValue;\n const value = normalizeAnchor(props, 1);\n return {\n selectedValue,\n prevSelectedValue: selectedValue,\n firstSelectedValue: null,\n hoverValue: props.hoverValue || [],\n value,\n showTimePicker: false,\n mode: props.mode || ['date', 'date'],\n };\n },\n\n componentWillReceiveProps(nextProps) {\n const { state } = this;\n const newState = {};\n if ('value' in nextProps) {\n newState.value = normalizeAnchor(nextProps, 0);\n this.setState(newState);\n }\n if ('hoverValue' in nextProps && !isArraysEqual(state.hoverValue, nextProps.hoverValue)) {\n this.setState({ hoverValue: nextProps.hoverValue });\n }\n if ('selectedValue' in nextProps) {\n newState.selectedValue = nextProps.selectedValue;\n newState.prevSelectedValue = nextProps.selectedValue;\n this.setState(newState);\n }\n if ('mode' in nextProps && !isArraysEqual(state.mode, nextProps.mode)) {\n this.setState({ mode: nextProps.mode });\n }\n },\n\n onDatePanelEnter() {\n if (this.hasSelectedValue()) {\n this.fireHoverValueChange(this.state.selectedValue.concat());\n }\n },\n\n onDatePanelLeave() {\n if (this.hasSelectedValue()) {\n this.fireHoverValueChange([]);\n }\n },\n\n onSelect(value) {\n const { type } = this.props;\n const { selectedValue, prevSelectedValue, firstSelectedValue } = this.state;\n let nextSelectedValue;\n if (type === 'both') {\n if (!firstSelectedValue) {\n syncTime(prevSelectedValue[0], value);\n nextSelectedValue = [value];\n } else if (this.compare(firstSelectedValue, value) < 0) {\n syncTime(prevSelectedValue[1], value);\n nextSelectedValue = [firstSelectedValue, value];\n } else {\n syncTime(prevSelectedValue[0], value);\n syncTime(prevSelectedValue[1], firstSelectedValue);\n nextSelectedValue = [value, firstSelectedValue];\n }\n } else if (type === 'start') {\n syncTime(prevSelectedValue[0], value);\n const endValue = selectedValue[1];\n nextSelectedValue = endValue && this.compare(endValue, value) > 0 ?\n [value, endValue] : [value];\n } else { // type === 'end'\n const startValue = selectedValue[0];\n if (startValue && this.compare(startValue, value) <= 0) {\n syncTime(prevSelectedValue[1], value);\n nextSelectedValue = [startValue, value];\n } else {\n syncTime(prevSelectedValue[0], value);\n nextSelectedValue = [value];\n }\n }\n\n this.fireSelectValueChange(nextSelectedValue);\n },\n\n onDayHover(value) {\n let hoverValue = [];\n const { selectedValue, firstSelectedValue } = this.state;\n const { type } = this.props;\n if (type === 'start' && selectedValue[1]) {\n hoverValue = this.compare(value, selectedValue[1]) < 0 ?\n [value, selectedValue[1]] : [value];\n } else if (type === 'end' && selectedValue[0]) {\n hoverValue = this.compare(value, selectedValue[0]) > 0 ?\n [selectedValue[0], value] : [];\n } else {\n if (!firstSelectedValue) {\n return;\n }\n hoverValue = this.compare(value, firstSelectedValue) < 0 ?\n [value, firstSelectedValue] : [firstSelectedValue, value];\n }\n this.fireHoverValueChange(hoverValue);\n },\n\n onToday() {\n const startValue = getTodayTime(this.state.value[0]);\n const endValue = startValue.clone().add(1, 'months');\n this.setState({ value: [startValue, endValue] });\n },\n\n onOpenTimePicker() {\n this.setState({\n showTimePicker: true,\n });\n },\n onCloseTimePicker() {\n this.setState({\n showTimePicker: false,\n });\n },\n\n onOk() {\n const { selectedValue } = this.state;\n if (this.isAllowedDateAndTime(selectedValue)) {\n this.props.onOk(this.state.selectedValue);\n }\n },\n\n onStartInputSelect(...oargs) {\n const args = ['left'].concat(oargs);\n return onInputSelect.apply(this, args);\n },\n\n onEndInputSelect(...oargs) {\n const args = ['right'].concat(oargs);\n return onInputSelect.apply(this, args);\n },\n\n onStartValueChange(leftValue) {\n const value = [...this.state.value];\n value[0] = leftValue;\n return this.fireValueChange(value);\n },\n\n onEndValueChange(rightValue) {\n const value = [...this.state.value];\n value[1] = rightValue;\n return this.fireValueChange(value);\n },\n\n onStartPanelChange(value, mode) {\n const { props, state } = this;\n const newMode = [mode, state.mode[1]];\n if (!('mode' in props)) {\n this.setState({\n mode: newMode,\n });\n }\n const newValue = [value || state.value[0], state.value[1]];\n props.onPanelChange(newValue, newMode);\n },\n\n onEndPanelChange(value, mode) {\n const { props, state } = this;\n const newMode = [state.mode[0], mode];\n if (!('mode' in props)) {\n this.setState({\n mode: newMode,\n });\n }\n const newValue = [state.value[0], value || state.value[1]];\n props.onPanelChange(newValue, newMode);\n },\n\n getStartValue() {\n let value = this.state.value[0];\n const selectedValue = this.state.selectedValue;\n // keep selectedTime when select date\n if (selectedValue[0] && this.props.timePicker) {\n value = value.clone();\n syncTime(selectedValue[0], value);\n }\n if (this.state.showTimePicker && selectedValue[0]) {\n return selectedValue[0];\n }\n return value;\n },\n\n getEndValue() {\n const { value, selectedValue, showTimePicker } = this.state;\n const endValue = value[1] ? value[1].clone() : value[0].clone().add(1, 'month');\n // keep selectedTime when select date\n if (selectedValue[1] && this.props.timePicker) {\n syncTime(selectedValue[1], endValue);\n }\n if (showTimePicker) {\n return selectedValue[1] ? selectedValue[1] : this.getStartValue();\n }\n return endValue;\n },\n // get disabled hours for second picker\n getEndDisableTime() {\n const { selectedValue, value } = this.state;\n const { disabledTime } = this.props;\n const userSettingDisabledTime = disabledTime(selectedValue, 'end') || {};\n const startValue = selectedValue && selectedValue[0] || value[0].clone();\n // if startTime and endTime is same day..\n // the second time picker will not able to pick time before first time picker\n if (!selectedValue[1] || startValue.isSame(selectedValue[1], 'day')) {\n const hours = startValue.hour();\n const minutes = startValue.minute();\n const second = startValue.second();\n let { disabledHours, disabledMinutes, disabledSeconds } = userSettingDisabledTime;\n const oldDisabledMinutes = disabledMinutes ? disabledMinutes() : [];\n const olddisabledSeconds = disabledSeconds ? disabledSeconds() : [];\n disabledHours = generateOptions(hours, disabledHours);\n disabledMinutes = generateOptions(minutes, disabledMinutes);\n disabledSeconds = generateOptions(second, disabledSeconds);\n return {\n disabledHours() {\n return disabledHours;\n },\n disabledMinutes(hour) {\n if (hour === hours) {\n return disabledMinutes;\n }\n return oldDisabledMinutes;\n },\n disabledSeconds(hour, minute) {\n if (hour === hours && minute === minutes) {\n return disabledSeconds;\n }\n return olddisabledSeconds;\n },\n };\n }\n return userSettingDisabledTime;\n },\n\n isAllowedDateAndTime(selectedValue) {\n return isAllowedDate(selectedValue[0], this.props.disabledDate, this.disabledStartTime) &&\n isAllowedDate(selectedValue[1], this.props.disabledDate, this.disabledEndTime);\n },\n\n isMonthYearPanelShow(mode) {\n return ['month', 'year', 'decade'].indexOf(mode) > -1;\n },\n\n hasSelectedValue() {\n const { selectedValue } = this.state;\n return !!selectedValue[1] && !!selectedValue[0];\n },\n\n compare(v1, v2) {\n if (this.props.timePicker) {\n return v1.diff(v2);\n }\n return v1.diff(v2, 'days');\n },\n\n fireSelectValueChange(selectedValue, direct) {\n const { timePicker } = this.props;\n const { prevSelectedValue } = this.state;\n if (timePicker && timePicker.props.defaultValue) {\n const timePickerDefaultValue = timePicker.props.defaultValue;\n if (!prevSelectedValue[0] && selectedValue[0]) {\n syncTime(timePickerDefaultValue[0], selectedValue[0]);\n }\n if (!prevSelectedValue[1] && selectedValue[1]) {\n syncTime(timePickerDefaultValue[1], selectedValue[1]);\n }\n }\n\n if (!('selectedValue' in this.props)) {\n this.setState({\n selectedValue,\n });\n }\n\n // 尚未选择过时间,直接输入的话\n if (!this.state.selectedValue[0] || !this.state.selectedValue[1]) {\n const startValue = selectedValue[0] || moment();\n const endValue = selectedValue[1] || startValue.clone().add(1, 'months');\n this.setState({\n selectedValue,\n value: getValueFromSelectedValue([startValue, endValue]),\n });\n }\n\n if (selectedValue[0] && !selectedValue[1]) {\n this.setState({ firstSelectedValue: selectedValue[0] });\n this.fireHoverValueChange(selectedValue.concat());\n }\n this.props.onChange(selectedValue);\n if (direct || selectedValue[0] && selectedValue[1]) {\n this.setState({\n prevSelectedValue: selectedValue,\n firstSelectedValue: null,\n });\n this.fireHoverValueChange([]);\n this.props.onSelect(selectedValue);\n }\n },\n\n fireValueChange(value) {\n const props = this.props;\n if (!('value' in props)) {\n this.setState({\n value,\n });\n }\n props.onValueChange(value);\n },\n\n fireHoverValueChange(hoverValue) {\n const props = this.props;\n if (!('hoverValue' in props)) {\n this.setState({ hoverValue });\n }\n props.onHoverChange(hoverValue);\n },\n\n clear() {\n this.fireSelectValueChange([], true);\n this.props.onClear();\n },\n\n disabledStartTime(time) {\n return this.props.disabledTime(time, 'start');\n },\n\n disabledEndTime(time) {\n return this.props.disabledTime(time, 'end');\n },\n\n disabledStartMonth(month) {\n const { value } = this.state;\n return month.isSameOrAfter(value[1], 'month');\n },\n\n disabledEndMonth(month) {\n const { value } = this.state;\n return month.isSameOrBefore(value[0], 'month');\n },\n\n render() {\n const { props, state } = this;\n const {\n prefixCls, dateInputPlaceholder,\n timePicker, showOk, locale, showClear,\n showToday, type,\n } = props;\n const {\n hoverValue,\n selectedValue,\n mode,\n showTimePicker,\n } = state;\n const className = {\n [props.className]: !!props.className,\n [prefixCls]: 1,\n [`${prefixCls}-hidden`]: !props.visible,\n [`${prefixCls}-range`]: 1,\n [`${prefixCls}-show-time-picker`]: showTimePicker,\n [`${prefixCls}-week-number`]: props.showWeekNumber,\n };\n const classes = classnames(className);\n const newProps = {\n selectedValue: state.selectedValue,\n onSelect: this.onSelect,\n onDayHover: type === 'start' && selectedValue[1] ||\n type === 'end' && selectedValue[0] || !!hoverValue.length ?\n this.onDayHover : undefined,\n };\n\n let placeholder1;\n let placeholder2;\n\n if (dateInputPlaceholder) {\n if (Array.isArray(dateInputPlaceholder)) {\n [placeholder1, placeholder2] = dateInputPlaceholder;\n } else {\n placeholder1 = placeholder2 = dateInputPlaceholder;\n }\n }\n const showOkButton = showOk === true || showOk !== false && !!timePicker;\n const cls = classnames({\n [`${prefixCls}-footer`]: true,\n [`${prefixCls}-range-bottom`]: true,\n [`${prefixCls}-footer-show-ok`]: showOkButton,\n });\n\n const startValue = this.getStartValue();\n const endValue = this.getEndValue();\n const todayTime = getTodayTime(startValue);\n const thisMonth = todayTime.month();\n const thisYear = todayTime.year();\n const isTodayInView =\n startValue.year() === thisYear && startValue.month() === thisMonth ||\n endValue.year() === thisYear && endValue.month() === thisMonth;\n const nextMonthOfStart = startValue.clone().add(1, 'months');\n const isClosestMonths = nextMonthOfStart.year() === endValue.year() &&\n nextMonthOfStart.month() === endValue.month();\n return (\n <div\n ref={this.saveRoot}\n className={classes}\n style={props.style}\n tabIndex=\"0\"\n >\n {props.renderSidebar()}\n <div className={`${prefixCls}-panel`}>\n {showClear && selectedValue[0] && selectedValue[1] ?\n <a\n className={`${prefixCls}-clear-btn`}\n role=\"button\"\n title={locale.clear}\n onClick={this.clear}\n /> : null}\n <div\n className={`${prefixCls}-date-panel`}\n onMouseLeave={type !== 'both' ? this.onDatePanelLeave : undefined}\n onMouseEnter={type !== 'both' ? this.onDatePanelEnter : undefined}\n >\n <CalendarPart\n {...props}\n {...newProps}\n hoverValue={hoverValue}\n direction=\"left\"\n disabledTime={this.disabledStartTime}\n disabledMonth={this.disabledStartMonth}\n format={this.getFormat()}\n value={startValue}\n mode={mode[0]}\n placeholder={placeholder1}\n onInputSelect={this.onStartInputSelect}\n onValueChange={this.onStartValueChange}\n onPanelChange={this.onStartPanelChange}\n showDateInput={this.props.showDateInput}\n timePicker={timePicker}\n showTimePicker={showTimePicker}\n enablePrev\n enableNext={!isClosestMonths || this.isMonthYearPanelShow(mode[1])}\n />\n <span className={`${prefixCls}-range-middle`}>~</span>\n <CalendarPart\n {...props}\n {...newProps}\n hoverValue={hoverValue}\n direction=\"right\"\n format={this.getFormat()}\n timePickerDisabledTime={this.getEndDisableTime()}\n placeholder={placeholder2}\n value={endValue}\n mode={mode[1]}\n onInputSelect={this.onEndInputSelect}\n onValueChange={this.onEndValueChange}\n onPanelChange={this.onEndPanelChange}\n showDateInput={this.props.showDateInput}\n timePicker={timePicker}\n showTimePicker={showTimePicker}\n disabledTime={this.disabledEndTime}\n disabledMonth={this.disabledEndMonth}\n enablePrev={!isClosestMonths || this.isMonthYearPanelShow(mode[0])}\n enableNext\n />\n </div>\n <div className={cls}>\n {props.renderFooter()}\n {showToday || props.timePicker || showOkButton ? (\n <div className={`${prefixCls}-footer-btn`}>\n {showToday ? (\n <TodayButton\n {...props}\n disabled={isTodayInView}\n value={state.value[0]}\n onToday={this.onToday}\n text={locale.backToToday}\n />\n ) : null}\n {props.timePicker ?\n <TimePickerButton\n {...props}\n showTimePicker={showTimePicker}\n onOpenTimePicker={this.onOpenTimePicker}\n onCloseTimePicker={this.onCloseTimePicker}\n timePickerDisabled={!this.hasSelectedValue() || hoverValue.length}\n /> : null}\n {showOkButton ?\n <OkButton\n {...props}\n onOk={this.onOk}\n okDisabled={!this.isAllowedDateAndTime(selectedValue) ||\n !this.hasSelectedValue() || hoverValue.length\n }\n /> : null}\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n },\n});\n\nexport default RangeCalendar;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport toFragment from '../../util/Children/mapSelf';\nimport cx from 'classnames';\nimport TodayButton from '../calendar/TodayButton';\nimport OkButton from '../calendar/OkButton';\nimport TimePickerButton from '../calendar/TimePickerButton';\n\nconst CalendarFooter = createReactClass({\n propTypes: {\n prefixCls: PropTypes.string,\n showDateInput: PropTypes.bool,\n disabledTime: PropTypes.any,\n timePicker: PropTypes.element,\n selectedValue: PropTypes.any,\n showOk: PropTypes.bool,\n onSelect: PropTypes.func,\n value: PropTypes.object,\n renderFooter: PropTypes.func,\n defaultValue: PropTypes.object,\n },\n\n onSelect(value) {\n this.props.onSelect(value);\n },\n\n getRootDOMNode() {\n return ReactDOM.findDOMNode(this);\n },\n\n render() {\n const props = this.props;\n const { value, prefixCls, showOk, timePicker, renderFooter } = props;\n let footerEl = null;\n const extraFooter = renderFooter();\n if (props.showToday || timePicker || extraFooter) {\n let nowEl;\n if (props.showToday) {\n nowEl = <TodayButton {...props} value={value} />;\n }\n let okBtn;\n if (showOk === true || showOk !== false && !!props.timePicker) {\n okBtn = <OkButton {...props} />;\n }\n let timePickerBtn;\n if (!!props.timePicker) {\n timePickerBtn = <TimePickerButton {...props} />;\n }\n\n let footerBtn;\n if (nowEl || timePickerBtn || okBtn) {\n footerBtn = (<span className={`${prefixCls}-footer-btn`}>\n {toFragment([nowEl, timePickerBtn, okBtn])}\n </span>);\n }\n const cls = cx({\n [`${prefixCls}-footer`]: true,\n [`${prefixCls}-footer-show-ok`]: okBtn,\n });\n footerEl = (\n <div className={cls}>\n {extraFooter}\n {footerBtn}\n </div>);\n }\n return footerEl;\n },\n});\n\nexport default CalendarFooter;\n","import React from 'react';\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport toFragment from '../../util/Children/mapSelf';\nimport MonthPanel from '../month/MonthPanel';\nimport YearPanel from '../year/YearPanel';\nimport DecadePanel from '../decade/DecadePanel';\n\nfunction goMonth(direction) {\n const next = this.props.value.clone();\n next.add(direction, 'months');\n this.props.onValueChange(next);\n}\n\nfunction goYear(direction) {\n const next = this.props.value.clone();\n next.add(direction, 'years');\n this.props.onValueChange(next);\n}\n\nfunction showIf(condition, el) {\n return condition ? el : null;\n}\n\nconst CalendarHeader = createReactClass({\n propTypes: {\n prefixCls: PropTypes.string,\n value: PropTypes.object,\n onValueChange: PropTypes.func,\n showTimePicker: PropTypes.bool,\n onPanelChange: PropTypes.func,\n locale: PropTypes.object,\n enablePrev: PropTypes.any,\n enableNext: PropTypes.any,\n disabledMonth: PropTypes.func,\n },\n\n getDefaultProps() {\n return {\n enableNext: 1,\n enablePrev: 1,\n onPanelChange() {},\n onValueChange() {},\n };\n },\n\n getInitialState() {\n this.nextMonth = goMonth.bind(this, 1);\n this.previousMonth = goMonth.bind(this, -1);\n this.nextYear = goYear.bind(this, 1);\n this.previousYear = goYear.bind(this, -1);\n return { yearPanelReferer: null };\n },\n\n onMonthSelect(value) {\n this.props.onPanelChange(value, 'date');\n if (this.props.onMonthSelect) {\n this.props.onMonthSelect(value);\n } else {\n this.props.onValueChange(value);\n }\n },\n\n onYearSelect(value) {\n const referer = this.state.yearPanelReferer;\n this.setState({ yearPanelReferer: null });\n this.props.onPanelChange(value, referer);\n this.props.onValueChange(value);\n },\n\n onDecadeSelect(value) {\n this.props.onPanelChange(value, 'year');\n this.props.onValueChange(value);\n },\n\n monthYearElement(showTimePicker) {\n const props = this.props;\n const prefixCls = props.prefixCls;\n const locale = props.locale;\n const value = props.value;\n const localeData = value.localeData();\n const monthBeforeYear = locale.monthBeforeYear;\n const selectClassName = `${prefixCls}-${monthBeforeYear ? 'my-select' : 'ym-select'}`;\n const year = (<a\n className={`${prefixCls}-year-select`}\n role=\"button\"\n onClick={showTimePicker ? null : () => this.showYearPanel('date')}\n title={locale.yearSelect}\n >\n {value.format(locale.yearFormat)}\n </a>);\n const month = (<a\n className={`${prefixCls}-month-select`}\n role=\"button\"\n onClick={showTimePicker ? null : this.showMonthPanel}\n title={locale.monthSelect}\n >\n {locale.monthFormat ? value.format(locale.monthFormat) : localeData.monthsShort(value)}\n </a>);\n let day;\n if (showTimePicker) {\n day = (<a\n className={`${prefixCls}-day-select`}\n role=\"button\"\n >\n {value.format(locale.dayFormat)}\n </a>);\n }\n let my = [];\n if (monthBeforeYear) {\n my = [month, day, year];\n } else {\n my = [year, month, day];\n }\n return (<span className={selectClassName}>\n {toFragment(my)}\n </span>);\n },\n\n showMonthPanel() {\n // null means that users' interaction doesn't change value\n this.props.onPanelChange(null, 'month');\n },\n\n showYearPanel(referer) {\n this.setState({ yearPanelReferer: referer });\n this.props.onPanelChange(null, 'year');\n },\n\n showDecadePanel() {\n this.props.onPanelChange(null, 'decade');\n },\n\n render() {\n const { props } = this;\n const {\n prefixCls,\n locale,\n mode,\n value,\n showTimePicker,\n enableNext,\n enablePrev,\n disabledMonth,\n } = props;\n\n let panel = null;\n if (mode === 'month') {\n panel = (\n <MonthPanel\n locale={locale}\n defaultValue={value}\n rootPrefixCls={prefixCls}\n onSelect={this.onMonthSelect}\n onYearPanelShow={() => this.showYearPanel('month')}\n disabledDate={disabledMonth}\n cellRender={props.monthCellRender}\n contentRender={props.monthCellContentRender}\n />\n );\n }\n if (mode === 'year') {\n panel = (\n <YearPanel\n locale={locale}\n defaultValue={value}\n rootPrefixCls={prefixCls}\n onSelect={this.onYearSelect}\n onDecadePanelShow={this.showDecadePanel}\n />\n );\n }\n if (mode === 'decade') {\n panel = (\n <DecadePanel\n locale={locale}\n defaultValue={value}\n rootPrefixCls={prefixCls}\n onSelect={this.onDecadeSelect}\n />\n );\n }\n\n return (<div className={`${prefixCls}-header`}>\n <div style={{ position: 'relative' }}>\n {showIf(enablePrev && !showTimePicker,\n <a\n className={`${prefixCls}-prev-year-btn`}\n role=\"button\"\n onClick={this.previousYear}\n title={locale.previousYear}\n />)}\n {showIf(enablePrev && !showTimePicker,\n <a\n className={`${prefixCls}-prev-month-btn`}\n role=\"button\"\n onClick={this.previousMonth}\n title={locale.previousMonth}\n />)}\n {this.monthYearElement(showTimePicker)}\n {showIf(enableNext && !showTimePicker,\n <a\n className={`${prefixCls}-next-month-btn`}\n onClick={this.nextMonth}\n title={locale.nextMonth}\n />)}\n {showIf(enableNext && !showTimePicker,\n <a\n className={`${prefixCls}-next-year-btn`}\n onClick={this.nextYear}\n title={locale.nextYear}\n />)}\n </div>\n {panel}\n </div>);\n },\n});\n\nexport default CalendarHeader;\n","import React from 'react';\n\nexport default function OkButton({ prefixCls, locale, okDisabled, onOk }) {\n let className = `${prefixCls}-ok-btn`;\n if (okDisabled) {\n className += ` ${prefixCls}-ok-btn-disabled`;\n }\n return (<a\n className={className}\n role=\"button\"\n onClick={okDisabled ? null : onOk}\n >\n {locale.ok}\n </a>);\n}\n","import React from 'react';\nimport classnames from 'classnames';\n\nexport default function TimePickerButton({\n prefixCls, locale, showTimePicker,\n onOpenTimePicker, onCloseTimePicker, timePickerDisabled }) {\n const className = classnames({\n [`${prefixCls}-time-picker-btn`]: true,\n [`${prefixCls}-time-picker-btn-disabled`]: timePickerDisabled,\n });\n let onClick = null;\n if (!timePickerDisabled) {\n onClick = showTimePicker ? onCloseTimePicker : onOpenTimePicker;\n }\n return (<a\n className={className}\n role=\"button\"\n onClick={onClick}\n >\n {showTimePicker ? locale.dateSelect : locale.timeSelect}\n </a>);\n}\n","import React from 'react';\nimport { getTodayTime, getTodayTimeStr, isAllowedDate } from '../util/';\n\nexport default function TodayButton({\n prefixCls,\n locale,\n value,\n timePicker,\n disabled,\n disabledDate,\n onToday,\n text,\n}) {\n const localeNow = (!text && timePicker ? locale.now : text) || locale.today;\n const disabledToday =\n disabledDate && !isAllowedDate(getTodayTime(value), disabledDate);\n const isDisabled = disabledToday || disabled;\n const disabledTodayClass = isDisabled ?\n `${prefixCls}-today-btn-disabled` : '';\n return (\n <a\n className={`${prefixCls}-today-btn ${disabledTodayClass}`}\n role=\"button\"\n onClick={isDisabled ? null : onToday}\n title={getTodayTimeStr(value)}\n >\n {localeNow}\n </a>\n );\n}\n","export default {\n DATE_ROW_COUNT: 6,\n DATE_COL_COUNT: 7,\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\n\nconst DateInput = createReactClass({\n propTypes: {\n prefixCls: PropTypes.string,\n timePicker: PropTypes.object,\n value: PropTypes.object,\n disabledTime: PropTypes.any,\n format: PropTypes.string,\n locale: PropTypes.object,\n disabledDate: PropTypes.func,\n onChange: PropTypes.func,\n onClear: PropTypes.func,\n placeholder: PropTypes.string,\n onSelect: PropTypes.func,\n selectedValue: PropTypes.object,\n },\n\n getInitialState() {\n const selectedValue = this.props.selectedValue;\n return {\n str: selectedValue && selectedValue.format(this.props.format) || '',\n invalid: false,\n };\n },\n\n componentWillReceiveProps(nextProps) {\n this.cachedSelectionStart = this.dateInputInstance.selectionStart;\n this.cachedSelectionEnd = this.dateInputInstance.selectionEnd;\n // when popup show, click body will call this, bug!\n const selectedValue = nextProps.selectedValue;\n this.setState({\n str: selectedValue && selectedValue.format(nextProps.format) || '',\n invalid: false,\n });\n },\n\n componentDidUpdate() {\n if (!this.state.invalid) {\n this.dateInputInstance.setSelectionRange(this.cachedSelectionStart, this.cachedSelectionEnd);\n }\n },\n\n onInputChange(event) {\n const str = event.target.value;\n this.setState({\n str,\n });\n let value;\n const { disabledDate, format, onChange } = this.props;\n if (str) {\n const parsed = moment(str, format, true);\n if (!parsed.isValid()) {\n this.setState({\n invalid: true,\n });\n return;\n }\n value = this.props.value.clone();\n value\n .year(parsed.year())\n .month(parsed.month())\n .date(parsed.date())\n .hour(parsed.hour())\n .minute(parsed.minute())\n .second(parsed.second());\n\n if (value && (!disabledDate || !disabledDate(value))) {\n const originalValue = this.props.selectedValue;\n if (originalValue && value) {\n if (!originalValue.isSame(value)) {\n onChange(value);\n }\n } else if (originalValue !== value) {\n onChange(value);\n }\n } else {\n this.setState({\n invalid: true,\n });\n return;\n }\n } else {\n onChange(null);\n }\n this.setState({\n invalid: false,\n });\n },\n\n onClear() {\n this.setState({\n str: '',\n });\n this.props.onClear(null);\n },\n\n getRootDOMNode() {\n return ReactDOM.findDOMNode(this);\n },\n\n focus() {\n if (this.dateInputInstance) {\n this.dateInputInstance.focus();\n }\n },\n\n saveDateInput(dateInput) {\n this.dateInputInstance = dateInput;\n },\n\n render() {\n const props = this.props;\n const { invalid, str } = this.state;\n const { locale, prefixCls, placeholder } = props;\n const invalidClass = invalid ? `${prefixCls}-input-invalid` : '';\n return (<div className={`${prefixCls}-input-wrap`}>\n <div className={`${prefixCls}-date-input-wrap`}>\n <input\n ref={this.saveDateInput}\n className={`${prefixCls}-input ${invalidClass}`}\n value={str}\n disabled={props.disabled}\n placeholder={placeholder}\n onChange={this.onInputChange}\n />\n </div>\n {props.showClear ? <a\n className={`${prefixCls}-clear-btn`}\n role=\"button\"\n title={locale.clear}\n onClick={this.onClear}\n /> : null}\n </div>);\n },\n});\n\nexport default DateInput;\n","import React from 'react';\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport DateConstants from './DateConstants';\nimport { getTitleString, getTodayTime } from '../util/';\n\nfunction isSameDay(one, two) {\n return one && two && one.isSame(two, 'day');\n}\n\nfunction beforeCurrentMonthYear(current, today) {\n if (current.year() < today.year()) {\n return 1;\n }\n return current.year() === today.year() &&\n current.month() < today.month();\n}\n\nfunction afterCurrentMonthYear(current, today) {\n if (current.year() > today.year()) {\n return 1;\n }\n return current.year() === today.year() &&\n current.month() > today.month();\n}\n\nfunction getIdFromDate(date) {\n return `rc-calendar-${date.year()}-${date.month()}-${date.date()}`;\n}\n\nconst DateTBody = createReactClass({\n propTypes: {\n contentRender: PropTypes.func,\n dateRender: PropTypes.func,\n disabledDate: PropTypes.func,\n prefixCls: PropTypes.string,\n selectedValue: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n value: PropTypes.object,\n hoverValue: PropTypes.any,\n showWeekNumber: PropTypes.bool,\n },\n\n getDefaultProps() {\n return {\n hoverValue: [],\n };\n },\n\n render() {\n const props = this.props;\n const {\n contentRender, prefixCls, selectedValue, value,\n showWeekNumber, dateRender, disabledDate,\n hoverValue,\n } = props;\n let iIndex;\n let jIndex;\n let current;\n const dateTable = [];\n const today = getTodayTime(value);\n const cellClass = `${prefixCls}-cell`;\n const weekNumberCellClass = `${prefixCls}-week-number-cell`;\n const dateClass = `${prefixCls}-date`;\n const todayClass = `${prefixCls}-today`;\n const selectedClass = `${prefixCls}-selected-day`;\n const selectedDateClass = `${prefixCls}-selected-date`; // do not move with mouse operation\n const selectedStartDateClass = `${prefixCls}-selected-start-date`;\n const selectedEndDateClass = `${prefixCls}-selected-end-date`;\n const inRangeClass = `${prefixCls}-in-range-cell`;\n const lastMonthDayClass = `${prefixCls}-last-month-cell`;\n const nextMonthDayClass = `${prefixCls}-next-month-btn-day`;\n const disabledClass = `${prefixCls}-disabled-cell`;\n const firstDisableClass = `${prefixCls}-disabled-cell-first-of-row`;\n const lastDisableClass = `${prefixCls}-disabled-cell-last-of-row`;\n const lastDayOfMonthClass = `${prefixCls}-last-day-of-month`;\n const month1 = value.clone();\n month1.date(1);\n const day = month1.day();\n const lastMonthDiffDay = (day + 7 - value.localeData().firstDayOfWeek()) % 7;\n // calculate last month\n const lastMonth1 = month1.clone();\n lastMonth1.add(0 - lastMonthDiffDay, 'days');\n let passed = 0;\n for (iIndex = 0; iIndex < DateConstants.DATE_ROW_COUNT; iIndex++) {\n for (jIndex = 0; jIndex < DateConstants.DATE_COL_COUNT; jIndex++) {\n current = lastMonth1;\n if (passed) {\n current = current.clone();\n current.add(passed, 'days');\n }\n dateTable.push(current);\n passed++;\n }\n }\n const tableHtml = [];\n passed = 0;\n\n for (iIndex = 0; iIndex < DateConstants.DATE_ROW_COUNT; iIndex++) {\n let isCurrentWeek;\n let weekNumberCell;\n let isActiveWeek = false;\n const dateCells = [];\n if (showWeekNumber) {\n weekNumberCell = (\n <td\n key={dateTable[passed].week()}\n role=\"gridcell\"\n className={weekNumberCellClass}\n >\n {dateTable[passed].week()}\n </td>\n );\n }\n for (jIndex = 0; jIndex < DateConstants.DATE_COL_COUNT; jIndex++) {\n let next = null;\n let last = null;\n current = dateTable[passed];\n if (jIndex < DateConstants.DATE_COL_COUNT - 1) {\n next = dateTable[passed + 1];\n }\n if (jIndex > 0) {\n last = dateTable[passed - 1];\n }\n let cls = cellClass;\n let disabled = false;\n let selected = false;\n\n if (isSameDay(current, today)) {\n cls += ` ${todayClass}`;\n isCurrentWeek = true;\n }\n\n const isBeforeCurrentMonthYear = beforeCurrentMonthYear(current, value);\n const isAfterCurrentMonthYear = afterCurrentMonthYear(current, value);\n\n if (selectedValue && Array.isArray(selectedValue)) {\n const rangeValue = hoverValue.length ? hoverValue : selectedValue;\n if (!isBeforeCurrentMonthYear && !isAfterCurrentMonthYear) {\n const startValue = rangeValue[0];\n const endValue = rangeValue[1];\n if (startValue) {\n if (isSameDay(current, startValue)) {\n selected = true;\n isActiveWeek = true;\n cls += ` ${selectedStartDateClass}`;\n }\n }\n if (startValue && endValue) {\n if (isSameDay(current, endValue)) {\n selected = true;\n isActiveWeek = true;\n cls += ` ${selectedEndDateClass}`;\n } else if (current.isAfter(startValue, 'day') &&\n current.isBefore(endValue, 'day')) {\n cls += ` ${inRangeClass}`;\n }\n }\n }\n } else if (isSameDay(current, value)) {\n // keyboard change value, highlight works\n selected = true;\n isActiveWeek = true;\n }\n\n if (isSameDay(current, selectedValue)) {\n cls += ` ${selectedDateClass}`;\n }\n\n if (isBeforeCurrentMonthYear) {\n cls += ` ${lastMonthDayClass}`;\n }\n\n if (isAfterCurrentMonthYear) {\n cls += ` ${nextMonthDayClass}`;\n }\n\n if (current.clone().endOf('month').date() === current.date()) {\n cls += ` ${lastDayOfMonthClass}`;\n }\n\n if (disabledDate) {\n if (disabledDate(current, value)) {\n disabled = true;\n\n if (!last || !disabledDate(last, value)) {\n cls += ` ${firstDisableClass}`;\n }\n\n if (!next || !disabledDate(next, value)) {\n cls += ` ${lastDisableClass}`;\n }\n }\n }\n\n if (selected) {\n cls += ` ${selectedClass}`;\n }\n\n if (disabled) {\n cls += ` ${disabledClass}`;\n }\n\n let dateHtml;\n if (dateRender) {\n dateHtml = dateRender(current, value);\n } else {\n const content = contentRender ? contentRender(current, value) : current.date();\n dateHtml = (\n <div\n key={getIdFromDate(current)}\n className={dateClass}\n aria-selected={selected}\n aria-disabled={disabled}\n >\n {content}\n </div>);\n }\n\n dateCells.push(\n <td\n key={passed}\n onClick={disabled ? undefined : props.onSelect.bind(null, current)}\n onMouseEnter={disabled ?\n undefined : props.onDayHover && props.onDayHover.bind(null, current) || undefined}\n role=\"gridcell\"\n title={getTitleString(current)} className={cls}\n >\n {dateHtml}\n </td>);\n\n passed++;\n }\n\n\n tableHtml.push(\n <tr\n key={iIndex}\n role=\"row\"\n className={cx({\n [`${prefixCls}-current-week`]: isCurrentWeek,\n [`${prefixCls}-active-week`]: isActiveWeek,\n })}\n >\n {weekNumberCell}\n {dateCells}\n </tr>);\n }\n return (<tbody className={`${prefixCls}-tbody`}>\n {tableHtml}\n </tbody>);\n },\n});\n\nexport default DateTBody;\n","import React, { Component } from 'react';\nimport DateConstants from './DateConstants';\nimport moment from 'moment';\n\nexport default\nclass DateTHead extends Component {\n render() {\n const props = this.props;\n const value = props.value;\n const localeData = value.localeData();\n const prefixCls = props.prefixCls;\n const veryShortWeekdays = [];\n const weekDays = [];\n const firstDayOfWeek = localeData.firstDayOfWeek();\n let showWeekNumberEl;\n const now = moment();\n for (let dateColIndex = 0; dateColIndex < DateConstants.DATE_COL_COUNT; dateColIndex++) {\n const index = (firstDayOfWeek + dateColIndex) % DateConstants.DATE_COL_COUNT;\n now.day(index);\n veryShortWeekdays[dateColIndex] = localeData.weekdaysMin(now);\n weekDays[dateColIndex] = localeData.weekdaysShort(now);\n }\n\n if (props.showWeekNumber) {\n showWeekNumberEl = (\n <th\n role=\"columnheader\"\n className={`${prefixCls}-column-header ${prefixCls}-week-number-header`}\n >\n <span className={`${prefixCls}-column-header-inner`}>x</span>\n </th>);\n }\n const weekDaysEls = weekDays.map((day, xindex) => {\n return (\n <th\n key={xindex}\n role=\"columnheader\"\n title={day}\n className={`${prefixCls}-column-header`}\n >\n <span className={`${prefixCls}-column-header-inner`}>\n {veryShortWeekdays[xindex]}\n </span>\n </th>);\n });\n return (<thead>\n <tr role=\"row\">\n {showWeekNumberEl}\n {weekDaysEls}\n </tr>\n </thead>);\n }\n}\n","import React, { Component } from 'react';\nimport DateTHead from './DateTHead';\nimport DateTBody from './DateTBody';\n\nexport default\nclass DateTable extends Component {\n render() {\n const props = this.props;\n const prefixCls = props.prefixCls;\n return (<table className = {`${prefixCls}-table`} cellSpacing=\"0\" role=\"grid\">\n <DateTHead {...props}/>\n <DateTBody {...props}/>\n </table>);\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nconst ROW = 4;\nconst COL = 3;\n\nfunction goYear(direction) {\n const next = this.state.value.clone();\n next.add(direction, 'years');\n this.setState({\n value: next,\n });\n}\n\nfunction chooseDecade(year, event) {\n const next = this.state.value.clone();\n next.year(year);\n next.month(this.state.value.month());\n this.props.onSelect(next);\n event.preventDefault();\n}\n\nexport default class DecadePanel extends Component {\n static propTypes = {\n locale: PropTypes.object,\n value: PropTypes.object,\n defaultValue: PropTypes.object,\n rootPrefixCls: PropTypes.string,\n };\n\n static defaultProps = {\n onSelect() {\n },\n };\n\n constructor(props) {\n super(props);\n this.state = {\n value: props.value || props.defaultValue,\n };\n\n // bind methods\n this.prefixCls = `${props.rootPrefixCls}-decade-panel`;\n this.nextCentury = goYear.bind(this, 100);\n this.previousCentury = goYear.bind(this, -100);\n }\n\n render() {\n const value = this.state.value;\n const locale = this.props.locale;\n const currentYear = value.year();\n const startYear = parseInt(currentYear / 100, 10) * 100;\n const preYear = startYear - 10;\n const endYear = startYear + 99;\n const decades = [];\n let index = 0;\n const prefixCls = this.prefixCls;\n\n for (let rowIndex = 0; rowIndex < ROW; rowIndex++) {\n decades[rowIndex] = [];\n for (let colIndex = 0; colIndex < COL; colIndex++) {\n const startDecade = preYear + index * 10;\n const endDecade = preYear + index * 10 + 9;\n decades[rowIndex][colIndex] = {\n startDecade,\n endDecade,\n };\n index++;\n }\n }\n\n const decadesEls = decades.map((row, decadeIndex) => {\n const tds = row.map(decadeData => {\n const dStartDecade = decadeData.startDecade;\n const dEndDecade = decadeData.endDecade;\n const isLast = dStartDecade < startYear;\n const isNext = dEndDecade > endYear;\n const classNameMap = {\n [`${prefixCls}-cell`]: 1,\n [`${prefixCls}-selected-cell`]: dStartDecade <= currentYear && currentYear <= dEndDecade,\n [`${prefixCls}-last-century-cell`]: isLast,\n [`${prefixCls}-next-century-cell`]: isNext,\n };\n const content = `${dStartDecade}-${dEndDecade}`;\n let clickHandler;\n if (isLast) {\n clickHandler = this.previousCentury;\n } else if (isNext) {\n clickHandler = this.nextCentury;\n } else {\n clickHandler = chooseDecade.bind(this, dStartDecade);\n }\n return (<td\n key={dStartDecade}\n onClick={clickHandler}\n role=\"gridcell\"\n className={classnames(classNameMap)}\n >\n <a\n className={`${prefixCls}-decade`}\n >\n {content}\n </a>\n </td>);\n });\n return (<tr key={decadeIndex} role=\"row\">{tds}</tr>);\n });\n\n return (\n <div className={this.prefixCls}>\n <div className={`${prefixCls}-header`}>\n <a\n className={`${prefixCls}-prev-century-btn`}\n role=\"button\"\n onClick={this.previousCentury}\n title={locale.previousCentury}\n />\n\n <div className={`${prefixCls}-century`}>\n {startYear}-{endYear}\n </div>\n <a\n className={`${prefixCls}-next-century-btn`}\n role=\"button\"\n onClick={this.nextCentury}\n title={locale.nextCentury}\n />\n </div>\n <div className={`${prefixCls}-body`}>\n <table className={`${prefixCls}-table`} cellSpacing=\"0\" role=\"grid\">\n <tbody className={`${prefixCls}-tbody`}>\n {decadesEls}\n </tbody>\n </table>\n </div>\n </div>);\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport noop from 'lodash/noop';\nimport { getMonthName } from '../util';\n\nexport default class CalendarHeader extends Component {\n static propTypes = {\n value: PropTypes.object,\n locale: PropTypes.object,\n yearSelectOffset: PropTypes.number,\n yearSelectTotal: PropTypes.number,\n onValueChange: PropTypes.func,\n onTypeChange: PropTypes.func,\n Select: PropTypes.func,\n prefixCls: PropTypes.string,\n type: PropTypes.string,\n showTypeSwitch: PropTypes.bool,\n headerComponents: PropTypes.array,\n };\n static defaultProps = {\n yearSelectOffset: 10,\n yearSelectTotal: 20,\n onValueChange: noop,\n onTypeChange: noop,\n };\n\n onYearChange(year) {\n const newValue = this.props.value.clone();\n newValue.year(parseInt(year, 10));\n this.props.onValueChange(newValue);\n }\n\n onMonthChange(month) {\n const newValue = this.props.value.clone();\n newValue.month(parseInt(month, 10));\n this.props.onValueChange(newValue);\n }\n\n yearSelectElement(year) {\n const { yearSelectOffset, yearSelectTotal, prefixCls, Select } = this.props;\n const start = year - yearSelectOffset;\n const end = start + yearSelectTotal;\n\n const options = [];\n for (let index = start; index < end; index++) {\n options.push(<Select.Option key={`${index}`}>{index}</Select.Option>);\n }\n return (\n <Select\n className={`${prefixCls}-header-year-select`}\n onChange={this.onYearChange.bind(this)}\n dropdownStyle={{ zIndex: 2000 }}\n dropdownMenuStyle={{ maxHeight: 250, overflow: 'auto', fontSize: 12 }}\n optionLabelProp=\"children\"\n value={String(year)}\n showSearch={false}\n >\n {options}\n </Select>\n );\n }\n\n monthSelectElement(month) {\n const props = this.props;\n const t = props.value.clone();\n const { prefixCls } = props;\n const options = [];\n const Select = props.Select;\n\n for (let index = 0; index < 12; index++) {\n t.month(index);\n options.push(\n <Select.Option key={`${index}`}>\n {getMonthName(t)}\n </Select.Option>,\n );\n }\n\n return (\n <Select\n className={`${prefixCls}-header-month-select`}\n dropdownStyle={{ zIndex: 2000 }}\n dropdownMenuStyle={{ maxHeight: 250, overflow: 'auto', overflowX: 'hidden', fontSize: 12 }}\n optionLabelProp=\"children\"\n value={String(month)}\n showSearch={false}\n onChange={this.onMonthChange.bind(this)}\n >\n {options}\n </Select>\n );\n }\n\n changeTypeToDate() {\n this.props.onTypeChange('date');\n }\n\n changeTypeToMonth() {\n this.props.onTypeChange('month');\n }\n\n render() {\n const { value, locale, prefixCls, type, showTypeSwitch, headerComponents } = this.props;\n const year = value.year();\n const month = value.month();\n const yearSelect = this.yearSelectElement(year);\n const monthSelect = type === 'month' ? null : this.monthSelectElement(month);\n const switchCls = `${prefixCls}-header-switcher`;\n const typeSwitcher = showTypeSwitch ? (\n <span className={switchCls}>\n {type === 'date' ? <span className={`${switchCls}-focus`}>{locale.month}</span> : <span\n onClick={this.changeTypeToDate.bind(this)}\n className={`${switchCls}-normal`}\n >\n {locale.month}\n </span>\n }\n {type === 'month' ? <span className={`${switchCls}-focus`}>{locale.year}</span> : <span\n onClick={this.changeTypeToMonth.bind(this)}\n className={`${switchCls}-normal`}\n >\n {locale.year}\n </span>\n }\n </span>\n ) : null;\n\n return (\n <div className={`${prefixCls}-header`}>\n {typeSwitcher}\n {monthSelect}\n {yearSelect}\n {headerComponents}\n </div>\n );\n }\n}\n","import Calendar from './Calendar';\n\nexport default Calendar;\n","export default {\n today: 'اليوم',\n now: 'الأن',\n backToToday: 'العودة إلى اليوم',\n ok: 'تأكيد',\n clear: 'مسح',\n month: 'الشهر',\n year: 'السنة',\n timeSelect: 'اختيار الوقت',\n dateSelect: 'اختيار التاريخ',\n monthSelect: 'اختيار الشهر',\n yearSelect: 'اختيار السنة',\n decadeSelect: 'اختيار العقد',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'الشهر السابق (PageUp)',\n nextMonth: 'الشهر التالى(PageDown)',\n previousYear: 'العام السابق (Control + left)',\n nextYear: 'العام التالى (Control + right)',\n previousDecade: 'العقد السابق',\n nextDecade: 'العقد التالى',\n previousCentury: 'القرن السابق',\n nextCentury: 'القرن التالى',\n};\n","export default {\n today: 'Днес',\n now: 'Сега',\n backToToday: 'Към днес',\n ok: 'Добре',\n clear: 'Изчистване',\n month: 'Месец',\n year: 'Година',\n timeSelect: 'Избор на час',\n dateSelect: 'Избор на дата',\n monthSelect: 'Избор на месец',\n yearSelect: 'Избор на година',\n decadeSelect: 'Десетилетие',\n yearFormat: 'YYYY',\n dateFormat: 'D M YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D M YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Предишен месец (PageUp)',\n nextMonth: 'Следващ месец (PageDown)',\n previousYear: 'Последна година (Control + left)',\n nextYear: 'Следваща година (Control + right)',\n previousDecade: 'Предишно десетилетие',\n nextDecade: 'Следващо десетилетие',\n previousCentury: 'Последен век',\n nextCentury: 'Следващ век',\n};\n","export default {\n today: 'Avui',\n now: 'Ara',\n backToToday: 'Tornar a avui',\n ok: 'Acceptar',\n clear: 'Netejar',\n month: 'Mes',\n year: 'Any',\n timeSelect: 'Seleccionar hora',\n dateSelect: 'Seleccionar data',\n monthSelect: 'Escollir un mes',\n yearSelect: 'Escollir un any',\n decadeSelect: 'Escollir una dècada',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mes anterior (PageUp)',\n nextMonth: 'Mes següent (PageDown)',\n previousYear: 'Any anterior (Control + left)',\n nextYear: 'Mes següent (Control + right)',\n previousDecade: 'Dècada anterior',\n nextDecade: 'Dècada següent',\n previousCentury: 'Segle anterior',\n nextCentury: 'Segle següent',\n};\n","export default {\n today: 'Dnes',\n now: 'Nyní',\n backToToday: 'Zpět na dnešek',\n ok: 'Ok',\n clear: 'Vymazat',\n month: 'Měsíc',\n year: 'Rok',\n timeSelect: 'Vybrat čas',\n dateSelect: 'Vybrat datum',\n monthSelect: 'Vyberte měsíc',\n yearSelect: 'Vyberte rok',\n decadeSelect: 'Vyberte dekádu',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Předchozí měsíc (PageUp)',\n nextMonth: 'Následující (PageDown)',\n previousYear: 'Předchozí rok (Control + left)',\n nextYear: 'Následující rok (Control + right)',\n previousDecade: 'Předchozí dekáda',\n nextDecade: 'Následující dekáda',\n previousCentury: 'Předchozí století',\n nextCentury: 'Následující století',\n};\n","export default {\n today: 'Heute',\n now: 'Jetzt',\n backToToday: 'Zurück zu Heute',\n ok: 'OK',\n clear: 'Zurücksetzen',\n month: 'Monat',\n year: 'Jahr',\n timeSelect: 'Zeit wählen',\n dateSelect: 'Datum wählen',\n monthSelect: 'Wähle einen Monat',\n yearSelect: 'Wähle ein Jahr',\n decadeSelect: 'Wähle ein Jahrzehnt',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Vorheriger Monat (PageUp)',\n nextMonth: 'Nächster Monat (PageDown)',\n previousYear: 'Vorheriges Jahr (Ctrl + left)',\n nextYear: 'Nächstes Jahr (Ctrl + right)',\n previousDecade: 'Vorheriges Jahrzehnt',\n nextDecade: 'Nächstes Jahrzehnt',\n previousCentury: 'Vorheriges Jahrhundert',\n nextCentury: 'Nächstes Jahrhundert',\n};\n","export default {\n today: 'Σήμερα',\n now: 'Τώρα',\n backToToday: 'Πίσω στη σημερινή μέρα',\n ok: 'Ok',\n clear: 'Καθαρισμός',\n month: 'Μήνας',\n year: 'Έτος',\n timeSelect: 'Επιλογή ώρας',\n dateSelect: 'Επιλογή ημερομηνίας',\n monthSelect: 'Επιλογή μήνα',\n yearSelect: 'Επιλογή έτους',\n decadeSelect: 'Επιλογή δεκαετίας',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Προηγούμενος μήνας (PageUp)',\n nextMonth: 'Επόμενος μήνας (PageDown)',\n previousYear: 'Προηγούμενο έτος (Control + αριστερά)',\n nextYear: 'Επόμενο έτος (Control + δεξιά)',\n previousDecade: 'Προηγούμενη δεκαετία',\n nextDecade: 'Επόμενη δεκαετία',\n previousCentury: 'Προηγούμενος αιώνας',\n nextCentury: 'Επόμενος αιώνας',\n};\n","export default {\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'Ok',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'Select time',\n dateSelect: 'Select date',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century',\n};\n","export default {\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'Ok',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'Select time',\n dateSelect: 'Select date',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century',\n};\n","export default {\n today: 'Hoy',\n now: 'Ahora',\n backToToday: 'Volver a hoy',\n ok: 'Aceptar',\n clear: 'Limpiar',\n month: 'Mes',\n year: 'Año',\n timeSelect: 'Seleccionar hora',\n dateSelect: 'Seleccionar fecha',\n monthSelect: 'Elegir un mes',\n yearSelect: 'Elegir un año',\n decadeSelect: 'Elegir una década',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mes anterior (PageUp)',\n nextMonth: 'Mes siguiente (PageDown)',\n previousYear: 'Año anterior (Control + left)',\n nextYear: 'Año siguiente (Control + right)',\n previousDecade: 'Década anterior',\n nextDecade: 'Década siguiente',\n previousCentury: 'Siglo anterior',\n nextCentury: 'Siglo siguiente',\n};\n","export default {\n today: 'Täna',\n now: 'Praegu',\n backToToday: 'Tagasi tänase juurde',\n ok: 'Ok',\n clear: 'Tühista',\n month: 'Kuu',\n year: 'Aasta',\n timeSelect: 'Vali aeg',\n dateSelect: 'Vali kuupäev',\n monthSelect: 'Vali kuu',\n yearSelect: 'Vali aasta',\n decadeSelect: 'Vali dekaad',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Eelmine kuu (PageUp)',\n nextMonth: 'Järgmine kuu (PageDown)',\n previousYear: 'Eelmine aasta (Control + left)',\n nextYear: 'Järgmine aasta (Control + right)',\n previousDecade: 'Eelmine dekaad',\n nextDecade: 'Järgmine dekaad',\n previousCentury: 'Eelmine sajand',\n nextCentury: 'Järgmine sajand',\n};\n","export default {\n today: 'امروز',\n now: 'اکنون',\n backToToday: 'بازگشت به روز',\n ok: 'باشه',\n clear: 'پاک کردن',\n month: 'ماه',\n year: 'سال',\n timeSelect: 'انتخاب زمان',\n dateSelect: 'انتخاب تاریخ',\n monthSelect: 'یک ماه را انتخاب کنید',\n yearSelect: 'یک سال را انتخاب کنید',\n decadeSelect: 'یک دهه را انتخاب کنید',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'ماه قبل (PageUp)',\n nextMonth: 'ماه بعد (PageDown)',\n previousYear: 'سال قبل (Control + left)',\n nextYear: 'سال بعد (Control + right)',\n previousDecade: 'دهه قبل',\n nextDecade: 'دهه بعد',\n previousCentury: 'قرن قبل',\n nextCentury: 'قرن بعد',\n};\n","export default {\n today: 'Tänään',\n now: 'Nyt',\n backToToday: 'Tämä päivä',\n ok: 'Ok',\n clear: 'Tyhjennä',\n month: 'Kuukausi',\n year: 'Vuosi',\n timeSelect: 'Valise aika',\n dateSelect: 'Valitse päivä',\n monthSelect: 'Valitse kuukausi',\n yearSelect: 'Valitse vuosi',\n decadeSelect: 'Valitse vuosikymmen',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Edellinen kuukausi (PageUp)',\n nextMonth: 'Seuraava kuukausi (PageDown)',\n previousYear: 'Edellinen vuosi (Control + left)',\n nextYear: 'Seuraava vuosi (Control + right)',\n previousDecade: 'Edellinen vuosikymmen',\n nextDecade: 'Seuraava vuosikymmen',\n previousCentury: 'Edellinen vuosisata',\n nextCentury: 'Seuraava vuosisata',\n};\n","export default {\n today: 'Aujourd\\'hui',\n now: 'Maintenant',\n backToToday: 'Aujourd\\'hui',\n ok: 'Ok',\n clear: 'Rétablir',\n month: 'Mois',\n year: 'Année',\n timeSelect: 'Sélectionner l\\'heure',\n dateSelect: 'Sélectionner l\\'heure',\n monthSelect: 'Choisissez un mois',\n yearSelect: 'Choisissez une année',\n decadeSelect: 'Choisissez une décennie',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mois précédent (PageUp)',\n nextMonth: 'Mois suivant (PageDown)',\n previousYear: 'Année précédente (Ctrl + gauche)',\n nextYear: 'Année prochaine (Ctrl + droite)',\n previousDecade: 'Décennie précédente',\n nextDecade: 'Décennie suivante',\n previousCentury: 'Siècle précédent',\n nextCentury: 'Siècle suivant',\n};\n","export default {\n today: 'Aujourd\\'hui',\n now: 'Maintenant',\n backToToday: 'Aujourd\\'hui',\n ok: 'Ok',\n clear: 'Rétablir',\n month: 'Mois',\n year: 'Année',\n timeSelect: 'Sélectionner l\\'heure',\n dateSelect: 'Sélectionner l\\'heure',\n monthSelect: 'Choisissez un mois',\n yearSelect: 'Choisissez une année',\n decadeSelect: 'Choisissez une décennie',\n yearFormat: 'YYYY',\n dateFormat: 'DD/MM/YYYY',\n dayFormat: 'DD',\n dateTimeFormat: 'DD/MM/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mois précédent (PageUp)',\n nextMonth: 'Mois suivant (PageDown)',\n previousYear: 'Année précédente (Ctrl + gauche)',\n nextYear: 'Année prochaine (Ctrl + droite)',\n previousDecade: 'Décennie précédente',\n nextDecade: 'Décennie suivante',\n previousCentury: 'Siècle précédent',\n nextCentury: 'Siècle suivant',\n};\n","export default {\n today: 'Í dag',\n now: 'Núna',\n backToToday: 'Til baka til dagsins í dag',\n ok: 'Í lagi',\n clear: 'Hreinsa',\n month: 'Mánuður',\n year: 'Ár',\n timeSelect: 'Velja tíma',\n dateSelect: 'Velja dag',\n monthSelect: 'Velja mánuð',\n yearSelect: 'Velja ár',\n decadeSelect: 'Velja áratug',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Fyrri mánuður (PageUp)',\n nextMonth: 'Næsti mánuður (PageDown)',\n previousYear: 'Fyrra ár (Control + left)',\n nextYear: 'Næsta ár (Control + right)',\n previousDecade: 'Fyrri áratugur',\n nextDecade: 'Næsti áratugur',\n previousCentury: 'Fyrri öld',\n nextCentury: 'Næsta öld',\n};\n","export default {\n today: 'Oggi',\n now: 'adesso',\n backToToday: 'Torna ad oggi',\n ok: 'Ok',\n clear: 'Chiaro',\n month: 'Mese',\n year: 'Anno',\n timeSelect: 'Seleziona il tempo',\n dateSelect: 'Select date',\n monthSelect: 'Seleziona la data',\n yearSelect: 'Scegli un anno',\n decadeSelect: 'Scegli un decennio',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Il mese scorso (PageUp)',\n nextMonth: 'Il prossimo mese (PageDown)',\n previousYear: 'L\\'anno scorso (Control + sinistra)',\n nextYear: 'L\\'anno prossimo (Control + destra)',\n previousDecade: 'Ultimo decennio',\n nextDecade: 'Prossimo decennio',\n previousCentury: 'Secolo precedente',\n nextCentury: 'Prossimo secolo',\n};\n","export default {\n today: '今日',\n now: '現在時刻',\n backToToday: '今日に戻る',\n ok: '決定',\n timeSelect: '時間を選択',\n dateSelect: '日時を選択',\n clear: 'クリア',\n month: '月',\n year: '年',\n previousMonth: '前月 (ページアップキー)',\n nextMonth: '翌月 (ページダウンキー)',\n monthSelect: '月を選択',\n yearSelect: '年を選択',\n decadeSelect: '年代を選択',\n yearFormat: 'YYYY年',\n dayFormat: 'D日',\n dateFormat: 'YYYY年M月D日',\n dateTimeFormat: 'YYYY年M月D日 HH時mm分ss秒',\n previousYear: '前年 (Controlを押しながら左キー)',\n nextYear: '翌年 (Controlを押しながら右キー)',\n previousDecade: '前の年代',\n nextDecade: '次の年代',\n previousCentury: '前の世紀',\n nextCentury: '次の世紀',\n};\n","export default {\n today: '오늘',\n now: '현재 시각',\n backToToday: '오늘로 돌아가기',\n ok: '확인',\n clear: '지우기',\n month: '월',\n year: '년',\n timeSelect: '시간 선택',\n dateSelect: '날짜 선택',\n monthSelect: '달 선택',\n yearSelect: '연 선택',\n decadeSelect: '연대 선택',\n yearFormat: 'YYYY년',\n dateFormat: 'YYYY-MM-DD',\n dayFormat: 'Do',\n dateTimeFormat: 'YYYY-MM-DD HH:mm:ss',\n monthBeforeYear: false,\n previousMonth: '이전 달 (PageUp)',\n nextMonth: '다음 달 (PageDown)',\n previousYear: '이전 해 (Control + left)',\n nextYear: '다음 해 (Control + right)',\n previousDecade: '이전 연대',\n nextDecade: '다음 연대',\n previousCentury: '이전 세기',\n nextCentury: '다음 세기',\n};\n","export default {\n today: 'Îro',\n now: 'Niha',\n backToToday: 'Vegere îro',\n ok: 'Temam',\n clear: 'Paqij bike',\n month: 'Meh',\n year: 'Sal',\n timeSelect: 'Demê hilbijêre',\n dateSelect: 'Dîrok hilbijêre',\n monthSelect: 'Meh hilbijêre',\n yearSelect: 'Sal hilbijêre',\n decadeSelect: 'Dehsal hilbijêre',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Meha peş (PageUp))',\n nextMonth: 'Meha paş (PageDown)',\n previousYear: 'Sala peş (Control + şep)',\n nextYear: 'Sala paş (Control + rast)',\n previousDecade: 'Dehsalen peş',\n nextDecade: 'Dehsalen paş',\n previousCentury: 'Sedsalen peş',\n nextCentury: 'Sedsalen paş',\n};\n","export default {\n today: 'I dag',\n now: 'Nå',\n backToToday: 'Gå til i dag',\n ok: 'Ok',\n clear: 'Annuller',\n month: 'Måned',\n year: 'År',\n timeSelect: 'Velg tidspunkt',\n dateSelect: 'Velg dato',\n monthSelect: 'Velg måned',\n yearSelect: 'Velg år',\n decadeSelect: 'Velg årti',\n yearFormat: 'YYYY',\n dateFormat: 'DD.MM.YYYY',\n dayFormat: 'DD',\n dateTimeFormat: 'DD.MM.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Forrige måned(PageUp)',\n nextMonth: 'Neste måned (PageDown)',\n previousYear: 'Forrige år (Control + left)',\n nextYear: 'Neste år (Control + right)',\n previousDecade: 'Forrige tiår',\n nextDecade: 'Neste tiår',\n previousCentury: 'Forrige århundre',\n nextCentury: 'Neste århundre',\n};\n","export default {\n today: 'Vandaag',\n now: 'Nu',\n backToToday: 'Terug naar vandaag',\n ok: 'Ok',\n clear: 'Reset',\n month: 'Maand',\n year: 'Jaar',\n timeSelect: 'Selecteer tijd',\n dateSelect: 'Selecteer datum',\n monthSelect: 'Kies een maand',\n yearSelect: 'Kies een jaar',\n decadeSelect: 'Kies een decennium',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Vorige maand (PageUp)',\n nextMonth: 'Volgende maand (PageDown)',\n previousYear: 'Vorig jaar (Control + left)',\n nextYear: 'Volgend jaar (Control + right)',\n previousDecade: 'Vorig decennium',\n nextDecade: 'Volgend decennium',\n previousCentury: 'Vorige eeuw',\n nextCentury: 'Volgende eeuw',\n};\n","export default {\n today: 'Vandaag',\n now: 'Nu',\n backToToday: 'Terug naar vandaag',\n ok: 'Ok',\n clear: 'Reset',\n month: 'Maand',\n year: 'Jaar',\n timeSelect: 'Selecteer tijd',\n dateSelect: 'Selecteer datum',\n monthSelect: 'Kies een maand',\n yearSelect: 'Kies een jaar',\n decadeSelect: 'Kies een decennium',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Vorige maand (PageUp)',\n nextMonth: 'Volgende maand (PageDown)',\n previousYear: 'Vorig jaar (Control + left)',\n nextYear: 'Volgend jaar (Control + right)',\n previousDecade: 'Vorig decennium',\n nextDecade: 'Volgend decennium',\n previousCentury: 'Vorige eeuw',\n nextCentury: 'Volgende eeuw',\n};\n","export default {\n today: 'Dzisiaj',\n now: 'Teraz',\n backToToday: 'Ustaw dzisiaj',\n ok: 'Ok',\n clear: 'Wyczyść',\n month: 'Miesiąc',\n year: 'Rok',\n timeSelect: 'Ustaw czas',\n dateSelect: 'Ustaw datę',\n monthSelect: 'Wybierz miesiąc',\n yearSelect: 'Wybierz rok',\n decadeSelect: 'Wybierz dekadę',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Poprzedni miesiąc (PageUp)',\n nextMonth: 'Następny miesiąc (PageDown)',\n previousYear: 'Ostatni rok (Ctrl + left)',\n nextYear: 'Następny rok (Ctrl + right)',\n previousDecade: 'Ostatnia dekada',\n nextDecade: 'Następna dekada',\n previousCentury: 'Ostatni wiek',\n nextCentury: 'Następny wiek',\n};\n","export default {\n today: 'Hoje',\n now: 'Agora',\n backToToday: 'Voltar para hoje',\n ok: 'Ok',\n clear: 'Limpar',\n month: 'Mês',\n year: 'Ano',\n timeSelect: 'Selecionar tempo',\n dateSelect: 'Selecionar data',\n monthSelect: 'Escolher mês',\n yearSelect: 'Escolher ano',\n decadeSelect: 'Escolher década',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: false,\n previousMonth: 'Mês anterior (PageUp)',\n nextMonth: 'Próximo mês (PageDown)',\n previousYear: 'Ano anterior (Control + esquerda)',\n nextYear: 'Próximo ano (Control + direita)',\n previousDecade: 'Década anterior',\n nextDecade: 'Próxima década',\n previousCentury: 'Século anterior',\n nextCentury: 'Próximo século',\n};\n","export default {\n today: 'Hoje',\n now: 'Agora',\n backToToday: 'Hoje',\n ok: 'Ok',\n clear: 'Limpar',\n month: 'Mês',\n year: 'Ano',\n timeSelect: 'Selecionar hora',\n dateSelect: 'Selecionar data',\n monthSelect: 'Selecionar mês',\n yearSelect: 'Selecionar ano',\n decadeSelect: 'Selecionar década',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mês anterior (PageUp)',\n nextMonth: 'Mês seguinte (PageDown)',\n previousYear: 'Ano anterior (Control + left)',\n nextYear: 'Ano seguinte (Control + right)',\n previousDecade: 'Década anterior',\n nextDecade: 'Década seguinte',\n previousCentury: 'Século anterior',\n nextCentury: 'Século seguinte',\n};\n","export default {\n today: 'Сегодня',\n now: 'Сейчас',\n backToToday: 'Текущая дата',\n ok: 'Ok',\n clear: 'Очистить',\n month: 'Месяц',\n year: 'Год',\n timeSelect: 'Выбрать время',\n dateSelect: 'Выбрать дату',\n monthSelect: 'Выбрать месяц',\n yearSelect: 'Выбрать год',\n decadeSelect: 'Выбрать десятилетие',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Предыдущий месяц (PageUp)',\n nextMonth: 'Следующий месяц (PageDown)',\n previousYear: 'Предыдущий год (Control + left)',\n nextYear: 'Следующий год (Control + right)',\n previousDecade: 'Предыдущее десятилетие',\n nextDecade: 'Следущее десятилетие',\n previousCentury: 'Предыдущий век',\n nextCentury: 'Следующий век',\n};\n","export default {\n today: 'Dnes',\n now: 'Teraz',\n backToToday: 'Späť na dnes',\n ok: 'Ok',\n clear: 'Vymazať',\n month: 'Mesiac',\n year: 'Rok',\n timeSelect: 'Vybrať čas',\n dateSelect: 'Vybrať dátum',\n monthSelect: 'Vybrať mesiac',\n yearSelect: 'Vybrať rok',\n decadeSelect: 'Vybrať dekádu',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Predchádzajúci mesiac (PageUp)',\n nextMonth: 'Nasledujúci mesiac (PageDown)',\n previousYear: 'Predchádzajúci rok (Control + left)',\n nextYear: 'Nasledujúci rok (Control + right)',\n previousDecade: 'Predchádzajúca dekáda',\n nextDecade: 'Nasledujúca dekáda',\n previousCentury: 'Predchádzajúce storočie',\n nextCentury: 'Nasledujúce storočie',\n};\n","export default {\n today: 'Danas',\n now: 'Sada',\n backToToday: 'Vrati se na danas',\n ok: 'U redu',\n clear: 'Obriši',\n month: 'Mesec',\n year: 'Godina',\n timeSelect: 'Izaberi vreme',\n dateSelect: 'Izaberi datum',\n monthSelect: 'Izaberi mesec',\n yearSelect: 'Izaberi godinu',\n decadeSelect: 'Izaberi deceniju',\n yearFormat: 'YYYY',\n dateFormat: 'DD.MM.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'DD.MM.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Prethodni mesec (PageUp)',\n nextMonth: 'Sledeći mesec (PageDown)',\n previousYear: 'Prethodna godina (Control + left)',\n nextYear: 'Sledeća godina (Control + right)',\n previousDecade: 'Prethodna decenija',\n nextDecade: 'Sledeća decenija',\n previousCentury: 'Prethodni vek',\n nextCentury: 'Sledeći vek',\n};\n","export default {\n today: 'I dag',\n now: 'Nu',\n backToToday: 'Till idag',\n ok: 'Ok',\n clear: 'Avbryt',\n month: 'Månad',\n year: 'År',\n timeSelect: 'Välj tidpunkt',\n dateSelect: 'Välj datum',\n monthSelect: 'Välj månad',\n yearSelect: 'Välj år',\n decadeSelect: 'Välj årtionde',\n yearFormat: 'YYYY',\n dateFormat: 'YYYY-MM-DD',\n dayFormat: 'D',\n dateTimeFormat: 'YYYY-MM-DD H:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Förra månaden (PageUp)',\n nextMonth: 'Nästa månad (PageDown)',\n previousYear: 'Föreg år (Control + left)',\n nextYear: 'Nästa år (Control + right)',\n previousDecade: 'Föreg årtionde',\n nextDecade: 'Nästa årtionde',\n previousCentury: 'Föreg århundrade',\n nextCentury: 'Nästa århundrade',\n};\n","export default {\n today: 'วันนี้',\n now: 'ตอนนี้',\n backToToday: 'กลับไปยังวันนี้',\n ok: 'ตกลง',\n clear: 'ลบล้าง',\n month: 'เดือน',\n year: 'ปี',\n timeSelect: 'เลือกเวลา',\n dateSelect: 'เลือกวัน',\n monthSelect: 'เลือกเดือน',\n yearSelect: 'เลือกปี',\n decadeSelect: 'เลือกทศวรรษ',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'เดือนก่อนหน้า (PageUp)',\n nextMonth: 'เดือนถัดไป (PageDown)',\n previousYear: 'ปีก่อนหน้า (Control + left)',\n nextYear: 'ปีถัดไป (Control + right)',\n previousDecade: 'ทศวรรษก่อนหน้า',\n nextDecade: 'ทศวรรษถัดไป',\n previousCentury: 'ศตวรรษก่อนหน้า',\n nextCentury: 'ศตวรรษถัดไป',\n};\n","export default {\n today: 'Bugün',\n now: 'Şimdi',\n backToToday: 'Bugüne Geri Dön',\n ok: 'tamam',\n clear: 'Temizle',\n month: 'Ay',\n year: 'Yıl',\n timeSelect: 'Zaman Seç',\n dateSelect: 'Tarih Seç',\n monthSelect: 'Ay Seç',\n yearSelect: 'Yıl Seç',\n decadeSelect: 'On Yıl Seç',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Önceki Ay (PageUp)',\n nextMonth: 'Sonraki Ay (PageDown)',\n previousYear: 'Önceki Yıl (Control + Sol)',\n nextYear: 'Sonraki Yıl (Control + Sağ)',\n previousDecade: 'Önceki On Yıl',\n nextDecade: 'Sonraki On Yıl',\n previousCentury: 'Önceki Yüzyıl',\n nextCentury: 'Sonraki Yüzyıl',\n};\n","export default {\n today: 'Сьогодні',\n now: 'Зараз',\n backToToday: 'Поточна дата',\n ok: 'Ok',\n clear: 'Очистити',\n month: 'Місяць',\n year: 'Рік',\n timeSelect: 'Обрати час',\n dateSelect: 'Обрати дату',\n monthSelect: 'Обрати місяць',\n yearSelect: 'Обрати рік',\n decadeSelect: 'Обрати десятиріччя',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Попередній місяць (PageUp)',\n nextMonth: 'Наступний місяць (PageDown)',\n previousYear: 'Попередній рік (Control + left)',\n nextYear: 'Наступний рік (Control + right)',\n previousDecade: 'Попереднє десятиріччя',\n nextDecade: 'Наступне десятиріччя',\n previousCentury: 'Попереднє століття',\n nextCentury: 'Наступне століття',\n};\n","export default {\n today: '今天',\n now: '此刻',\n backToToday: '返回今天',\n ok: '确定',\n timeSelect: '选择时间',\n dateSelect: '选择日期',\n clear: '清除',\n month: '月',\n year: '年',\n previousMonth: '上个月 (翻页上键)',\n nextMonth: '下个月 (翻页下键)',\n monthSelect: '选择月份',\n yearSelect: '选择年份',\n decadeSelect: '选择年代',\n yearFormat: 'YYYY年',\n dayFormat: 'D日',\n dateFormat: 'YYYY年M月D日',\n dateTimeFormat: 'YYYY年M月D日 HH时mm分ss秒',\n previousYear: '上一年 (Control键加左方向键)',\n nextYear: '下一年 (Control键加右方向键)',\n previousDecade: '上一年代',\n nextDecade: '下一年代',\n previousCentury: '上一世纪',\n nextCentury: '下一世纪',\n};\n","export default {\n today: '今天',\n now: '此刻',\n backToToday: '返回今天',\n ok: '確定',\n timeSelect: '選擇時間',\n dateSelect: '選擇日期',\n clear: '清除',\n month: '月',\n year: '年',\n previousMonth: '上個月 (翻頁上鍵)',\n nextMonth: '下個月 (翻頁下鍵)',\n monthSelect: '選擇月份',\n yearSelect: '選擇年份',\n decadeSelect: '選擇年代',\n yearFormat: 'YYYY年',\n dayFormat: 'D日',\n dateFormat: 'YYYY年M月D日',\n dateTimeFormat: 'YYYY年M月D日 HH時mm分ss秒',\n previousYear: '上一年 (Control鍵加左方向鍵)',\n nextYear: '下一年 (Control鍵加右方向鍵)',\n previousDecade: '上一年代',\n nextDecade: '下一年代',\n previousCentury: '上一世紀',\n nextCentury: '下一世紀',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport moment from 'moment';\nimport noop from 'lodash/noop';\nimport { getTodayTime, isAllowedDate } from '../util';\n\nfunction getNow() {\n return moment();\n}\n\nfunction getNowByCurrentStateValue(value) {\n let ret;\n if (value) {\n ret = getTodayTime(value);\n } else {\n ret = getNow();\n }\n return ret;\n}\n\nconst CalendarMixin = {\n propTypes: {\n value: PropTypes.object,\n defaultValue: PropTypes.object,\n onKeyDown: PropTypes.func,\n },\n\n getDefaultProps() {\n return {\n onKeyDown: noop,\n };\n },\n\n getInitialState() {\n const props = this.props;\n const value = props.value || props.defaultValue || getNow();\n return {\n value,\n selectedValue: props.selectedValue || props.defaultSelectedValue,\n };\n },\n\n componentWillReceiveProps(nextProps) {\n let { value } = nextProps;\n const { selectedValue } = nextProps;\n if ('value' in nextProps) {\n value = value || nextProps.defaultValue || getNowByCurrentStateValue(this.state.value);\n this.setState({\n value,\n });\n }\n if ('selectedValue' in nextProps) {\n this.setState({\n selectedValue,\n });\n }\n },\n\n onSelect(value, cause) {\n if (value) {\n this.setValue(value);\n }\n this.setSelectedValue(value, cause);\n },\n\n renderRoot(newProps) {\n const props = this.props;\n const prefixCls = props.prefixCls;\n\n const className = {\n [prefixCls]: 1,\n [`${prefixCls}-hidden`]: !props.visible,\n [props.className]: !!props.className,\n [newProps.className]: !!newProps.className,\n };\n\n return (\n <div\n ref={this.saveRoot}\n className={`${classnames(className)}`}\n style={this.props.style}\n tabIndex=\"0\"\n onKeyDown={this.onKeyDown}\n >\n {newProps.children}\n </div>\n );\n },\n\n setSelectedValue(selectedValue, cause) {\n // if (this.isAllowedDate(selectedValue)) {\n if (!('selectedValue' in this.props)) {\n this.setState({\n selectedValue,\n });\n }\n this.props.onSelect(selectedValue, cause);\n // }\n },\n\n setValue(value) {\n const originalValue = this.state.value;\n if (!('value' in this.props)) {\n this.setState({\n value,\n });\n }\n if (\n originalValue && value && !originalValue.isSame(value) ||\n (!originalValue && value) ||\n (originalValue && !value)\n ) {\n this.props.onChange(value);\n }\n },\n\n isAllowedDate(value) {\n const disabledDate = this.props.disabledDate;\n const disabledTime = this.props.disabledTime;\n return isAllowedDate(value, disabledDate, disabledTime);\n },\n};\n\nexport default CalendarMixin;\n","import PropTypes from 'prop-types';\nimport noop from 'lodash/noop';\nimport enUs from '../locale/en_US';\n\nexport default {\n propTypes: {\n className: PropTypes.string,\n locale: PropTypes.object,\n style: PropTypes.object,\n visible: PropTypes.bool,\n onSelect: PropTypes.func,\n prefixCls: PropTypes.string,\n onChange: PropTypes.func,\n onOk: PropTypes.func,\n },\n\n getDefaultProps() {\n return {\n locale: enUs,\n style: {},\n visible: true,\n prefixCls: 'rc-calendar',\n className: '',\n onSelect: noop,\n onChange: noop,\n onClear: noop,\n renderFooter() {\n return null;\n },\n renderSidebar() {\n return null;\n },\n };\n },\n\n shouldComponentUpdate(nextProps) {\n return this.props.visible || nextProps.visible;\n },\n\n getFormat() {\n let { format } = this.props;\n const { locale, timePicker } = this.props;\n if (!format) {\n if (timePicker) {\n format = locale.dateTimeFormat;\n } else {\n format = locale.dateFormat;\n }\n }\n return format;\n },\n\n focus() {\n if (this.rootInstance) {\n this.rootInstance.focus();\n }\n },\n\n saveRoot(root) {\n this.rootInstance = root;\n },\n};\n","import React from 'react';\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport noop from 'lodash/noop';\nimport MonthTable from './MonthTable';\n\nfunction goYear(direction) {\n const next = this.state.value.clone();\n next.add(direction, 'year');\n this.setAndChangeValue(next);\n}\n\nconst MonthPanel = createReactClass({\n propTypes: {\n onChange: PropTypes.func,\n disabledDate: PropTypes.func,\n onSelect: PropTypes.func,\n },\n\n getDefaultProps() {\n return {\n onChange: noop,\n onSelect: noop,\n };\n },\n\n getInitialState() {\n const props = this.props;\n // bind methods\n this.nextYear = goYear.bind(this, 1);\n this.previousYear = goYear.bind(this, -1);\n this.prefixCls = `${props.rootPrefixCls}-month-panel`;\n return {\n value: props.value || props.defaultValue,\n };\n },\n\n componentWillReceiveProps(nextProps) {\n if ('value' in nextProps) {\n this.setState({\n value: nextProps.value,\n });\n }\n },\n\n setAndChangeValue(value) {\n this.setValue(value);\n this.props.onChange(value);\n },\n\n setAndSelectValue(value) {\n this.setValue(value);\n this.props.onSelect(value);\n },\n\n setValue(value) {\n if (!('value' in this.props)) {\n this.setState({\n value,\n });\n }\n },\n\n render() {\n const props = this.props;\n const value = this.state.value;\n const cellRender = props.cellRender;\n const contentRender = props.contentRender;\n const locale = props.locale;\n const year = value.year();\n const prefixCls = this.prefixCls;\n return (\n <div className={prefixCls} style={props.style}>\n <div>\n <div className={`${prefixCls}-header`}>\n <a\n className={`${prefixCls}-prev-year-btn`}\n role=\"button\"\n onClick={this.previousYear}\n title={locale.previousYear}\n />\n\n <a\n className={`${prefixCls}-year-select`}\n role=\"button\"\n onClick={props.onYearPanelShow}\n title={locale.yearSelect}\n >\n <span className={`${prefixCls}-year-select-content`}>{year}</span>\n <span className={`${prefixCls}-year-select-arrow`}>x</span>\n </a>\n\n <a\n className={`${prefixCls}-next-year-btn`}\n role=\"button\"\n onClick={this.nextYear}\n title={locale.nextYear}\n />\n </div>\n <div className={`${prefixCls}-body`}>\n <MonthTable\n disabledDate={props.disabledDate}\n onSelect={this.setAndSelectValue}\n locale={locale}\n value={value}\n cellRender={cellRender}\n contentRender={contentRender}\n prefixCls={prefixCls}\n />\n </div>\n </div>\n </div>);\n },\n});\n\nexport default MonthPanel;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport noop from 'lodash/noop';\nimport { getMonthName, getTodayTime } from '../util';\n\nconst ROW = 4;\nconst COL = 3;\n\nfunction chooseMonth(month) {\n const next = this.state.value.clone();\n next.month(month);\n this.setAndSelectValue(next);\n}\n\nexport default class MonthTable extends Component {\n static defaultProps = {\n onSelect: noop,\n };\n static propTypes = {\n onSelect: PropTypes.func,\n cellRender: PropTypes.func,\n prefixCls: PropTypes.string,\n value: PropTypes.object,\n };\n\n state = {\n value: this.props.value,\n };\n\n componentWillReceiveProps(nextProps) {\n if ('value' in nextProps) {\n this.setState({\n value: nextProps.value,\n });\n }\n }\n\n setAndSelectValue(value) {\n this.setState({\n value,\n });\n this.props.onSelect(value);\n }\n\n months() {\n const value = this.state.value;\n const current = value.clone();\n const months = [];\n let index = 0;\n for (let rowIndex = 0; rowIndex < ROW; rowIndex++) {\n months[rowIndex] = [];\n for (let colIndex = 0; colIndex < COL; colIndex++) {\n current.month(index);\n const content = getMonthName(current);\n months[rowIndex][colIndex] = {\n value: index,\n content,\n title: content,\n };\n index++;\n }\n }\n return months;\n }\n\n render() {\n const props = this.props;\n const value = this.state.value;\n const today = getTodayTime(value);\n const months = this.months();\n const currentMonth = value.month();\n const { prefixCls, locale, contentRender, cellRender } = props;\n const monthsEls = months.map((month, index) => {\n const tds = month.map(monthData => {\n let disabled = false;\n if (props.disabledDate) {\n const testValue = value.clone();\n testValue.month(monthData.value);\n disabled = props.disabledDate(testValue);\n }\n const classNameMap = {\n [`${prefixCls}-cell`]: 1,\n [`${prefixCls}-cell-disabled`]: disabled,\n [`${prefixCls}-selected-cell`]: monthData.value === currentMonth,\n [`${prefixCls}-current-cell`]: today.year() === value.year() &&\n monthData.value === today.month(),\n };\n let cellEl;\n if (cellRender) {\n const currentValue = value.clone();\n currentValue.month(monthData.value);\n cellEl = cellRender(currentValue, locale);\n } else {\n let content;\n if (contentRender) {\n const currentValue = value.clone();\n currentValue.month(monthData.value);\n content = contentRender(currentValue, locale);\n } else {\n content = monthData.content;\n }\n cellEl = (\n <a className={`${prefixCls}-month`}>\n {content}\n </a>\n );\n }\n return (\n <td\n role=\"gridcell\"\n key={monthData.value}\n onClick={disabled ? null : chooseMonth.bind(this, monthData.value)}\n title={monthData.title}\n className={classnames(classNameMap)}\n >\n {cellEl}\n </td>);\n });\n return (<tr key={index} role=\"row\">{tds}</tr>);\n });\n\n return (\n <table className={`${prefixCls}-table`} cellSpacing=\"0\" role=\"grid\">\n <tbody className={`${prefixCls}-tbody`}>\n {monthsEls}\n </tbody>\n </table>\n );\n }\n}\n","import cloneDeep from 'lodash/cloneDeep';\n\nconst autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst targetOffset = [0, 0];\n\nconst placements = {\n bottomLeft: {\n points: ['tl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -3],\n targetOffset,\n },\n bottomRight: {\n points: ['tr', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -3],\n targetOffset,\n },\n topRight: {\n points: ['br', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 3],\n targetOffset,\n },\n topLeft: {\n points: ['bl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 3],\n targetOffset,\n },\n};\n\nexport const getPlacements = (placement) => {\n const copyPlacements = cloneDeep(placements);\n if (typeof placement === 'object') {\n for (let offset in placement) {\n if (copyPlacements[offset]) {\n copyPlacements[offset].targetOffset = placement[offset];\n }\n }\n }\n return copyPlacements;\n}\n\nexport default placements;\n","import React, { cloneElement } from 'react';\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport CalendarHeader from '../calendar/CalendarHeader';\nimport DateTable from '../date/DateTable';\nimport DateInput from '../date/DateInput';\nimport { getTimeConfig } from '../util/index';\n\nconst CalendarPart = createReactClass({\n propTypes: {\n prefixCls: PropTypes.string,\n value: PropTypes.any,\n hoverValue: PropTypes.any,\n selectedValue: PropTypes.any,\n direction: PropTypes.any,\n locale: PropTypes.any,\n showDateInput: PropTypes.bool,\n showTimePicker: PropTypes.bool,\n format: PropTypes.any,\n placeholder: PropTypes.any,\n disabledDate: PropTypes.any,\n timePicker: PropTypes.any,\n disabledTime: PropTypes.any,\n onInputSelect: PropTypes.func,\n timePickerDisabledTime: PropTypes.object,\n enableNext: PropTypes.any,\n enablePrev: PropTypes.any,\n },\n render() {\n const props = this.props;\n const {\n prefixCls,\n value,\n hoverValue,\n selectedValue,\n mode,\n direction,\n locale, format, placeholder,\n disabledDate, timePicker, disabledTime,\n timePickerDisabledTime, showTimePicker,\n onInputSelect, enablePrev, enableNext,\n } = props;\n const shouldShowTimePicker = showTimePicker && timePicker;\n const disabledTimeConfig = shouldShowTimePicker && disabledTime ?\n getTimeConfig(selectedValue, disabledTime) : null;\n const rangeClassName = `${prefixCls}-range`;\n const newProps = {\n locale,\n value,\n prefixCls,\n showTimePicker,\n };\n const index = direction === 'left' ? 0 : 1;\n const timePickerEle = shouldShowTimePicker &&\n cloneElement(timePicker, {\n showHour: true,\n showMinute: true,\n showSecond: true,\n ...timePicker.props,\n ...disabledTimeConfig,\n ...timePickerDisabledTime,\n onChange: onInputSelect,\n defaultOpenValue: value,\n value: selectedValue[index],\n });\n\n const dateInputElement = props.showDateInput &&\n <DateInput\n format={format}\n locale={locale}\n prefixCls={prefixCls}\n timePicker={timePicker}\n disabledDate={disabledDate}\n placeholder={placeholder}\n disabledTime={disabledTime}\n value={value}\n showClear={false}\n selectedValue={selectedValue[index]}\n onChange={onInputSelect}\n />;\n\n return (\n <div className={`${rangeClassName}-part ${rangeClassName}-${direction}`}>\n {dateInputElement}\n <div style={{ outline: 'none' }}>\n <CalendarHeader\n {...newProps}\n mode={mode}\n enableNext={enableNext}\n enablePrev={enablePrev}\n onValueChange={props.onValueChange}\n onPanelChange={props.onPanelChange}\n disabledMonth={props.disabledMonth}\n />\n {showTimePicker ? <div className={`${prefixCls}-time-picker`}>\n <div className={`${prefixCls}-time-picker-panel`}>\n {timePickerEle}\n </div>\n </div> : null}\n <div className={`${prefixCls}-body`}>\n <DateTable\n {...newProps}\n hoverValue={hoverValue}\n selectedValue={selectedValue}\n dateRender={props.dateRender}\n onSelect={props.onSelect}\n onDayHover={props.onDayHover}\n disabledDate={disabledDate}\n showWeekNumber={props.showWeekNumber}\n />\n </div>\n </div>\n </div>);\n },\n});\n\nexport default CalendarPart;\n","import moment from 'moment';\n\nconst defaultDisabledTime = {\n disabledHours() {\n return [];\n },\n disabledMinutes() {\n return [];\n },\n disabledSeconds() {\n return [];\n },\n};\n\nexport function getTodayTime(value) {\n const today = moment();\n today.locale(value.locale()).utcOffset(value.utcOffset());\n return today;\n}\n\nexport function getTitleString(value) {\n return value.format('LL');\n}\n\nexport function getTodayTimeStr(value) {\n const today = getTodayTime(value);\n return getTitleString(today);\n}\n\nexport function getMonthName(month) {\n const locale = month.locale();\n const localeData = month.localeData();\n return localeData[locale === 'zh-cn' ? 'months' : 'monthsShort'](month);\n}\n\nexport function syncTime(from, to) {\n if (!moment.isMoment(from) || !moment.isMoment(to)) return;\n to.hour(from.hour());\n to.minute(from.minute());\n to.second(from.second());\n}\n\nexport function getTimeConfig(value, disabledTime) {\n let disabledTimeConfig = disabledTime ? disabledTime(value) : {};\n disabledTimeConfig = {\n ...defaultDisabledTime,\n ...disabledTimeConfig,\n };\n return disabledTimeConfig;\n}\n\nexport function isTimeValidByConfig(value, disabledTimeConfig) {\n let invalidTime = false;\n if (value) {\n const hour = value.hour();\n const minutes = value.minute();\n const seconds = value.second();\n const disabledHours = disabledTimeConfig.disabledHours();\n if (disabledHours.indexOf(hour) === -1) {\n const disabledMinutes = disabledTimeConfig.disabledMinutes(hour);\n if (disabledMinutes.indexOf(minutes) === -1) {\n const disabledSeconds = disabledTimeConfig.disabledSeconds(hour, minutes);\n invalidTime = disabledSeconds.indexOf(seconds) !== -1;\n } else {\n invalidTime = true;\n }\n } else {\n invalidTime = true;\n }\n }\n return !invalidTime;\n}\n\nexport function isTimeValid(value, disabledTime) {\n const disabledTimeConfig = getTimeConfig(value, disabledTime);\n return isTimeValidByConfig(value, disabledTimeConfig);\n}\n\nexport function isAllowedDate(value, disabledDate, disabledTime) {\n if (disabledDate) {\n if (disabledDate(value)) {\n return false;\n }\n }\n if (disabledTime) {\n if (!isTimeValid(value, disabledTime)) {\n return false;\n }\n }\n return true;\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nconst ROW = 4;\nconst COL = 3;\n\nfunction goYear(direction) {\n const value = this.state.value.clone();\n value.add(direction, 'year');\n this.setState({\n value,\n });\n}\n\nfunction chooseYear(year) {\n const value = this.state.value.clone();\n value.year(year);\n value.month(this.state.value.month());\n this.props.onSelect(value);\n}\n\nexport default class YearPanel extends Component {\n static propTypes = {\n rootPrefixCls: PropTypes.string,\n value: PropTypes.object,\n defaultValue: PropTypes.object,\n };\n\n static defaultProps = {\n onSelect() {\n },\n };\n\n constructor(props) {\n super(props);\n this.prefixCls = `${props.rootPrefixCls}-year-panel`;\n this.state = {\n value: props.value || props.defaultValue,\n };\n this.nextDecade = goYear.bind(this, 10);\n this.previousDecade = goYear.bind(this, -10);\n }\n\n years() {\n const value = this.state.value;\n const currentYear = value.year();\n const startYear = parseInt(currentYear / 10, 10) * 10;\n const previousYear = startYear - 1;\n const years = [];\n let index = 0;\n for (let rowIndex = 0; rowIndex < ROW; rowIndex++) {\n years[rowIndex] = [];\n for (let colIndex = 0; colIndex < COL; colIndex++) {\n const year = previousYear + index;\n const content = String(year);\n years[rowIndex][colIndex] = {\n content,\n year,\n title: content,\n };\n index++;\n }\n }\n return years;\n }\n render() {\n const props = this.props;\n const value = this.state.value;\n const locale = props.locale;\n const years = this.years();\n const currentYear = value.year();\n const startYear = parseInt(currentYear / 10, 10) * 10;\n const endYear = startYear + 9;\n const prefixCls = this.prefixCls;\n\n const yeasEls = years.map((row, index) => {\n const tds = row.map(yearData => {\n const classNameMap = {\n [`${prefixCls}-cell`]: 1,\n [`${prefixCls}-selected-cell`]: yearData.year === currentYear,\n [`${prefixCls}-last-decade-cell`]: yearData.year < startYear,\n [`${prefixCls}-next-decade-cell`]: yearData.year > endYear,\n };\n let clickHandler;\n if (yearData.year < startYear) {\n clickHandler = this.previousDecade;\n } else if (yearData.year > endYear) {\n clickHandler = this.nextDecade;\n } else {\n clickHandler = chooseYear.bind(this, yearData.year);\n }\n return (\n <td\n role=\"gridcell\"\n title={yearData.title}\n key={yearData.content}\n onClick={clickHandler}\n className={classnames(classNameMap)}\n >\n <a\n className={`${prefixCls}-year`}\n >\n {yearData.content}\n </a>\n </td>);\n });\n return (<tr key={index} role=\"row\">{tds}</tr>);\n });\n\n return (\n <div className={this.prefixCls}>\n <div>\n <div className={`${prefixCls}-header`}>\n <a\n className={`${prefixCls}-prev-decade-btn`}\n role=\"button\"\n onClick={this.previousDecade}\n title={locale.previousDecade}\n />\n <a\n className={`${prefixCls}-decade-select`}\n role=\"button\"\n onClick={props.onDecadePanelShow}\n title={locale.decadeSelect}\n >\n <span className={`${prefixCls}-decade-select-content`}>\n {startYear}-{endYear}\n </span>\n <span className={`${prefixCls}-decade-select-arrow`}>x</span>\n </a>\n\n <a\n className={`${prefixCls}-next-decade-btn`}\n role=\"button\"\n onClick={this.nextDecade}\n title={locale.nextDecade}\n />\n </div>\n <div className={`${prefixCls}-body`}>\n <table className={`${prefixCls}-table`} cellSpacing=\"0\" role=\"grid\">\n <tbody className={`${prefixCls}-tbody`}>\n {yeasEls}\n </tbody>\n </table>\n </div>\n </div>\n </div>);\n }\n}\n","import React, { cloneElement, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport arrayTreeFilter from 'array-tree-filter';\nimport isEqual from 'lodash/isEqual';\nimport Trigger from '../trigger';\nimport Menus from './Menus';\nimport KeyCode from '../../_util/KeyCode';\n\nconst BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 1,\n adjustY: 1,\n },\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 1,\n adjustY: 1,\n },\n },\n bottomRight: {\n points: ['tr', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: 1,\n adjustY: 1,\n },\n },\n topRight: {\n points: ['br', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX: 1,\n adjustY: 1,\n },\n },\n};\n\nexport default class Cascader extends Component {\n static defaultProps = {\n options: [],\n onChange() {},\n onPopupVisibleChange() {},\n disabled: false,\n transitionName: '',\n prefixCls: 'rc-cascader',\n popupClassName: '',\n popupPlacement: 'bottomLeft',\n builtinPlacements: BUILT_IN_PLACEMENTS,\n expandTrigger: 'click',\n };\n\n static propTypes = {\n value: PropTypes.array,\n defaultValue: PropTypes.array,\n options: PropTypes.array.isRequired,\n onChange: PropTypes.func,\n onPopupVisibleChange: PropTypes.func,\n popupVisible: PropTypes.bool,\n disabled: PropTypes.bool,\n transitionName: PropTypes.string,\n popupClassName: PropTypes.string,\n popupPlacement: PropTypes.string,\n prefixCls: PropTypes.string,\n dropdownMenuColumnStyle: PropTypes.object,\n builtinPlacements: PropTypes.object,\n loadData: PropTypes.func,\n changeOnSelect: PropTypes.bool,\n children: PropTypes.node,\n onKeyDown: PropTypes.func,\n expandTrigger: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n let initialValue = [];\n if ('value' in props) {\n initialValue = props.value || [];\n } else if ('defaultValue' in props) {\n initialValue = props.defaultValue || [];\n }\n\n this.state = {\n popupVisible: props.popupVisible,\n activeValue: initialValue,\n value: initialValue,\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if ('value' in nextProps && !isEqual(this.props.value, nextProps.value)) {\n const newValues = {\n value: nextProps.value || [],\n activeValue: nextProps.value || [],\n };\n // allow activeValue diff from value\n if ('loadData' in nextProps) {\n delete newValues.activeValue;\n }\n this.setState(newValues);\n }\n if ('popupVisible' in nextProps) {\n this.setState({\n popupVisible: nextProps.popupVisible,\n });\n }\n }\n\n getPopupDOMNode() {\n return this.trigger.getPopupDomNode();\n }\n\n getCurrentLevelOptions() {\n const { options } = this.props;\n const { activeValue = [] } = this.state;\n const result = arrayTreeFilter(options, (o, level) => o.value === activeValue[level]);\n if (result[result.length - 2]) {\n return result[result.length - 2].children;\n }\n return [...options].filter(o => !o.disabled);\n }\n\n getActiveOptions(activeValue) {\n return arrayTreeFilter(this.props.options, (o, level) => o.value === activeValue[level]);\n }\n\n setPopupVisible = popupVisible => {\n if (!('popupVisible' in this.props)) {\n this.setState({ popupVisible });\n }\n // sync activeValue with value when panel open\n if (popupVisible && !this.state.visible) {\n this.setState({\n activeValue: this.state.value,\n });\n }\n this.props.onPopupVisibleChange(popupVisible);\n };\n handleChange = (options, setProps, e) => {\n if (e.type !== 'keydown' || e.keyCode === KeyCode.ENTER) {\n this.props.onChange(options.map(o => o.value), options);\n this.setPopupVisible(setProps.visible);\n }\n };\n handlePopupVisibleChange = popupVisible => {\n this.setPopupVisible(popupVisible);\n };\n handleMenuSelect = (targetOption, menuIndex, e) => {\n // Keep focused state for keyboard support\n const triggerNode = this.trigger.getRootDomNode();\n if (triggerNode && triggerNode.focus) {\n triggerNode.focus();\n }\n const { changeOnSelect, loadData, expandTrigger } = this.props;\n if (!targetOption || targetOption.disabled) {\n return;\n }\n let { activeValue } = this.state;\n activeValue = activeValue.slice(0, menuIndex + 1);\n activeValue[menuIndex] = targetOption.value;\n const activeOptions = this.getActiveOptions(activeValue);\n if (targetOption.isLeaf === false && !targetOption.children && loadData) {\n if (changeOnSelect) {\n this.handleChange(activeOptions, { visible: true }, e);\n }\n this.setState({ activeValue });\n loadData(activeOptions);\n return;\n }\n const newState = {};\n if (!targetOption.children || !targetOption.children.length) {\n this.handleChange(activeOptions, { visible: false }, e);\n // set value to activeValue when select leaf option\n newState.value = activeValue;\n // add e.type judgement to prevent `onChange` being triggered by mouseEnter\n } else if (changeOnSelect && (e.type === 'click' || e.type === 'keydown')) {\n if (expandTrigger === 'hover') {\n this.handleChange(activeOptions, { visible: false }, e);\n } else {\n this.handleChange(activeOptions, { visible: true }, e);\n }\n // set value to activeValue on every select\n newState.value = activeValue;\n }\n newState.activeValue = activeValue;\n // not change the value by keyboard\n if ('value' in this.props || (e.type === 'keydown' && e.keyCode !== KeyCode.ENTER)) {\n delete newState.value;\n }\n this.setState(newState);\n };\n handleKeyDown = e => {\n const { children } = this.props;\n // Don't bind keyboard support when children specify the onKeyDown\n if (children && children.props.onKeyDown) {\n children.props.onKeyDown(e);\n return;\n }\n const activeValue = [...this.state.activeValue];\n const currentLevel = activeValue.length - 1 < 0 ? 0 : activeValue.length - 1;\n const currentOptions = this.getCurrentLevelOptions();\n const currentIndex = currentOptions.map(o => o.value).indexOf(activeValue[currentLevel]);\n if (\n e.keyCode !== KeyCode.DOWN &&\n e.keyCode !== KeyCode.UP &&\n e.keyCode !== KeyCode.LEFT &&\n e.keyCode !== KeyCode.RIGHT &&\n e.keyCode !== KeyCode.ENTER &&\n e.keyCode !== KeyCode.BACKSPACE &&\n e.keyCode !== KeyCode.ESC\n ) {\n return;\n }\n // Press any keys above to reopen menu\n if (\n !this.state.popupVisible &&\n e.keyCode !== KeyCode.BACKSPACE &&\n e.keyCode !== KeyCode.LEFT &&\n e.keyCode !== KeyCode.RIGHT &&\n e.keyCode !== KeyCode.ESC\n ) {\n this.setPopupVisible(true);\n return;\n }\n if (e.keyCode === KeyCode.DOWN || e.keyCode === KeyCode.UP) {\n let nextIndex = currentIndex;\n if (nextIndex !== -1) {\n if (e.keyCode === KeyCode.DOWN) {\n nextIndex += 1;\n nextIndex = nextIndex >= currentOptions.length ? 0 : nextIndex;\n } else {\n nextIndex -= 1;\n nextIndex = nextIndex < 0 ? currentOptions.length - 1 : nextIndex;\n }\n } else {\n nextIndex = 0;\n }\n activeValue[currentLevel] = currentOptions[nextIndex].value;\n } else if (e.keyCode === KeyCode.LEFT || e.keyCode === KeyCode.BACKSPACE) {\n activeValue.splice(activeValue.length - 1, 1);\n } else if (e.keyCode === KeyCode.RIGHT) {\n if (currentOptions[currentIndex] && currentOptions[currentIndex].children) {\n activeValue.push(currentOptions[currentIndex].children[0].value);\n }\n } else if (e.keyCode === KeyCode.ESC) {\n this.setPopupVisible(false);\n return;\n }\n if (!activeValue || activeValue.length === 0) {\n this.setPopupVisible(false);\n }\n const activeOptions = this.getActiveOptions(activeValue);\n const targetOption = activeOptions[activeOptions.length - 1];\n this.handleMenuSelect(targetOption, activeOptions.length - 1, e);\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n saveTrigger = node => {\n this.trigger = node;\n };\n\n render() {\n const {\n prefixCls,\n transitionName,\n popupClassName,\n options,\n disabled,\n builtinPlacements,\n popupPlacement,\n children,\n ...restProps\n } = this.props;\n // Did not show popup when there is no options\n let menus = <div />;\n let emptyMenuClassName = '';\n if (options && options.length > 0) {\n menus = (\n <Menus\n {...this.props}\n value={this.state.value}\n activeValue={this.state.activeValue}\n onSelect={this.handleMenuSelect}\n visible={this.state.popupVisible}\n />\n );\n } else {\n emptyMenuClassName = ` ${prefixCls}-menus-empty`;\n }\n return (\n <Trigger\n ref={this.saveTrigger}\n {...restProps}\n options={options}\n disabled={disabled}\n popupPlacement={popupPlacement}\n builtinPlacements={builtinPlacements}\n popupTransitionName={transitionName}\n action={disabled ? [] : ['click']}\n popupVisible={disabled ? false : this.state.popupVisible}\n onPopupVisibleChange={this.handlePopupVisibleChange}\n prefixCls={`${prefixCls}-menus`}\n popupClassName={popupClassName + emptyMenuClassName}\n popup={menus}\n >\n {cloneElement(children, {\n onKeyDown: this.handleKeyDown,\n tabIndex: disabled ? undefined : 0,\n })}\n </Trigger>\n );\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport arrayTreeFilter from 'array-tree-filter';\nimport { findDOMNode } from 'react-dom';\n\nexport default class Menus extends Component {\n static defaultProps = {\n options: [],\n value: [],\n activeValue: [],\n onSelect() {\n },\n prefixCls: 'rc-cascader-menus',\n visible: false,\n expandTrigger: 'click',\n };\n\n static propTypes = {\n value: PropTypes.array,\n activeValue: PropTypes.array,\n options: PropTypes.array.isRequired,\n prefixCls: PropTypes.string,\n expandTrigger: PropTypes.string,\n onSelect: PropTypes.func,\n visible: PropTypes.bool,\n dropdownMenuColumnStyle: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n\n this.menuItems = {};\n }\n\n componentDidMount() {\n this.scrollActiveItemToView();\n }\n\n componentDidUpdate(prevProps) {\n if (!prevProps.visible && this.props.visible) {\n this.scrollActiveItemToView();\n }\n }\n\n getOption(option, menuIndex) {\n const { prefixCls, expandTrigger } = this.props;\n const onSelect = this.props.onSelect.bind(this, option, menuIndex);\n let expandProps = {\n onClick: onSelect,\n };\n let menuItemCls = `${prefixCls}-menu-item`;\n const hasChildren = option.children && option.children.length > 0;\n if (hasChildren || option.isLeaf === false) {\n menuItemCls += ` ${prefixCls}-menu-item-expand`;\n }\n if (expandTrigger === 'hover' && hasChildren) {\n expandProps = {\n onMouseEnter: this.delayOnSelect.bind(this, onSelect),\n onMouseLeave: this.delayOnSelect.bind(this),\n onClick: onSelect,\n };\n }\n if (this.isActiveOption(option, menuIndex)) {\n menuItemCls += ` ${prefixCls}-menu-item-active`;\n expandProps.ref = this.saveMenuItem(menuIndex);\n }\n if (option.disabled) {\n menuItemCls += ` ${prefixCls}-menu-item-disabled`;\n }\n if (option.loading) {\n menuItemCls += ` ${prefixCls}-menu-item-loading`;\n }\n let title = '';\n if (option.title) {\n title = option.title;\n } else if (typeof option.label === 'string') {\n title = option.label;\n }\n return (\n <li\n key={option.value}\n className={menuItemCls}\n title={title}\n {...expandProps}\n >\n {option.label}\n </li>\n );\n }\n\n getActiveOptions(values) {\n const activeValue = values || this.props.activeValue;\n const options = this.props.options;\n return arrayTreeFilter(options, (o, level) => o.value === activeValue[level]);\n }\n\n getShowOptions() {\n const { options } = this.props;\n const result = this.getActiveOptions()\n .map(activeOption => activeOption.children)\n .filter(activeOption => !!activeOption);\n result.unshift(options);\n return result;\n }\n\n delayOnSelect(onSelect, ...args) {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n if (typeof onSelect === 'function') {\n this.delayTimer = setTimeout(() => {\n onSelect(args);\n this.delayTimer = null;\n }, 150);\n }\n }\n\n scrollActiveItemToView() {\n // scroll into view\n const optionsLength = this.getShowOptions().length;\n for (let i = 0; i < optionsLength; i++) {\n const itemComponent = this.menuItems[i];\n if (itemComponent) {\n const target = findDOMNode(itemComponent);\n target.parentNode.scrollTop = target.offsetTop;\n }\n }\n }\n\n isActiveOption(option, menuIndex) {\n const { activeValue = [] } = this.props;\n return activeValue[menuIndex] === option.value;\n }\n\n saveMenuItem = (index) => (node) => {\n this.menuItems[index] = node;\n };\n\n render() {\n const { prefixCls, dropdownMenuColumnStyle } = this.props;\n return (\n <div>\n {this.getShowOptions().map((options, menuIndex) =>\n <ul className={`${prefixCls}-menu`} key={menuIndex} style={dropdownMenuColumnStyle}>\n {options.map(option => this.getOption(option, menuIndex))}\n </ul>,\n )}\n </div>\n );\n }\n}\n","// export this package's api\nimport Cascader from './Cascader';\nexport default Cascader;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport PureRenderMixin from '../util/PureRenderMixin';\nimport classNames from 'classnames';\n\nexport default class Checkbox extends Component {\n static propTypes = {\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n style: PropTypes.object,\n name: PropTypes.string,\n id: PropTypes.string,\n type: PropTypes.string,\n defaultChecked: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n checked: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n disabled: PropTypes.bool,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n onClick: PropTypes.func,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n readOnly: PropTypes.bool,\n autoFocus: PropTypes.bool,\n value: PropTypes.any,\n };\n static defaultProps = {\n prefixCls: 'rc-checkbox',\n className: '',\n style: {},\n type: 'checkbox',\n defaultChecked: false,\n onFocus() {},\n onBlur() {},\n onChange() {},\n };\n\n constructor(props) {\n super(props);\n\n const checked = 'checked' in props ? props.checked : props.defaultChecked;\n\n this.state = {\n checked,\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if ('checked' in nextProps) {\n this.setState({\n checked: nextProps.checked,\n });\n }\n }\n\n shouldComponentUpdate(...args) {\n return PureRenderMixin.shouldComponentUpdate.apply(this, args);\n }\n\n focus() {\n this.input.focus();\n }\n\n blur() {\n this.input.blur();\n }\n\n handleChange = e => {\n const { props } = this;\n if (props.disabled) {\n return;\n }\n if (!('checked' in props)) {\n this.setState({\n checked: e.target.checked,\n });\n }\n props.onChange({\n target: {\n ...props,\n checked: e.target.checked,\n },\n stopPropagation() {\n e.stopPropagation();\n },\n preventDefault() {\n e.preventDefault();\n },\n nativeEvent: e.nativeEvent,\n });\n };\n\n saveInput = node => {\n this.input = node;\n };\n\n render() {\n const {\n prefixCls,\n className,\n style,\n name,\n id,\n type,\n disabled,\n readOnly,\n tabIndex,\n onClick,\n onFocus,\n onBlur,\n autoFocus,\n value,\n ...others\n } = this.props;\n\n const globalProps = Object.keys(others).reduce((prev, key) => {\n if (key.substr(0, 5) === 'aria-' || key.substr(0, 5) === 'data-' || key === 'role') {\n prev[key] = others[key];\n }\n return prev;\n }, {});\n\n const { checked } = this.state;\n const classString = classNames(prefixCls, className, {\n [`${prefixCls}-checked`]: checked,\n [`${prefixCls}-disabled`]: disabled,\n });\n\n return (\n <span className={classString} style={style}>\n <input\n name={name}\n id={id}\n type={type}\n readOnly={readOnly}\n disabled={disabled}\n tabIndex={tabIndex}\n className={`${prefixCls}-input`}\n checked={!!checked}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n onChange={this.handleChange}\n autoFocus={autoFocus}\n ref={this.saveInput}\n value={value}\n {...globalProps}\n />\n <span className={`${prefixCls}-inner`} />\n </span>\n );\n }\n}\n","import Checkbox from './Checkbox';\n\nexport default Checkbox;\n","import React, { Children, cloneElement, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport CollapsePanel from './Panel';\nimport openAnimationFactory from './openAnimationFactory';\n\nfunction toArray(activeKey) {\n let currentActiveKey = activeKey;\n if (!Array.isArray(currentActiveKey)) {\n currentActiveKey = currentActiveKey ? [currentActiveKey] : [];\n }\n return currentActiveKey;\n}\n\nexport default class Collapse extends Component {\n static propTypes = {\n children: PropTypes.any,\n prefixCls: PropTypes.string,\n activeKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n defaultActiveKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n openAnimation: PropTypes.object,\n onChange: PropTypes.func,\n accordion: PropTypes.bool,\n className: PropTypes.string,\n style: PropTypes.object,\n destroyInactivePanel: PropTypes.bool,\n };\n\n static defaultProps = {\n prefixCls: 'rc-collapse',\n onChange() {\n },\n accordion: false,\n destroyInactivePanel: false,\n };\n\n static Panel = CollapsePanel;\n\n constructor(props) {\n super(props);\n\n const { activeKey, defaultActiveKey } = this.props;\n let currentActiveKey = defaultActiveKey;\n if ('activeKey' in this.props) {\n currentActiveKey = activeKey;\n }\n\n this.state = {\n openAnimation: this.props.openAnimation || openAnimationFactory(this.props.prefixCls),\n activeKey: toArray(currentActiveKey),\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if ('activeKey' in nextProps) {\n this.setState({\n activeKey: toArray(nextProps.activeKey),\n });\n }\n if ('openAnimation' in nextProps) {\n this.setState({\n openAnimation: nextProps.openAnimation,\n });\n }\n }\n\n onClickItem(key) {\n let activeKey = this.state.activeKey;\n if (this.props.accordion) {\n activeKey = activeKey[0] === key ? [] : [key];\n } else {\n activeKey = [...activeKey];\n const index = activeKey.indexOf(key);\n const isActive = index > -1;\n if (isActive) {\n // remove active state\n activeKey.splice(index, 1);\n } else {\n activeKey.push(key);\n }\n }\n this.setActiveKey(activeKey);\n }\n\n getItems() {\n const activeKey = this.state.activeKey;\n const { prefixCls, accordion, destroyInactivePanel } = this.props;\n const newChildren = [];\n\n Children.forEach(this.props.children, (child, index) => {\n if (!child) return;\n // If there is no key provide, use the panel order as default key\n const key = child.key || String(index);\n const { header, headerClass, disabled } = child.props;\n let isActive = false;\n if (accordion) {\n isActive = activeKey[0] === key;\n } else {\n isActive = activeKey.indexOf(key) > -1;\n }\n\n const props = {\n key,\n header,\n headerClass,\n isActive,\n prefixCls,\n destroyInactivePanel,\n openAnimation: this.state.openAnimation,\n children: child.props.children,\n onItemClick: disabled ? null : () => this.onClickItem(key),\n };\n\n newChildren.push(cloneElement(child, props));\n });\n\n return newChildren;\n }\n\n setActiveKey(activeKey) {\n if (!('activeKey' in this.props)) {\n this.setState({ activeKey });\n }\n this.props.onChange(this.props.accordion ? activeKey[0] : activeKey);\n }\n\n render() {\n const { prefixCls, className, style } = this.props;\n const collapseClassName = classNames({\n [prefixCls]: true,\n [className]: !!className,\n });\n return (\n <div className={collapseClassName} style={style}>\n {this.getItems()}\n </div>\n );\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport PanelContent from './PanelContent';\nimport Animate from '../../animate';\n\nexport default class CollapsePanel extends Component {\n static propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n id: PropTypes.string,\n children: PropTypes.any,\n openAnimation: PropTypes.object,\n prefixCls: PropTypes.string,\n header: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.node,\n ]),\n headerClass: PropTypes.string,\n showArrow: PropTypes.bool,\n isActive: PropTypes.bool,\n onItemClick: PropTypes.func,\n style: PropTypes.object,\n destroyInactivePanel: PropTypes.bool,\n disabled: PropTypes.bool,\n forceRender: PropTypes.bool,\n };\n\n static defaultProps = {\n showArrow: true,\n isActive: false,\n destroyInactivePanel: false,\n onItemClick() {\n },\n headerClass: '',\n forceRender: false,\n };\n\n handleItemClick() {\n if (this.props.onItemClick) {\n this.props.onItemClick();\n }\n }\n\n render() {\n const {\n className,\n id,\n style,\n prefixCls,\n header,\n headerClass,\n children,\n isActive,\n showArrow,\n destroyInactivePanel,\n disabled,\n forceRender,\n } = this.props;\n const headerCls = classNames(`${prefixCls}-header`, {\n [headerClass]: headerClass,\n });\n const itemCls = classNames({\n [`${prefixCls}-item`]: true,\n [`${prefixCls}-item-active`]: isActive,\n [`${prefixCls}-item-disabled`]: disabled,\n }, className);\n const iconCls = classNames({\n [`${prefixCls}-expand-icon`]: true,\n [`${prefixCls}-expanded`]: isActive,\n [`${prefixCls}-collapsed`]: !isActive,\n });\n return (\n <div className={itemCls} style={style} id={id} role=\"tablist\">\n <div\n className={headerCls}\n onClick={this.handleItemClick.bind(this)}\n role=\"tab\"\n aria-expanded={isActive}\n >\n {showArrow && <i className={iconCls} />}\n {header}\n </div>\n <Animate\n hiddenProp=\"isInactive\"\n exclusive\n component=\"\"\n animation={this.props.openAnimation}\n >\n <PanelContent\n prefixCls={prefixCls}\n isInactive={!isActive}\n destroyInactivePanel={destroyInactivePanel}\n forceRender={forceRender}\n >\n {children}\n </PanelContent>\n </Animate>\n </div>\n );\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nexport default class PanelContent extends Component {\n static propTypes = {\n prefixCls: PropTypes.string,\n isInactive: PropTypes.bool,\n children: PropTypes.any,\n destroyInactivePanel: PropTypes.bool,\n forceRender: PropTypes.bool,\n };\n\n shouldComponentUpdate(nextProps) {\n return !this.props.isInactive || !nextProps.isInactive;\n }\n\n render() {\n this._isActived = this.props.forceRender || this._isActived || !this.props.isInactive;\n if (!this._isActived) {\n return null;\n }\n const { prefixCls, isInactive, children, destroyInactivePanel, forceRender } = this.props;\n const contentCls = classnames({\n [`${prefixCls}-content`]: true,\n [`${prefixCls}-content-active`]: !isInactive,\n [`${prefixCls}-content-inactive`]: isInactive,\n });\n const child = !forceRender && isInactive && destroyInactivePanel ? null : <div className={`${prefixCls}-content-box`}>{children}</div>;\n return (\n <div\n className={contentCls}\n role=\"tabpanel\"\n >{child}</div>\n );\n }\n}\n","import Collapse from './Collapse';\n\nexport default Collapse;\nexport const Panel = Collapse.Panel;\n","import cssAnimation from 'css-animation';\n\nfunction animate(node, show, transitionName, done) {\n let height;\n return cssAnimation(node, transitionName, {\n start() {\n if (!show) {\n node.style.height = `${node.offsetHeight}px`;\n } else {\n height = node.offsetHeight;\n node.style.height = 0;\n }\n },\n active() {\n node.style.height = `${show ? height : 0}px`;\n },\n end() {\n node.style.height = '';\n done();\n },\n });\n}\n\nfunction animation(prefixCls) {\n return {\n enter(node, done) {\n return animate(node, true, `${prefixCls}-anim`, done);\n },\n leave(node, done) {\n return animate(node, false, `${prefixCls}-anim`, done);\n },\n };\n}\n\nexport default animation;\n","import React, { Component } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport LazyRenderBox from './LazyRenderBox';\r\nimport Icon from '../../icon';\r\nimport Animate from '../../animate';\r\nimport getScrollBarSize from '../util/getScrollBarSize';\r\nimport KeyCode from '../../_util/KeyCode';\r\nimport addEventListener from '../../_util/addEventListener';\r\nlet uuid = 0;\r\nlet openCount = 0;\r\n/* eslint react/no-is-mounted:0 */\r\nfunction getScroll(w, top) {\r\n let ret = w[`page${top ? 'Y' : 'X'}Offset`];\r\n const method = `scroll${top ? 'Top' : 'Left'}`;\r\n if (typeof ret !== 'number') {\r\n const d = w.document;\r\n ret = d.documentElement[method];\r\n if (typeof ret !== 'number') {\r\n ret = d.body[method];\r\n }\r\n }\r\n return ret;\r\n}\r\nfunction setTransformOrigin(node, value) {\r\n const style = node.style;\r\n ['Webkit', 'Moz', 'Ms', 'ms'].forEach((prefix) => {\r\n style[`${prefix}TransformOrigin`] = value;\r\n });\r\n style.transformOrigin = value;\r\n}\r\nfunction offset(el) {\r\n const rect = el.getBoundingClientRect();\r\n const pos = {\r\n left: rect.left,\r\n top: rect.top,\r\n };\r\n const doc = el.ownerDocument;\r\n const w = doc.defaultView || doc.parentWindow;\r\n pos.left += getScroll(w);\r\n pos.top += getScroll(w, true);\r\n return pos;\r\n}\r\nexport default class Dialog extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.center = () => {\r\n const { center } = this.props;\r\n const dialogNode = findDOMNode(this.dialog);\r\n if (center && dialogNode && typeof window !== 'undefined') {\r\n const { clientWidth: docWidth, clientHeight: docHeight } = window.document.documentElement;\r\n const { offsetWidth: width, offsetHeight: height, style } = dialogNode;\r\n style.left = `${Math.max((docWidth - width) / 2, 0)}px`;\r\n style.top = `${Math.max((docHeight - height) / 2, 0)}px`;\r\n }\r\n };\r\n this.onEventListener = () => {\r\n if (typeof window !== 'undefined') {\r\n this.resizeEvent = addEventListener(window, 'resize', this.center);\r\n }\r\n };\r\n this.removeEventListener = () => {\r\n if (typeof window !== 'undefined') {\r\n this.resizeEvent.remove();\r\n }\r\n };\r\n this.onAnimateLeave = () => {\r\n const { afterClose } = this.props;\r\n // need demo?\r\n // https://github.com/react-component/dialog/pull/28\r\n if (this.wrap) {\r\n this.wrap.style.display = 'none';\r\n }\r\n this.inTransition = false;\r\n this.removeScrollingEffect();\r\n if (afterClose) {\r\n afterClose();\r\n }\r\n };\r\n this.onAnimateEnd = () => {\r\n const { animationEnd } = this.props;\r\n if (animationEnd) {\r\n animationEnd();\r\n }\r\n };\r\n this.onMaskClick = e => {\r\n // android trigger click on open (fastclick??)\r\n if (Date.now() - this.openTime < 300) {\r\n return;\r\n }\r\n if (e.target === e.currentTarget) {\r\n this.close(e);\r\n }\r\n };\r\n this.onKeyDown = (e) => {\r\n const props = this.props;\r\n if (props.keyboard && e.keyCode === KeyCode.ESC) {\r\n this.close(e);\r\n }\r\n // keep focus inside dialog\r\n if (props.visible) {\r\n if (e.keyCode === KeyCode.TAB) {\r\n const activeElement = document.activeElement;\r\n const dialogRoot = this.wrap;\r\n if (e.shiftKey) {\r\n if (activeElement === dialogRoot) {\r\n this.sentinel.focus();\r\n }\r\n }\r\n else if (activeElement === this.sentinel) {\r\n dialogRoot.focus();\r\n }\r\n }\r\n }\r\n };\r\n this.getDialogElement = () => {\r\n const props = this.props;\r\n const closable = props.closable;\r\n const prefixCls = props.prefixCls;\r\n const dest = {};\r\n if (props.width !== undefined) {\r\n dest.width = props.width;\r\n }\r\n if (props.height !== undefined) {\r\n dest.height = props.height;\r\n }\r\n let footer;\r\n if (props.footer) {\r\n footer = <div className={`${prefixCls}-footer`}>{props.footer}</div>;\r\n }\r\n let header;\r\n if (props.title) {\r\n header = (<div className={`${prefixCls}-header`}>\n <div className={`${prefixCls}-title`} id={this.titleId}>\n {props.title}\n </div>\n </div>);\r\n }\r\n let closer;\r\n if (closable) {\r\n closer = (<button type=\"button\" onClick={this.close} aria-label=\"Close\" className={`${prefixCls}-close`}>\n <Icon className={`${prefixCls}-close-x`} type=\"close\"/>\n </button>);\r\n }\r\n const style = { ...props.style, ...dest };\r\n const transitionName = this.getTransitionName();\r\n const dialogElement = (<LazyRenderBox key=\"dialog-element\" role=\"document\" ref={this.saveRef('dialog')} style={style} className={`${prefixCls} ${props.className || ''}`} hidden={!props.visible}>\n <div className={`${prefixCls}-content`}>\n {closer}\n {header}\n <div className={`${prefixCls}-body`} style={props.bodyStyle} {...props.bodyProps}>\n {props.children}\n </div>\n {footer}\n </div>\n <div tabIndex={0} ref={this.saveRef('sentinel')} style={{ width: 0, height: 0, overflow: 'hidden' }}>\n sentinel\n </div>\n </LazyRenderBox>);\r\n return (<Animate key=\"dialog\" hiddenProp=\"hidden\" onEnd={this.onAnimateEnd} onLeave={this.onAnimateLeave} transitionName={transitionName} component=\"\" transitionAppear>\n {props.visible || !props.destroyOnClose ? dialogElement : null}\n </Animate>);\r\n };\r\n this.getZIndexStyle = () => {\r\n const style = {};\r\n const props = this.props;\r\n if (props.zIndex !== undefined) {\r\n style.zIndex = props.zIndex;\r\n }\r\n return style;\r\n };\r\n this.getWrapStyle = () => {\r\n const { wrapStyle } = this.props;\r\n return { ...this.getZIndexStyle(), ...wrapStyle };\r\n };\r\n this.getMaskStyle = () => {\r\n const { maskStyle } = this.props;\r\n return { ...this.getZIndexStyle(), ...maskStyle };\r\n };\r\n this.getMaskElement = () => {\r\n const props = this.props;\r\n let maskElement;\r\n if (props.mask) {\r\n const maskTransition = this.getMaskTransitionName();\r\n maskElement = (<LazyRenderBox style={this.getMaskStyle()} key=\"mask\" className={`${props.prefixCls}-mask`} hiddenClassName={`${props.prefixCls}-mask-hidden`} hidden={!props.visible} {...props.maskProps}/>);\r\n if (maskTransition) {\r\n maskElement = (<Animate key=\"mask\" hiddenProp=\"hidden\" transitionAppear component=\"\" transitionName={maskTransition}>\n {maskElement}\n </Animate>);\r\n }\r\n }\r\n return maskElement;\r\n };\r\n this.getMaskTransitionName = () => {\r\n const props = this.props;\r\n let transitionName = props.maskTransitionName;\r\n const animation = props.maskAnimation;\r\n if (!transitionName && animation) {\r\n transitionName = `${props.prefixCls}-${animation}`;\r\n }\r\n return transitionName;\r\n };\r\n this.getTransitionName = () => {\r\n const props = this.props;\r\n let transitionName = props.transitionName;\r\n const animation = props.animation;\r\n if (!transitionName && animation) {\r\n transitionName = `${props.prefixCls}-${animation}`;\r\n }\r\n return transitionName;\r\n };\r\n this.setScrollbar = () => {\r\n if (this.bodyIsOverflowing && this.scrollbarWidth !== undefined) {\r\n document.body.style.paddingRight = `${this.scrollbarWidth}px`;\r\n }\r\n };\r\n this.addScrollingEffect = () => {\r\n openCount++;\r\n if (openCount !== 1) {\r\n return;\r\n }\r\n this.checkScrollbar();\r\n this.setScrollbar();\r\n document.body.style.overflow = 'hidden';\r\n // this.adjustDialog();\r\n };\r\n this.removeScrollingEffect = () => {\r\n openCount--;\r\n if (openCount !== 0) {\r\n return;\r\n }\r\n document.body.style.overflow = '';\r\n this.resetScrollbar();\r\n // this.resetAdjustments();\r\n };\r\n this.close = (e) => {\r\n const { onClose } = this.props;\r\n if (onClose) {\r\n onClose(e);\r\n }\r\n };\r\n this.checkScrollbar = () => {\r\n let fullWindowWidth = window.innerWidth;\r\n if (!fullWindowWidth) {\r\n // workaround for missing window.innerWidth in IE8\r\n const documentElementRect = document.documentElement.getBoundingClientRect();\r\n fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left);\r\n }\r\n this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth;\r\n if (this.bodyIsOverflowing) {\r\n this.scrollbarWidth = getScrollBarSize();\r\n }\r\n };\r\n this.resetScrollbar = () => {\r\n document.body.style.paddingRight = '';\r\n };\r\n this.adjustDialog = () => {\r\n const { wrap } = this;\r\n if (wrap && this.scrollbarWidth !== undefined) {\r\n const modalIsOverflowing = wrap.scrollHeight > document.documentElement.clientHeight;\r\n wrap.style.paddingLeft = `${!this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : ''}px`;\r\n wrap.style.paddingRight = `${this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''}px`;\r\n }\r\n };\r\n this.resetAdjustments = () => {\r\n const { wrap } = this;\r\n if (wrap) {\r\n const { style } = wrap;\r\n style.paddingLeft = '';\r\n style.paddingRight = '';\r\n }\r\n };\r\n this.saveRef = (name) => (node) => {\r\n this[name] = node;\r\n };\r\n }\r\n componentWillMount() {\r\n this.inTransition = false;\r\n this.titleId = `rcDialogTitle${uuid++}`;\r\n }\r\n componentDidMount() {\r\n const { center } = this.props;\r\n const dialogNode = findDOMNode(this.dialog);\r\n if (center && dialogNode) {\r\n const { style } = dialogNode;\r\n this.center();\r\n style.margin = '0';\r\n style.padding = '0';\r\n this.onEventListener();\r\n }\r\n this.componentDidUpdate({});\r\n }\r\n componentDidUpdate(prevProps) {\r\n const { mousePosition, visible, mask } = this.props;\r\n if (visible) {\r\n // first show\r\n if (!prevProps.visible) {\r\n this.center();\r\n this.openTime = Date.now();\r\n this.lastOutSideFocusNode = document.activeElement;\r\n this.addScrollingEffect();\r\n this.wrap.focus();\r\n const dialogNode = findDOMNode(this.dialog);\r\n if (mousePosition) {\r\n const elOffset = offset(dialogNode);\r\n setTransformOrigin(dialogNode, `${mousePosition.x - elOffset.left}px ${mousePosition.y - elOffset.top}px`);\r\n }\r\n else {\r\n setTransformOrigin(dialogNode, '');\r\n }\r\n }\r\n }\r\n else if (prevProps.visible) {\r\n this.inTransition = true;\r\n if (mask && this.lastOutSideFocusNode) {\r\n try {\r\n this.lastOutSideFocusNode.focus();\r\n }\r\n catch (e) {\r\n this.lastOutSideFocusNode = null;\r\n }\r\n this.lastOutSideFocusNode = null;\r\n }\r\n }\r\n }\r\n componentWillUnmount() {\r\n const { visible, center } = this.props;\r\n if (visible || this.inTransition) {\r\n this.removeScrollingEffect();\r\n }\r\n if (center) {\r\n this.removeEventListener();\r\n }\r\n }\r\n render() {\r\n const { props } = this;\r\n const { prefixCls, maskClosable } = props;\r\n const style = this.getWrapStyle();\r\n // clear hide display\r\n // and only set display after async anim, not here for hide\r\n if (props.visible) {\r\n style.display = null;\r\n }\r\n return (<div>\n {this.getMaskElement()}\n <div tabIndex={-1} onKeyDown={this.onKeyDown} className={`${prefixCls}-wrap ${props.wrapClassName || ''}`} ref={this.saveRef('wrap')} onClick={maskClosable ? this.onMaskClick : undefined} role=\"dialog\" aria-labelledby={props.title ? this.titleId : null} style={style} {...props.wrapProps}>\n {this.getDialogElement()}\n </div>\n </div>);\r\n }\r\n}\r\nDialog.defaultProps = {\r\n className: '',\r\n mask: true,\r\n visible: false,\r\n keyboard: true,\r\n closable: true,\r\n maskClosable: true,\r\n destroyOnClose: false,\r\n prefixCls: 'rc-dialog',\r\n center: false,\r\n};\r\n","import React, { Component } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport Dialog from './Dialog';\r\nimport ContainerRender from '../util/ContainerRender';\r\nimport Portal from '../util/Portal';\r\nconst IS_REACT_16 = 'createPortal' in ReactDOM;\r\nclass DialogWrap extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.saveDialog = (node) => {\r\n this._component = node;\r\n };\r\n this.getComponent = (extra = {}) => {\r\n return <Dialog ref={this.saveDialog} {...this.props} {...extra} key=\"dialog\"/>;\r\n };\r\n this.getContainer = () => {\r\n const { getContainer } = this.props;\r\n if (getContainer) {\r\n return getContainer(this);\r\n }\r\n const container = document.createElement('div');\r\n document.body.appendChild(container);\r\n return container;\r\n };\r\n }\r\n shouldComponentUpdate({ visible }) {\r\n const { props } = this;\r\n return !!(props.visible || visible);\r\n }\r\n componentWillUnmount() {\r\n if (IS_REACT_16) {\r\n return;\r\n }\r\n const { visible } = this.props;\r\n if (visible) {\r\n this.renderComponent({\r\n afterClose: this.removeContainer,\r\n onClose() { },\r\n visible: false,\r\n });\r\n }\r\n else {\r\n this.removeContainer();\r\n }\r\n }\r\n render() {\r\n const { visible } = this.props;\r\n let portal = null;\r\n if (!IS_REACT_16) {\r\n const container = ({ renderComponent, removeContainer, }) => {\r\n this.renderComponent = renderComponent;\r\n this.removeContainer = removeContainer;\r\n return null;\r\n };\r\n return (<ContainerRender parent={this} visible={visible} autoDestroy={false} getComponent={this.getComponent} getContainer={this.getContainer}>\n {container}\n </ContainerRender>);\r\n }\r\n if (visible || this._component) {\r\n portal = <Portal getContainer={this.getContainer}>{this.getComponent()}</Portal>;\r\n }\r\n return portal;\r\n }\r\n}\r\nDialogWrap.defaultProps = {\r\n visible: false,\r\n};\r\nexport default DialogWrap;\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nexport default class LazyRenderBox extends Component {\r\n shouldComponentUpdate(nextProps) {\r\n return !!nextProps.hiddenClassName || !nextProps.hidden;\r\n }\r\n render() {\r\n const { hiddenClassName, hidden, className, ...otherProps } = this.props;\r\n const classString = classNames(className, {\r\n [hiddenClassName]: hiddenClassName && hidden,\r\n });\r\n return <div className={classString} {...otherProps}/>;\r\n }\r\n}\r\n","// export this package's api\r\nimport DialogWrap from './DialogWrap';\r\nexport default DialogWrap;\r\n","import React, { cloneElement, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport Trigger from '../trigger';\nimport placements from './placements';\n\nexport default class Dropdown extends Component {\n static propTypes = {\n minOverlayWidthMatchTrigger: PropTypes.bool,\n onVisibleChange: PropTypes.func,\n onOverlayClick: PropTypes.func,\n prefixCls: PropTypes.string,\n children: PropTypes.any,\n transitionName: PropTypes.string,\n overlayClassName: PropTypes.string,\n animation: PropTypes.any,\n align: PropTypes.object,\n overlayStyle: PropTypes.object,\n placement: PropTypes.string,\n overlay: PropTypes.node,\n trigger: PropTypes.array,\n showAction: PropTypes.array,\n hideAction: PropTypes.array,\n getPopupContainer: PropTypes.func,\n visible: PropTypes.bool,\n defaultVisible: PropTypes.bool,\n };\n\n static defaultProps = {\n minOverlayWidthMatchTrigger: true,\n prefixCls: 'rc-dropdown',\n trigger: ['hover'],\n showAction: [],\n hideAction: [],\n overlayClassName: '',\n overlayStyle: {},\n defaultVisible: false,\n onVisibleChange() {},\n placement: 'bottomLeft',\n };\n\n constructor(props) {\n super(props);\n if ('visible' in props) {\n this.state = {\n visible: props.visible,\n };\n } else {\n this.state = {\n visible: props.defaultVisible,\n };\n }\n }\n\n componentWillReceiveProps({ visible }) {\n if (visible !== undefined) {\n this.setState({\n visible,\n });\n }\n }\n\n onClick = e => {\n const props = this.props;\n const overlayProps = props.overlay.props;\n // do no call onVisibleChange, if you need click to hide, use onClick and control visible\n if (!('visible' in props)) {\n this.setState({\n visible: false,\n });\n }\n if (props.onOverlayClick) {\n props.onOverlayClick(e);\n }\n if (overlayProps.onClick) {\n overlayProps.onClick(e);\n }\n };\n\n onVisibleChange = visible => {\n const props = this.props;\n if (!('visible' in props)) {\n this.setState({\n visible,\n });\n }\n props.onVisibleChange(visible);\n };\n\n getMenuElement() {\n const { overlay, prefixCls } = this.props;\n const extraOverlayProps = {\n prefixCls: `${prefixCls}-menu`,\n onClick: this.onClick,\n };\n if (typeof overlay.type === 'string') {\n delete extraOverlayProps.prefixCls;\n }\n return cloneElement(overlay, extraOverlayProps);\n }\n\n getPopupDomNode() {\n return this.trigger.getPopupDomNode();\n }\n\n afterVisibleChange = visible => {\n if (visible && this.props.minOverlayWidthMatchTrigger) {\n const overlayNode = this.getPopupDomNode();\n const rootNode = ReactDOM.findDOMNode(this);\n if (rootNode && overlayNode && rootNode.offsetWidth > overlayNode.offsetWidth) {\n overlayNode.style.minWidth = `${rootNode.offsetWidth}px`;\n if (this.trigger && this.trigger._component && this.trigger._component.alignInstance) {\n this.trigger._component.alignInstance.forceAlign();\n }\n }\n }\n };\n\n saveTrigger = node => {\n this.trigger = node;\n };\n\n render() {\n const {\n prefixCls,\n children,\n transitionName,\n animation,\n align,\n placement,\n getPopupContainer,\n showAction,\n hideAction,\n overlayClassName,\n overlayStyle,\n trigger,\n ...otherProps\n } = this.props;\n return (\n <Trigger\n {...otherProps}\n prefixCls={prefixCls}\n ref={this.saveTrigger}\n popupClassName={overlayClassName}\n popupStyle={overlayStyle}\n builtinPlacements={placements}\n action={trigger}\n showAction={showAction}\n hideAction={hideAction}\n popupPlacement={placement}\n popupAlign={align}\n popupTransitionName={transitionName}\n popupAnimation={animation}\n popupVisible={this.state.visible}\n afterPopupVisibleChange={this.afterVisibleChange}\n popup={this.getMenuElement()}\n onPopupVisibleChange={this.onVisibleChange}\n getPopupContainer={getPopupContainer}\n >\n {children}\n </Trigger>\n );\n }\n}\n","import Dropdown from './Dropdown';\n\nexport default Dropdown;\n","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst targetOffset = [0, 0];\n\nexport const placements = {\n topLeft: {\n points: ['bl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n topCenter: {\n points: ['bc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n topRight: {\n points: ['br', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n bottomLeft: {\n points: ['tl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n bottomCenter: {\n points: ['tc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n bottomRight: {\n points: ['tr', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n};\n\nexport default placements;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { EditorCore } from 'rc-editor-core';\nimport { CompositeDecorator, ContentState, EditorState, SelectionState } from 'draft-js';\n\nimport createMention from '../utils/createMention';\nimport exportContent from '../utils/exportContent';\n\nclass Mention extends Component {\n static propTypes = {\n value: PropTypes.object,\n suggestions: PropTypes.array,\n prefix: PropTypes.oneOfType(\n [PropTypes.string, PropTypes.arrayOf(PropTypes.string)],\n ),\n prefixCls: PropTypes.string,\n tag: PropTypes.element,\n style: PropTypes.object,\n className: PropTypes.string,\n onSearchChange: PropTypes.func,\n onChange: PropTypes.func,\n mode: PropTypes.string,\n multiLines: PropTypes.bool,\n suggestionStyle: PropTypes.object,\n placeholder: PropTypes.string,\n defaultValue: PropTypes.object,\n notFoundContent: PropTypes.any,\n position: PropTypes.string,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onSelect: PropTypes.func,\n getSuggestionContainer: PropTypes.func,\n noRedup: PropTypes.bool,\n mentionStyle: PropTypes.object,\n placement: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n\n this.mention = createMention({\n prefix: this.getPrefix(props),\n tag: props.tag,\n mode: props.mode,\n mentionStyle: props.mentionStyle,\n });\n\n this.Suggestions = this.mention.Suggestions;\n this.plugins = [this.mention];\n\n this.state = {\n suggestions: props.suggestions,\n value: props.value && EditorState.createWithContent(props.value, new CompositeDecorator(this.mention.decorators)),\n selection: SelectionState.createEmpty(),\n focused: false,\n };\n\n if (typeof props.defaultValue === 'string') {\n // eslint-disable-next-line\n console.warn('The property `defaultValue` now allow `EditorState` only, see http://react-component.github.io/editor-mention/examples/defaultValue.html ');\n }\n if (props.value !== undefined) {\n this.controlledMode = true;\n }\n }\n\n componentWillReceiveProps(nextProps) {\n const { suggestions } = nextProps;\n const { selection } = this.state;\n let value = nextProps.value;\n if (value && selection) {\n value = EditorState.acceptSelection(\n EditorState.createWithContent(\n value,\n this._decorator,\n ),\n selection,\n );\n }\n this.setState({\n suggestions,\n value,\n });\n }\n\n onEditorChange = (editorState) => {\n const selection = editorState.getSelection();\n this._decorator = editorState.getDecorator();\n const content = editorState.getCurrentContent();\n\n if (this.props.onChange) {\n this.setState({\n selection,\n }, () => {\n this.props.onChange(content, exportContent(content));\n });\n } else {\n this.setState({\n editorState,\n selection,\n });\n }\n };\n onFocus = (e) => {\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n this.setState({ focused: true });\n };\n onBlur = (e) => {\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n this.setState({ focused: false });\n };\n\n getPrefix(props = this.props) {\n return Array.isArray(props.prefix) ? props.prefix : [props.prefix];\n }\n\n static controlledMode = false;\n\n reset = () => {\n /*eslint-disable*/\n this._editor.Reset();\n /*eslint-enable*/\n };\n\n getUnderLine() {\n const { prefixCls } = this.props;\n return (\n <div className={`${prefixCls}-editor-underline`}>\n <span className={`${prefixCls}-editor-ripple`} />\n </div>\n );\n }\n\n render() {\n const {\n prefixCls, style, tag, multiLines,\n suggestionStyle, placeholder, defaultValue, className, notFoundContent,\n getSuggestionContainer, readOnly, disabled, placement,\n } = this.props;\n const { suggestions, focused } = this.state;\n const { Suggestions } = this;\n const editorClass = classnames(className, {\n [`${prefixCls}-wrapper`]: true,\n [`${prefixCls}-editor-focus`]: focused,\n readonly: readOnly,\n disabled,\n multilines: multiLines,\n });\n const editorProps = this.controlledMode ? { value: this.state.value } : {};\n const defaultValueState = defaultValue &&\n EditorState.createWithContent(\n typeof defaultValue === 'string' ? ContentState.createFromText(defaultValue) : defaultValue\n , this._decorator);\n return (\n <div className={editorClass} style={style} ref={wrapper => this._wrapper = wrapper}>\n <EditorCore\n ref={editor => this._editor = editor}\n prefixCls={prefixCls}\n style={style}\n multiLines={multiLines}\n plugins={this.plugins}\n defaultValue={defaultValueState}\n placeholder={placeholder}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onChange={this.onEditorChange}\n {...editorProps}\n readOnly={readOnly || disabled}\n >\n <Suggestions\n mode={tag ? 'immutable' : 'mutable'}\n prefix={this.getPrefix()}\n prefixCls={prefixCls}\n style={suggestionStyle}\n placement={placement}\n notFoundContent={notFoundContent}\n suggestions={suggestions}\n getSuggestionContainer={getSuggestionContainer ? () => getSuggestionContainer(this._wrapper) : null}\n onSearchChange={this.props.onSearchChange}\n onSelect={this.props.onSelect}\n noRedup={this.props.noRedup}\n />\n </EditorCore>\n {this.getUnderLine()}\n </div>\n );\n }\n}\n\nMention.defaultProps = {\n prefixCls: 'rc-editor-mention',\n prefix: '@',\n mode: 'immutable',\n suggestions: [],\n multiLines: false,\n className: '',\n suggestionStyle: {},\n notFoundContent: '无法找到',\n position: 'absolute',\n placement: 'bottom', // top, bottom\n mentionStyle: {},\n};\n\nexport default Mention;\n","import React from 'react';\n\nconst MentionContent = ({ children }) => (\n <span style={{ backgroundColor: '#e6f3ff' }}>\n {children}\n </span>\n);\n\nexport default MentionContent;\n","import React, { Component } from 'react';\n\nclass Nav extends Component {\n render() {\n const { props } = this;\n return (\n <div {...props} />\n );\n }\n}\n\n\nexport default Nav;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport getOffset from '../utils/getOffset';\n\nexport default class SuggestionPortal extends Component {\n static propTypes = {\n offsetKey: PropTypes.any,\n mentionStore: PropTypes.object,\n decoratedText: PropTypes.string,\n children: PropTypes.any,\n callbacks: PropTypes.any,\n suggestionRegex: PropTypes.any,\n };\n\n componentWillMount() {\n this.matchDecorates(this.props);\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.decoratedText !== this.props.decoratedText) {\n this.matchDecorates(nextProps);\n }\n this.updatePortalPosition(nextProps);\n }\n\n matchDecorates = (props) => {\n const { callbacks, suggestionRegex, decoratedText } = props;\n const matches = suggestionRegex.exec(decoratedText);\n this.trigger = matches[2];\n this.updatePortalPosition(this.props);\n callbacks.setEditorState(callbacks.getEditorState());\n };\n\n componentWillUnmount() {\n const { offsetKey, mentionStore } = this.props;\n mentionStore.inActiveSuggestion({ offsetKey });\n }\n\n updatePortalPosition(props) {\n const { offsetKey, mentionStore } = props;\n mentionStore.updateSuggestion({\n offsetKey,\n trigger: this.trigger,\n position: () => {\n const element = this.searchPortal;\n const rect = getOffset(element);\n return {\n left: rect.left,\n top: rect.top,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n },\n });\n }\n\n render() {\n return (\n <span ref={(node) => {\n this.searchPortal = node;\n }} style={this.props.style}>\n {this.props.children}\n </span>\n );\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { createPortal, unstable_renderSubtreeIntoContainer } from 'react-dom';\n\nconst IS_REACT_16 = !!createPortal;\n\nexport default class SuggestionWrapper extends Component {\n static propTypes = {\n children: PropTypes.any,\n renderReady: PropTypes.func,\n container: PropTypes.any,\n };\n\n componentDidMount() {\n this.renderOrReady();\n }\n\n componentDidUpdate() {\n this.renderOrReady();\n }\n\n renderOrReady() {\n if (IS_REACT_16) {\n this.props.renderReady();\n } else {\n this.renderComponent();\n }\n }\n\n renderComponent() {\n const { children, container, renderReady } = this.props;\n unstable_renderSubtreeIntoContainer(\n this,\n children,\n container,\n function callback() {\n if (renderReady) {\n renderReady.call(this);\n }\n });\n }\n\n render() {\n if (IS_REACT_16) {\n const { children, container } = this.props;\n return createPortal(children, container);\n }\n return null;\n }\n}\n","import React, { Children, cloneElement, Component, isValidElement } from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { decode } from 'draft-js/lib/DraftOffsetKey';\nimport cx from 'classnames';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport Animate from '../../../animate';\nimport Nav from './Nav.react';\nimport SuggetionWrapper from './SuggestionWrapper.react';\nimport insertMention from '../utils/insertMention';\nimport clearMention from '../utils/clearMention';\nimport getOffset from '../utils/getOffset';\nimport getMentions from '../utils/getMentions';\nimport getSearchWord from '../utils/getSearchWord';\n\nconst isNotFalse = i => i !== false;\n\nexport default class Suggestions extends Component {\n static propTypes = {\n callbacks: PropTypes.object,\n suggestions: PropTypes.array,\n store: PropTypes.object,\n onSearchChange: PropTypes.func,\n prefixCls: PropTypes.string,\n mode: PropTypes.string,\n style: PropTypes.object,\n onSelect: PropTypes.func,\n getSuggestionContainer: PropTypes.func,\n notFoundContent: PropTypes.any,\n getSuggestionStyle: PropTypes.func,\n className: PropTypes.string,\n noRedup: PropTypes.bool,\n placement: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isActive: false,\n focusedIndex: 0,\n container: false,\n };\n }\n\n componentDidMount() {\n this.props.callbacks.onChange = this.onEditorStateChange;\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.suggestions.length !== this.props.suggestions.length) {\n this.setState({\n focusedIndex: 0,\n });\n }\n }\n\n onEditorStateChange = (editorState) => {\n const offset = this.props.store.getOffset();\n if (offset.size === 0) {\n this.closeDropDown();\n return editorState;\n }\n const selection = editorState.getSelection();\n\n // 修复: 焦点移出再移入时, dropdown 会闪动一下\n // 原因: https://github.com/facebook/draft-js/blob/67c5e69499e3b0c149ce83b004872afdf4180463/src/component/handlers/edit/editOnFocus.js#L33\n // 此处强制 update 了一下,因此 onEditorStateChange 会 call 两次\n if (!this.props.callbacks.getEditorState().getSelection().getHasFocus()\n && selection.getHasFocus()) {\n return editorState;\n }\n\n const { word } = getSearchWord(editorState, selection);\n if (!word) {\n this.closeDropDown();\n return editorState;\n }\n const selectionInsideMention = offset.map(({ offsetKey }) => {\n const { blockKey, decoratorKey, leafKey } = decode(offsetKey);\n if (blockKey !== selection.anchorKey) {\n return false;\n }\n const leaf = editorState.getBlockTree(blockKey).getIn([decoratorKey, 'leaves', leafKey]);\n if (!leaf) {\n return false;\n }\n const startKey = leaf.get('start');\n const endKey = leaf.get('end');\n // 处理只有一个 `@` 符号时的情况\n if (!word) {\n return false;\n }\n if (startKey === endKey - 1) {\n return selection.anchorOffset >= startKey + 1 && selection.anchorOffset <= endKey\n ? offsetKey\n : false;\n }\n return selection.anchorOffset > startKey + 1 && selection.anchorOffset <= endKey\n ? offsetKey\n : false;\n });\n\n const selectionInText = selectionInsideMention.some(isNotFalse);\n this.activeOffsetKey = selectionInsideMention.find(isNotFalse);\n const trigger = this.props.store.getTrigger(this.activeOffsetKey);\n\n if (!selectionInText || !selection.getHasFocus()) {\n this.closeDropDown();\n return editorState;\n }\n const searchValue = word.substring(trigger.length, word.length);\n if (this.lastSearchValue !== searchValue || this.lastTrigger !== trigger) {\n this.lastSearchValue = searchValue;\n this.lastTrigger = trigger;\n this.props.onSearchChange(searchValue, trigger);\n }\n if (!this.state.active) {\n // 暂时没有更优雅的方法\n if (!trigger || word.indexOf(trigger) !== -1) {\n this.openDropDown();\n }\n }\n return editorState;\n };\n\n onMentionSelect(mention, data) {\n const editorState = this.props.callbacks.getEditorState();\n const { store, onSelect } = this.props;\n const trigger = store.getTrigger(this.activeOffsetKey);\n if (onSelect) {\n onSelect(mention, data || mention);\n }\n if (this.props.noRedup) {\n const mentions = getMentions(editorState.getCurrentContent(), trigger);\n if (mentions.indexOf(`${trigger}${mention}`) !== -1) {\n // eslint-disable-next-line\n console.warn('you have specified `noRedup` props but have duplicated mentions.');\n this.closeDropDown();\n this.props.callbacks.setEditorState(\n clearMention(editorState),\n );\n return;\n }\n }\n this.props.callbacks.setEditorState(\n insertMention(editorState, `${trigger}${mention}`, data, this.props.mode)\n , true);\n this.closeDropDown();\n }\n\n onUpArrow = (ev) => {\n ev.preventDefault();\n if (this.props.suggestions.length > 0) {\n const newIndex = this.state.focusedIndex - 1;\n this.setState({\n focusedIndex: Math.max(newIndex, 0),\n });\n }\n };\n onBlur = (ev) => {\n ev.preventDefault();\n this.closeDropDown();\n };\n onDownArrow = (ev) => {\n ev.preventDefault();\n const newIndex = this.state.focusedIndex + 1;\n this.setState({\n focusedIndex: newIndex >= this.props.suggestions.length ? 0 : newIndex,\n });\n };\n\n getPositionStyle(isActive, position) {\n if (this.props.getSuggestionStyle) {\n return this.props.getSuggestionStyle(isActive, position);\n }\n const container = this.props.getSuggestionContainer ? this.state.container : document.body;\n const offset = getOffset(container);\n return position ? {\n position: 'absolute',\n left: `${position.left - offset.left}px`,\n top: `${position.top - offset.top}px`,\n ...this.props.style,\n } : {};\n }\n\n getContainer = () => {\n const popupContainer = document.createElement('div');\n let mountNode;\n if (this.props.getSuggestionContainer) {\n mountNode = this.props.getSuggestionContainer();\n popupContainer.style.position = 'relative';\n } else {\n mountNode = document.body;\n }\n mountNode.appendChild(popupContainer);\n return popupContainer;\n };\n handleKeyBinding = (command) => {\n return command === 'split-block';\n };\n handleReturn = (ev) => {\n ev.preventDefault();\n const selectedSuggestion = this.props.suggestions[this.state.focusedIndex];\n if (selectedSuggestion) {\n if (isValidElement(selectedSuggestion)) {\n this.onMentionSelect(selectedSuggestion.props.value, selectedSuggestion.props.data);\n } else {\n this.onMentionSelect(selectedSuggestion);\n }\n this.lastSearchValue = null;\n this.lastTrigger = null;\n return true;\n }\n return false;\n };\n\n openDropDown() {\n this.props.callbacks.onUpArrow = this.onUpArrow;\n this.props.callbacks.handleReturn = this.handleReturn;\n this.props.callbacks.handleKeyBinding = this.handleKeyBinding;\n this.props.callbacks.onDownArrow = this.onDownArrow;\n this.props.callbacks.onBlur = this.onBlur;\n this.setState({\n active: true,\n container: this.state.container || this.getContainer(),\n });\n }\n\n closeDropDown() {\n this.props.callbacks.onUpArrow = null;\n this.props.callbacks.handleReturn = null;\n this.props.callbacks.handleKeyBinding = null;\n this.props.callbacks.onDownArrow = null;\n this.props.callbacks.onBlur = null;\n this.setState({\n active: false,\n });\n }\n\n renderReady = () => {\n const container = this.dropdownContainer;\n if (!container) {\n return;\n }\n const { active } = this.state;\n const { activeOffsetKey } = this;\n const offset = this.props.store.getOffset();\n const dropDownPosition = offset.get(activeOffsetKey);\n\n if (active && dropDownPosition) {\n const placement = this.props.placement;\n const dropDownStyle = this.getPositionStyle(true, dropDownPosition.position());\n\n // Check if the above space is crowded\n const isTopCrowded = parseFloat(dropDownStyle.top) - window.scrollY - container.offsetHeight < 0;\n // Check if the under space is crowded\n const isBottomCrowded = (window.innerHeight || document.documentElement.clientHeight) - (parseFloat(dropDownStyle.top) - window.scrollY) - container.offsetHeight < 0;\n\n if (placement === 'top' && !isTopCrowded) {\n // The above space isn't crowded\n dropDownStyle.top = `${parseFloat(dropDownStyle.top) - container.offsetHeight || 0}px`;\n }\n\n if (placement === 'bottom' && isBottomCrowded && !isTopCrowded) {\n // The above space isn't crowded and the under space is crowded.\n dropDownStyle.top = `${parseFloat(dropDownStyle.top) - container.offsetHeight || 0}px`;\n }\n\n Object.keys(dropDownStyle).forEach((key) => {\n container.style[key] = dropDownStyle[key];\n });\n }\n\n if (!this.focusItem) {\n return;\n }\n scrollIntoView(\n ReactDOM.findDOMNode(this.focusItem),\n container, {\n onlyScrollIfNeeded: true,\n },\n );\n };\n getNavigations = () => {\n const { prefixCls, suggestions } = this.props;\n const { focusedIndex } = this.state;\n return suggestions.length ? Children.map(suggestions, (element, index) => {\n const focusItem = index === focusedIndex;\n const ref = focusItem ? (node) => {\n this.focusItem = node;\n } : null;\n const mentionClass = cx(`${prefixCls}-dropdown-item`, {\n focus: focusItem,\n });\n if (isValidElement(element)) {\n return cloneElement(element, {\n className: mentionClass,\n onMouseDown: () => this.onMentionSelect(element.props.value, element.props.data),\n ref,\n });\n }\n return (\n <Nav\n ref={ref}\n className={mentionClass}\n onMouseDown={() => this.onMentionSelect(element)}\n >\n {element}\n </Nav>\n );\n }, this) : (\n <div className={`${prefixCls}-dropdown-notfound ${prefixCls}-dropdown-item`}>\n {this.props.notFoundContent}\n </div>\n );\n };\n\n render() {\n const { prefixCls, className, placement } = this.props;\n const { container, active } = this.state;\n const cls = cx({\n [`${prefixCls}-dropdown`]: true,\n [`${prefixCls}-dropdown-placement-${placement}`]: true,\n ...className,\n });\n const transitionName = placement === 'top' ? 'slide-down' : 'slide-up';\n\n const navigations = this.getNavigations();\n\n return container ? (\n <SuggetionWrapper renderReady={this.renderReady} container={container}>\n <Animate transitionName={transitionName}>\n {active ? (\n <div className={cls} ref={(node) => {\n this.dropdownContainer = node;\n }}>\n {navigations}\n </div>\n ) : null}\n </Animate>\n </SuggetionWrapper>\n ) : null;\n }\n}\n","// export this package's api\nimport { ContentState } from 'draft-js';\nimport Mention from './component/Mention.react';\nimport toString from './utils/exportContent';\nimport getMentions from './utils/getMentions';\nimport Nav from './component/Nav.react';\n\nfunction toEditorState(text) {\n return ContentState.createFromText(text);\n}\n\nMention.Nav = Nav;\nMention.toString = toString;\nMention.toEditorState = toEditorState;\nMention.getMentions = getMentions;\n\nexport {\n Nav,\n toString,\n toEditorState,\n getMentions,\n};\n\nexport default Mention;\n","import Map from 'core-js/library/fn/map';\n\nlet offset = new Map();\nconst mentionStore = {\n offset,\n getOffset() {\n return offset;\n },\n getTrigger(offsetKey) {\n const currentOffset = offset.get(offsetKey);\n return currentOffset && currentOffset.trigger;\n },\n activeSuggestion({ offsetKey }) {\n offset.set(offsetKey, {\n offsetKey,\n });\n },\n inActiveSuggestion({ offsetKey }) {\n offset.delete(offsetKey);\n },\n updateSuggestion({ offsetKey, position, trigger }) {\n offset.set(offsetKey, {\n offsetKey,\n position,\n trigger,\n });\n },\n};\n\nexport default mentionStore;\n","import { EditorState, Modifier } from 'draft-js';\nimport getSearchWord from './getSearchWord';\n\nexport default function clearMention(editorState) {\n const selection = editorState.getSelection();\n const searchWord = getSearchWord(editorState, selection);\n const { begin, end } = searchWord;\n const replacedContent = Modifier.replaceText(\n editorState.getCurrentContent(),\n selection.merge({\n anchorOffset: begin,\n focusOffset: end,\n }),\n '',\n null,\n );\n\n const InsertSpaceContent = Modifier.insertText(\n replacedContent,\n replacedContent.getSelectionAfter(),\n ' ',\n );\n\n const newEditorState = EditorState.push(editorState, InsertSpaceContent, 'insert-mention');\n return EditorState.forceSelection(newEditorState, InsertSpaceContent.getSelectionAfter());\n}\n","import React, { createElement } from 'react';\nimport noop from 'lodash/noop';\nimport Suggestions from '../component/Suggestions.react';\nimport SuggestionPortal from '../component/SuggestionPortal.react';\nimport MentionContent from '../component/MentionContent.react';\nimport mentionStore from '../model/mentionStore';\nimport exportContent from './exportContent';\nimport getRegExp from '../utils/getRegExp';\n\nfunction findWithRegex(regex, contentBlock, callback) {\n // Get the text from the contentBlock\n const text = contentBlock.getText();\n let matchArr;\n let start; // eslint-disable-line\n // Go through all matches in the text and return the indizes to the callback\n while ((matchArr = regex.exec(text)) !== null) { // eslint-disable-line\n start = matchArr.index;\n callback(start, start + matchArr[0].length);\n }\n}\n\nfunction mentionContentStrategy(contentBlock, callback, contentState) {\n contentBlock.findEntityRanges((character) => {\n const entityKey = character.getEntity();\n return entityKey && contentState.getEntity(entityKey).getType() === 'mention';\n }, callback);\n}\n\nconst MentionContentComponent = (props) => {\n const { entityKey, tag, callbacks } = props;\n const contentState = callbacks.getEditorState().getCurrentContent();\n const data = contentState.getEntity(entityKey).getData();\n return createElement(tag, { ...props, data });\n};\n\nexport default function createMention(config = {}) {\n const callbacks = {\n onChange: noop,\n onUpArrow: noop,\n onDownArrow: noop,\n getEditorState: noop,\n setEditorState: noop,\n handleReturn: noop,\n onBlur: noop,\n };\n const componentProps = {\n callbacks,\n mentionStore,\n };\n const suggestionRegex = getRegExp(config.prefix);\n\n const tag = config.tag || MentionContent;\n const decorators = [{\n strategy: (contentBlock, callback) => {\n findWithRegex(suggestionRegex, contentBlock, callback);\n },\n component: props => (<SuggestionPortal\n {...props}\n {...componentProps}\n style={config.mentionStyle}\n suggestionRegex={getRegExp(config.prefix)}\n />),\n }];\n if (config.mode !== 'immutable') {\n decorators.unshift({\n strategy: mentionContentStrategy,\n component: props => <MentionContentComponent tag={tag} {...props} callbacks={callbacks} />,\n });\n }\n\n return {\n name: 'mention',\n Suggestions: props => (<Suggestions {...props}\n {...componentProps}\n store={mentionStore}\n />),\n decorators,\n onChange: (editorState) => {\n return callbacks.onChange ? callbacks.onChange(editorState) : editorState;\n },\n callbacks,\n export: exportContent,\n };\n}\n","import { convertToRaw } from 'draft-js';\n\nfunction encodeContent(text) {\n return text\n .split('&')\n .join('&amp;')\n\n .split('<')\n .join('&lt;')\n\n .split('>')\n .join('&gt;')\n\n .split('\\xA0')\n .join('&nbsp;')\n\n .split('\\n')\n .join('<br > \\n');\n}\n\nclass MentionGenerator {\n constructor(contentState, options) {\n this.contentState = contentState;\n this.options = options;\n }\n generate() {\n const contentRaw = convertToRaw(this.contentState);\n return this.processContent(contentRaw);\n }\n processContent(contentRaw) {\n const { blocks } = contentRaw;\n const { encode } = this.options;\n return blocks.map((block) => {\n return encode ? encodeContent(block.text) : block.text;\n }).join(encode ? '<br />\\n' : '\\n');\n }\n}\n\nexport default function exportContent(contentState, options = {}) {\n return new MentionGenerator(contentState, options).generate();\n}\n","import getRegExp from './getRegExp';\n\nexport default function getMentions(contentState, prefix = '@') {\n const regex = getRegExp(prefix);\n const entities = [];\n contentState.getBlockMap().forEach((block) => {\n const blockText = block.getText();\n let matchArr;\n while ((matchArr = regex.exec(blockText)) !== null) { // eslint-disable-line\n entities.push(matchArr[0].trim());\n }\n });\n return entities;\n}\n","export default function getOffset(element, container) {\n const rect = element.getBoundingClientRect();\n if (rect.width || rect.height) {\n const elementContainer = container || element.parentElement;\n return {\n top: rect.top - elementContainer.clientTop,\n left: rect.left - elementContainer.clientLeft,\n };\n }\n return rect;\n}\n","\nexport default function getRegExp(prefix) {\n const prefixArray = Array.isArray(prefix) ? prefix : [prefix];\n let prefixToken = prefixArray.join('').replace(/(\\$|\\^)/g, '\\\\$1');\n\n if (prefixArray.length > 1) {\n prefixToken = `[${prefixToken}]`;\n }\n\n return new RegExp(`(\\\\s|^)(${prefixToken})[^\\\\s]*`, 'g');\n}\n","function getWord(text, position) {\n const str = String(text);\n /* eslint no-bitwise:0 */\n const pos = Number(position) >>> 0;\n\n // Search for the word's beginning and end.\n const left = str.slice(0, pos + 1).search(/\\S+$/);\n const right = str.slice(pos).search(/\\s/);\n\n\n if (right < 0) {\n return {\n word: str.slice(left),\n begin: left,\n end: str.length,\n };\n }\n\n // Return the word, using the located bounds to extract it from the string.\n return {\n word: str.slice(left, right + pos),\n begin: left,\n end: right + pos,\n };\n}\n\nexport default function getSearchWord(editorState, selection) {\n const anchorKey = selection.getAnchorKey();\n const anchorOffset = selection.getAnchorOffset() - 1;\n const currentContent = editorState.getCurrentContent();\n const currentBlock = currentContent.getBlockForKey(anchorKey);\n if (currentBlock) {\n const blockText = currentBlock.getText();\n return getWord(blockText, anchorOffset);\n }\n return '';\n}\n","import { EditorState, Modifier } from 'draft-js';\nimport getSearchWord from './getSearchWord';\n\nexport default function insertMention(editorState, mention, data, mode) {\n const entityMode = mode === 'immutable' ? 'IMMUTABLE' : 'MUTABLE';\n const selection = editorState.getSelection();\n const contentState = editorState.getCurrentContent();\n\n contentState.createEntity('mention', entityMode, data || mention);\n const searchWord = getSearchWord(editorState, selection);\n const { begin, end } = searchWord;\n const replacedContent = Modifier.replaceText(\n contentState,\n selection.merge({\n anchorOffset: begin,\n focusOffset: end,\n }),\n mention,\n null,\n contentState.getLastCreatedEntityKey()\n );\n\n const InsertSpaceContent = Modifier.insertText(\n replacedContent,\n replacedContent.getSelectionAfter(),\n ' ',\n );\n\n const newEditorState = EditorState.push(editorState, InsertSpaceContent, 'insert-mention');\n return EditorState.forceSelection(newEditorState, InsertSpaceContent.getSelectionAfter());\n}\n","import React, { cloneElement } from 'react';\nimport createReactClass from 'create-react-class';\nimport AsyncValidator from 'async-validator';\nimport get from 'lodash/get';\nimport has from 'lodash/has';\nimport set from 'lodash/set';\nimport createFieldsStore from './createFieldsStore';\nimport warning from '../../_util/warning';\nimport {\n argumentContainer,\n flattenArray,\n getParams,\n getValidateTriggers,\n getValueFromEvent,\n hasRules,\n identity,\n isEmptyObject,\n normalizeValidateRules,\n} from './utils';\n\nconst DEFAULT_TRIGGER = 'onChange';\n\nfunction createBaseForm(option = {}, mixins = []) {\n const {\n validateMessages,\n onFieldsChange,\n onValuesChange,\n mapProps = identity,\n mapPropsToFields,\n fieldNameProp,\n fieldMetaProp,\n fieldDataProp,\n formPropName = 'form',\n // @deprecated\n withRef,\n } = option;\n\n return function decorate(WrappedComponent) {\n const Form = createReactClass({\n mixins,\n\n getInitialState() {\n const fields = mapPropsToFields && mapPropsToFields(this.props);\n this.fieldsStore = createFieldsStore(fields || {});\n\n this.instances = {};\n this.cachedBind = {};\n this.clearedFieldMetaCache = {};\n ['getFieldsValue',\n 'getFieldValue',\n 'setFieldsInitialValue',\n 'getFieldsError',\n 'getFieldError',\n 'isFieldValidating',\n 'isFieldsValidating',\n 'isFieldsTouched',\n 'isFieldTouched',\n 'isModifiedFields',\n 'isModifiedFields'].forEach(key => this[key] = (...args) => {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'you should not use `ref` on enhanced form, please use `wrappedComponentRef`. ' +\n 'See: https://github.com/react-component/form#note-use-wrappedcomponentref-instead-of-withref-after-rc-form140',\n );\n }\n return this.fieldsStore[key](...args);\n });\n\n return {\n submitting: false,\n };\n },\n\n componentWillReceiveProps(nextProps) {\n if (mapPropsToFields) {\n this.fieldsStore.updateFields(mapPropsToFields(nextProps));\n }\n },\n\n onCollectCommon(name, action, args) {\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n if (fieldMeta[action]) {\n fieldMeta[action](...args);\n } else if (fieldMeta.originalProps && fieldMeta.originalProps[action]) {\n fieldMeta.originalProps[action](...args);\n }\n const value = fieldMeta.getValueFromEvent ? fieldMeta.getValueFromEvent(...args) : getValueFromEvent(...args);\n if (onValuesChange && value !== this.fieldsStore.getFieldValue(name)) {\n const valuesAll = this.fieldsStore.getAllValues();\n const valuesAllSet = {};\n valuesAll[name] = value;\n Object.keys(valuesAll).forEach(key => set(valuesAllSet, key, valuesAll[key]));\n onValuesChange(this.props, set({}, name, value), valuesAllSet);\n }\n const field = this.fieldsStore.getField(name);\n return ({ name, field: { ...field, value, touched: true }, fieldMeta });\n },\n\n onCollect(name_, action, ...args) {\n const { name, field, fieldMeta } = this.onCollectCommon(name_, action, args);\n const { validate } = fieldMeta;\n const newField = {\n ...field,\n dirty: hasRules(validate),\n };\n this.setFields({\n [name]: newField,\n });\n },\n\n onCollectValidate(name_, action, ...args) {\n const { field, fieldMeta } = this.onCollectCommon(name_, action, args);\n const newField = {\n ...field,\n dirty: true,\n };\n this.validateFieldsInternal([newField], {\n action,\n options: {\n firstFields: !!fieldMeta.validateFirst,\n },\n });\n },\n\n getCacheBind(name, action, fn) {\n if (!this.cachedBind[name]) {\n this.cachedBind[name] = {};\n }\n const cache = this.cachedBind[name];\n if (!cache[action]) {\n cache[action] = fn.bind(this, name, action);\n }\n return cache[action];\n },\n\n recoverClearedField(name) {\n if (this.clearedFieldMetaCache[name]) {\n this.fieldsStore.setFields({\n [name]: this.clearedFieldMetaCache[name].field,\n });\n this.fieldsStore.setFieldMeta(name, this.clearedFieldMetaCache[name].meta);\n delete this.clearedFieldMetaCache[name];\n }\n },\n\n getFieldDecorator(name, fieldOption) {\n const props = this.getFieldProps(name, fieldOption);\n return (fieldElem) => {\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n const originalProps = fieldElem.props;\n if (process.env.NODE_ENV !== 'production') {\n const valuePropName = fieldMeta.valuePropName;\n warning(\n !(valuePropName in originalProps),\n `\\`getFieldDecorator\\` will override \\`${valuePropName}\\`, ` +\n `so please don't set \\`${valuePropName}\\` directly ` +\n `and use \\`setFieldsValue\\` to set it.`,\n );\n const defaultValuePropName =\n `default${valuePropName[0].toUpperCase()}${valuePropName.slice(1)}`;\n warning(\n !(defaultValuePropName in originalProps),\n `\\`${defaultValuePropName}\\` is invalid ` +\n `for \\`getFieldDecorator\\` will set \\`${valuePropName}\\`,` +\n ` please use \\`option.initialValue\\` instead.`,\n );\n }\n fieldMeta.originalProps = originalProps;\n fieldMeta.ref = fieldElem.ref;\n return cloneElement(fieldElem, {\n ...props,\n ...this.fieldsStore.getFieldValuePropValue(fieldMeta),\n });\n };\n },\n\n getFieldProps(name, usersFieldOption = {}) {\n if (!name) {\n throw new Error('Must call `getFieldProps` with valid name string!');\n }\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this.fieldsStore.isValidNestedFieldName(name),\n 'One field name cannot be part of another, e.g. `a` and `a.b`.',\n );\n warning(\n !('exclusive' in usersFieldOption),\n '`option.exclusive` of `getFieldProps`|`getFieldDecorator` had been remove.',\n );\n }\n\n delete this.clearedFieldMetaCache[name];\n\n const fieldOption = {\n name,\n trigger: DEFAULT_TRIGGER,\n valuePropName: 'value',\n validate: [],\n ...usersFieldOption,\n };\n\n const {\n rules,\n trigger,\n validateTrigger = trigger,\n validate,\n } = fieldOption;\n\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n if ('initialValue' in fieldOption) {\n fieldMeta.initialValue = fieldOption.initialValue;\n }\n\n const inputProps = {\n ...this.fieldsStore.getFieldValuePropValue(fieldOption),\n ref: this.getCacheBind(name, `${name}__ref`, this.saveRef),\n };\n if (fieldNameProp) {\n inputProps[fieldNameProp] = name;\n }\n\n const validateRules = normalizeValidateRules(validate, rules, validateTrigger);\n const validateTriggers = getValidateTriggers(validateRules);\n validateTriggers.forEach((action) => {\n if (inputProps[action]) return;\n inputProps[action] = this.getCacheBind(name, action, this.onCollectValidate);\n });\n\n // make sure that the value will be collect\n if (trigger && validateTriggers.indexOf(trigger) === -1) {\n inputProps[trigger] = this.getCacheBind(name, trigger, this.onCollect);\n }\n\n const meta = {\n ...fieldMeta,\n ...fieldOption,\n validate: validateRules,\n };\n this.fieldsStore.setFieldMeta(name, meta);\n if (fieldMetaProp) {\n inputProps[fieldMetaProp] = meta;\n }\n\n if (fieldDataProp) {\n inputProps[fieldDataProp] = this.fieldsStore.getField(name);\n }\n\n return inputProps;\n },\n\n getFieldInstance(name) {\n return this.instances[name];\n },\n\n getRules(fieldMeta, action) {\n const actionRules = fieldMeta.validate.filter((item) => {\n return !action || item.trigger.indexOf(action) >= 0;\n }).map((item) => item.rules);\n return flattenArray(actionRules);\n },\n\n setFields(maybeNestedFields, callback) {\n const fields = this.fieldsStore.flattenRegisteredFields(maybeNestedFields);\n this.fieldsStore.setFields(fields);\n if (onFieldsChange) {\n const changedFields = Object.keys(fields)\n .reduce((acc, name) => set(acc, name, this.fieldsStore.getField(name)), {});\n onFieldsChange(this.props, changedFields, this.fieldsStore.getNestedAllFields());\n }\n this.forceUpdate(callback);\n },\n\n resetFields(ns) {\n const newFields = this.fieldsStore.resetFields(ns);\n if (Object.keys(newFields).length > 0) {\n this.setFields(newFields);\n }\n if (ns) {\n const names = Array.isArray(ns) ? ns : [ns];\n names.forEach(name => delete this.clearedFieldMetaCache[name]);\n } else {\n this.clearedFieldMetaCache = {};\n }\n },\n\n setFieldsValue(changedValues, callback) {\n const { fieldsMeta } = this.fieldsStore;\n const values = this.fieldsStore.flattenRegisteredFields(changedValues);\n const newFields = Object.keys(values).reduce((acc, name) => {\n const isRegistered = fieldsMeta[name];\n if (process.env.NODE_ENV !== 'production') {\n warning(\n isRegistered,\n 'Cannot use `setFieldsValue` until ' +\n 'you use `getFieldDecorator` or `getFieldProps` to register it.',\n );\n }\n if (isRegistered) {\n const value = values[name];\n acc[name] = {\n value,\n };\n }\n return acc;\n }, {});\n this.setFields(newFields, callback);\n if (onValuesChange) {\n const allValues = this.fieldsStore.getAllValues();\n onValuesChange(this.props, changedValues, allValues);\n }\n },\n\n saveRef(name, _, component) {\n if (!component) {\n // after destroy, delete data\n this.clearedFieldMetaCache[name] = {\n field: this.fieldsStore.getField(name),\n meta: this.fieldsStore.getFieldMeta(name),\n };\n this.fieldsStore.clearField(name);\n delete this.instances[name];\n delete this.cachedBind[name];\n return;\n }\n this.recoverClearedField(name);\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n if (fieldMeta) {\n const ref = fieldMeta.ref;\n if (ref) {\n if (typeof ref === 'string') {\n throw new Error(`can not set ref string for ${name}`);\n }\n ref(component);\n }\n }\n this.instances[name] = component;\n },\n\n validateFieldsInternal(fields, {\n fieldNames,\n action,\n options = {},\n }, callback) {\n const allRules = {};\n const allValues = {};\n const allFields = {};\n const alreadyErrors = {};\n fields.forEach((field) => {\n const name = field.name;\n if (options.force !== true && field.dirty === false) {\n if (field.errors) {\n set(alreadyErrors, name, { errors: field.errors });\n }\n return;\n }\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n const newField = {\n ...field,\n };\n newField.errors = undefined;\n newField.validating = true;\n newField.dirty = true;\n allRules[name] = this.getRules(fieldMeta, action);\n allValues[name] = newField.value;\n allFields[name] = newField;\n });\n this.setFields(allFields);\n // in case normalize\n Object.keys(allValues).forEach((f) => {\n allValues[f] = this.fieldsStore.getFieldValue(f);\n });\n if (callback && isEmptyObject(allFields)) {\n callback(isEmptyObject(alreadyErrors) ? null : alreadyErrors,\n this.fieldsStore.getFieldsValue(fieldNames),\n this.fieldsStore.isModifiedFields(fieldNames));\n return;\n }\n const validator = new AsyncValidator(allRules);\n if (validateMessages) {\n validator.messages(validateMessages);\n }\n validator.validate(allValues, options, (errors) => {\n const errorsGroup = {\n ...alreadyErrors,\n };\n if (errors && errors.length) {\n errors.forEach((e) => {\n const fieldName = e.field;\n if (!has(errorsGroup, fieldName)) {\n set(errorsGroup, fieldName, { errors: [] });\n }\n const fieldErrors = get(errorsGroup, fieldName.concat('.errors'));\n fieldErrors.push(e);\n });\n }\n const expired = [];\n const nowAllFields = {};\n Object.keys(allRules).forEach((name) => {\n const fieldErrors = get(errorsGroup, name);\n const nowField = this.fieldsStore.getField(name);\n // avoid concurrency problems\n if (nowField.value !== allValues[name]) {\n expired.push({\n name,\n });\n } else {\n nowField.errors = fieldErrors && fieldErrors.errors;\n nowField.value = allValues[name];\n nowField.validating = false;\n nowField.dirty = false;\n nowAllFields[name] = nowField;\n }\n });\n this.setFields(nowAllFields);\n if (callback) {\n if (expired.length) {\n expired.forEach(({ name }) => {\n const fieldErrors = [{\n message: `${name} need to revalidate`,\n field: name,\n }];\n set(errorsGroup, name, {\n expired: true,\n errors: fieldErrors,\n });\n });\n }\n\n callback(isEmptyObject(errorsGroup) ? null : errorsGroup,\n this.fieldsStore.getFieldsValue(fieldNames),\n this.fieldsStore.isModifiedFields(fieldNames));\n }\n });\n },\n\n validateFields(ns, opt, cb) {\n const { names, callback, options } = getParams(ns, opt, cb);\n const fieldNames = names ? this.fieldsStore.getValidFieldsFullName(names) : this.fieldsStore.getValidFieldsName();\n const fields = fieldNames\n .filter(name => {\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n return hasRules(fieldMeta.validate);\n }).map((name) => {\n const field = this.fieldsStore.getField(name);\n field.value = this.fieldsStore.getFieldValue(name);\n return field;\n });\n if (!fields.length) {\n if (callback) {\n callback(null,\n this.fieldsStore.getFieldsValue(fieldNames),\n this.fieldsStore.isModifiedFields(fieldNames));\n }\n return;\n }\n if (!('firstFields' in options)) {\n options.firstFields = fieldNames.filter((name) => {\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n return !!fieldMeta.validateFirst;\n });\n }\n this.validateFieldsInternal(fields, {\n fieldNames,\n options,\n }, callback);\n },\n\n isSubmitting() {\n if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n warning(\n false,\n '`isSubmitting` is deprecated. ' +\n 'Actually, it\\'s more convenient to handle submitting status by yourself.',\n );\n }\n return this.state.submitting;\n },\n\n submit(callback) {\n if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n warning(\n false,\n '`submit` is deprecated.' +\n 'Actually, it\\'s more convenient to handle submitting status by yourself.',\n );\n }\n const fn = () => {\n this.setState({\n submitting: false,\n });\n };\n this.setState({\n submitting: true,\n });\n callback(fn);\n },\n\n render() {\n const { wrappedComponentRef, ...restProps } = this.props;\n const formProps = {\n [formPropName]: this.getForm(),\n };\n if (withRef) {\n if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n warning(\n false,\n '`withRef` is deprecated, please use `wrappedComponentRef` instead. ' +\n 'See: https://github.com/react-component/form#note-use-wrappedcomponentref-instead-of-withref-after-rc-form140',\n );\n }\n formProps.ref = 'wrappedComponent';\n } else if (wrappedComponentRef) {\n formProps.ref = wrappedComponentRef;\n }\n const props = mapProps.call(this, {\n ...formProps,\n ...restProps,\n });\n return <WrappedComponent {...props} />;\n },\n });\n\n return argumentContainer(Form, WrappedComponent);\n };\n}\n\nexport default createBaseForm;\n","import ReactDOM from 'react-dom';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport has from 'lodash/has';\nimport createBaseForm from './createBaseForm';\nimport { mixin as formMixin } from './createForm';\nimport { getParams } from './utils';\n\nfunction computedStyle(el, prop) {\n const getComputedStyle = window.getComputedStyle;\n const style =\n // If we have getComputedStyle\n getComputedStyle ?\n // Query it\n // TODO: From CSS-Query notes, we might need (node, null) for FF\n getComputedStyle(el) :\n\n // Otherwise, we are in IE and use currentStyle\n el.currentStyle;\n if (style) {\n return style\n [\n // Switch to camelCase for CSSOM\n // DEV: Grabbed from jQuery\n // https://github.com/jquery/jquery/blob/1.9-stable/src/css.js#L191-L194\n // https://github.com/jquery/jquery/blob/1.9-stable/src/core.js#L593-L597\n prop.replace(/-(\\w)/gi, (word, letter) => {\n return letter.toUpperCase();\n })\n ];\n }\n return undefined;\n}\n\nfunction getScrollableContainer(n) {\n let node = n;\n let nodeName;\n /* eslint no-cond-assign:0 */\n while ((nodeName = node.nodeName.toLowerCase()) !== 'body') {\n const overflowY = computedStyle(node, 'overflowY');\n // https://stackoverflow.com/a/36900407/3040605\n if (\n node !== n &&\n (overflowY === 'auto' || overflowY === 'scroll') &&\n node.scrollHeight > node.clientHeight\n ) {\n return node;\n }\n node = node.parentNode;\n }\n return nodeName === 'body' ? node.ownerDocument : node;\n}\n\nconst mixin = {\n getForm() {\n return {\n ...formMixin.getForm.call(this),\n validateFieldsAndScroll: this.validateFieldsAndScroll,\n };\n },\n\n validateFieldsAndScroll(ns, opt, cb) {\n const { names, callback, options } = getParams(ns, opt, cb);\n\n const newCb = (error, values, modify) => {\n if (error) {\n const validNames = this.fieldsStore.getValidFieldsName();\n let firstNode;\n let firstTop;\n for (const name of validNames) {\n if (has(error, name)) {\n const instance = this.getFieldInstance(name);\n if (instance) {\n const node = ReactDOM.findDOMNode(instance);\n const top = node.getBoundingClientRect().top;\n if (firstTop === undefined || firstTop > top) {\n firstTop = top;\n firstNode = node;\n }\n }\n }\n }\n if (firstNode) {\n const c = options.container || getScrollableContainer(firstNode);\n scrollIntoView(firstNode, c, {\n onlyScrollIfNeeded: true,\n ...options.scroll,\n });\n }\n }\n\n if (typeof callback === 'function') {\n callback(error, values, modify);\n }\n };\n\n return this.validateFields(names, options, newCb);\n },\n};\n\nfunction createDOMForm(option) {\n return createBaseForm({\n ...option,\n }, [mixin]);\n}\n\nexport default createDOMForm;\n","import set from 'lodash/set';\nimport isEqual from 'lodash/isEqual';\nimport createFormField, { isFormField } from './createFormField';\nimport { flattenFields, getErrorStrs, startsWith, } from './utils';\n\nfunction partOf(a, b) {\n return b.indexOf(a) === 0 && ['.', '['].indexOf(b[a.length]) !== -1;\n}\n\nclass FieldsStore {\n constructor(fields) {\n this.fields = this.flattenFields(fields);\n this.fieldsMeta = {};\n }\n\n updateFields(fields) {\n this.fields = this.flattenFields(fields);\n }\n\n flattenFields(fields) {\n return flattenFields(\n fields,\n (_, node) => isFormField(node),\n 'You must wrap field data with `createFormField`.'\n );\n }\n\n flattenRegisteredFields(fields) {\n const validFieldsName = this.getAllFieldsName();\n return flattenFields(\n fields,\n path => validFieldsName.indexOf(path) >= 0,\n 'You cannot set field before registering it.'\n );\n }\n\n setFieldsInitialValue = (initialValues) => {\n const flattenedInitialValues = this.flattenRegisteredFields(initialValues);\n const fieldsMeta = this.fieldsMeta;\n Object.keys(flattenedInitialValues).forEach(name => {\n if (fieldsMeta[name]) {\n this.setFieldMeta(name, {\n ...this.getFieldMeta(name),\n initialValue: flattenedInitialValues[name],\n });\n }\n });\n }\n\n setFields(fields) {\n const fieldsMeta = this.fieldsMeta;\n const nowFields = {\n ...this.fields,\n ...fields,\n };\n const nowValues = {};\n Object.keys(fieldsMeta)\n .forEach((f) => nowValues[f] = this.getValueFromFields(f, nowFields));\n Object.keys(nowValues).forEach((f) => {\n const value = nowValues[f];\n const fieldMeta = this.getFieldMeta(f);\n if (fieldMeta && fieldMeta.normalize) {\n const nowValue =\n fieldMeta.normalize(value, this.getValueFromFields(f, this.fields), nowValues);\n if (nowValue !== value) {\n nowFields[f] = {\n ...nowFields[f],\n value: nowValue,\n };\n }\n }\n });\n this.fields = nowFields;\n }\n\n resetFields(ns) {\n const { fields } = this;\n const names = ns ?\n this.getValidFieldsFullName(ns) :\n this.getAllFieldsName();\n return names.reduce((acc, name) => {\n const field = fields[name];\n if (field && 'value' in field) {\n acc[name] = {};\n }\n return acc;\n }, {});\n }\n\n setFieldMeta(name, meta) {\n this.fieldsMeta[name] = meta;\n }\n\n getFieldMeta(name) {\n this.fieldsMeta[name] = this.fieldsMeta[name] || {};\n return this.fieldsMeta[name];\n }\n\n getValueFromFields(name, fields) {\n const field = fields[name];\n if (field && 'value' in field) {\n return field.value;\n }\n const fieldMeta = this.getFieldMeta(name);\n return fieldMeta && fieldMeta.initialValue;\n }\n\n getAllValues = () => {\n const { fieldsMeta, fields } = this;\n return Object.keys(fieldsMeta)\n .reduce((acc, name) => set(acc, name, this.getValueFromFields(name, fields)), {});\n }\n\n getValidFieldsName() {\n const { fieldsMeta } = this;\n return fieldsMeta ?\n Object.keys(fieldsMeta).filter(name => !this.getFieldMeta(name).hidden) :\n [];\n }\n\n getAllFieldsName() {\n const { fieldsMeta } = this;\n return fieldsMeta ? Object.keys(fieldsMeta) : [];\n }\n\n getValidFieldsFullName(maybePartialName) {\n const maybePartialNames = Array.isArray(maybePartialName) ?\n maybePartialName : [maybePartialName];\n return this.getValidFieldsName()\n .filter(fullName => maybePartialNames.some(partialName => (\n fullName === partialName || (\n startsWith(fullName, partialName) &&\n ['.', '['].indexOf(fullName[partialName.length]) >= 0\n )\n )));\n }\n\n getFieldValuePropValue(fieldMeta) {\n const { name, getValueProps, valuePropName } = fieldMeta;\n const field = this.getField(name);\n const fieldValue = 'value' in field ?\n field.value : fieldMeta.initialValue;\n if (getValueProps) {\n return getValueProps(fieldValue);\n }\n return { [valuePropName]: fieldValue };\n }\n\n getField(name) {\n return {\n ...this.fields[name],\n name,\n };\n }\n\n getNotCollectedFields() {\n return this.getValidFieldsName()\n .filter(name => !this.fields[name])\n .map(name => ({\n name,\n dirty: false,\n value: this.getFieldMeta(name).initialValue,\n }))\n .reduce((acc, field) => set(acc, field.name, createFormField(field)), {});\n }\n\n getNestedAllFields() {\n return Object.keys(this.fields)\n .reduce(\n (acc, name) => set(acc, name, createFormField(this.fields[name])),\n this.getNotCollectedFields()\n );\n }\n\n getFieldMember(name, member) {\n return this.getField(name)[member];\n }\n\n getNestedFields(names, getter) {\n const fields = names || this.getValidFieldsName();\n return fields.reduce((acc, f) => set(acc, f, getter(f)), {});\n }\n\n getNestedField(name, getter) {\n const fullNames = this.getValidFieldsFullName(name);\n if (\n fullNames.length === 0 || // Not registered\n (fullNames.length === 1 && fullNames[0] === name) // Name already is full name.\n ) {\n return getter(name);\n }\n const isArrayValue = fullNames[0][name.length] === '[';\n const suffixNameStartIndex = isArrayValue ? name.length : name.length + 1;\n return fullNames\n .reduce(\n (acc, fullName) => set(\n acc,\n fullName.slice(suffixNameStartIndex),\n getter(fullName)\n ),\n isArrayValue ? [] : {}\n );\n }\n\n getFieldsValue = (names) => {\n return this.getNestedFields(names, this.getFieldValue);\n }\n\n getFieldValue = (name) => {\n const { fields } = this;\n return this.getNestedField(name, (fullName) => this.getValueFromFields(fullName, fields));\n }\n\n getFieldsError = (names) => {\n return this.getNestedFields(names, this.getFieldError);\n }\n\n getFieldError = (name) => {\n return this.getNestedField(\n name,\n (fullName) => getErrorStrs(this.getFieldMember(fullName, 'errors'))\n );\n }\n\n isFieldValidating = (name) => {\n return this.getFieldMember(name, 'validating');\n }\n\n isFieldsValidating = (ns) => {\n const names = ns || this.getValidFieldsName();\n return names.some((n) => this.isFieldValidating(n));\n }\n\n isFieldTouched = (name) => {\n return this.getFieldMember(name, 'touched');\n }\n\n isFieldsTouched = (ns) => {\n const names = ns || this.getValidFieldsName();\n return names.some((n) => this.isFieldTouched(n));\n }\n\n // @private\n // BG: `a` and `a.b` cannot be use in the same form\n isValidNestedFieldName(name) {\n const names = this.getAllFieldsName();\n return names.every(n => !partOf(n, name) && !partOf(name, n));\n }\n\n clearField(name) {\n delete this.fields[name];\n delete this.fieldsMeta[name];\n }\n\n isModifiedField = (name) => {\n const value = this.getFieldValue(name);\n const fieldMeta = this.getFieldMeta(name);\n const initialValue = fieldMeta && fieldMeta.initialValue;\n if (!value && !initialValue) {\n return false;\n }\n if (!isEqual(value, initialValue)) {\n return true;\n }\n return false;\n }\n\n isModifiedFields = (names) => {\n let i;\n let length;\n const fieldNames = names ?\n this.getValidFieldsFullName(names) :\n this.getValidFieldsName();\n if (fieldNames && Array.isArray(fieldNames)) {\n for (i = 0, length = fieldNames.length; i < length; i++) {\n if (this.isModifiedField(fieldNames[i])) {\n return true;\n }\n }\n }\n return false;\n }\n\n}\n\nexport default function createFieldsStore(fields) {\n return new FieldsStore(fields);\n}\n","import createBaseForm from './createBaseForm';\n\nexport const mixin = {\n getForm() {\n return {\n getFieldsValue: this.fieldsStore.getFieldsValue,\n getFieldValue: this.fieldsStore.getFieldValue,\n getFieldInstance: this.getFieldInstance,\n setFieldsValue: this.setFieldsValue,\n setFields: this.setFields,\n setFieldsInitialValue: this.fieldsStore.setFieldsInitialValue,\n getFieldDecorator: this.getFieldDecorator,\n getFieldProps: this.getFieldProps,\n getFieldsError: this.fieldsStore.getFieldsError,\n getFieldError: this.fieldsStore.getFieldError,\n isFieldValidating: this.fieldsStore.isFieldValidating,\n isFieldsValidating: this.fieldsStore.isFieldsValidating,\n isFieldsTouched: this.fieldsStore.isFieldsTouched,\n isFieldTouched: this.fieldsStore.isFieldTouched,\n isSubmitting: this.isSubmitting,\n submit: this.submit,\n validateFields: this.validateFields,\n resetFields: this.resetFields,\n isModifiedFields: this.fieldsStore.isModifiedFields,\n isModifiedField: this.fieldsStore.isModifiedField,\n };\n },\n};\n\nfunction createForm(options) {\n return createBaseForm(options, [mixin]);\n}\n\nexport default createForm;\n","class Field {\n constructor(fields) {\n Object.assign(this, fields);\n }\n}\n\nexport function isFormField(obj) {\n return obj instanceof Field;\n}\n\nexport default function createFormField(field) {\n if (isFormField(field)) {\n return field;\n }\n return new Field(field);\n}\n","// export this package's api\nimport createForm from './createForm';\nimport createFormField from './createFormField';\n\nexport { createForm, createFormField };\n","import hoistStatics from 'hoist-non-react-statics';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'WrappedComponent';\n}\n\nexport function argumentContainer(Container, WrappedComponent) {\n /* eslint no-param-reassign:0 */\n Container.displayName = `Form(${getDisplayName(WrappedComponent)})`;\n Container.WrappedComponent = WrappedComponent;\n return hoistStatics(Container, WrappedComponent);\n}\n\nexport function identity(obj) {\n return obj;\n}\n\nexport function flattenArray(arr) {\n return Array.prototype.concat.apply([], arr);\n}\n\nexport function treeTraverse(path = '', tree, isLeafNode, errorMessage, callback) {\n if (isLeafNode(path, tree)) {\n callback(path, tree);\n } else if (tree === undefined) {\n return;\n } else if (Array.isArray(tree)) {\n tree.forEach((subTree, index) => treeTraverse(\n `${path}[${index}]`,\n subTree,\n isLeafNode,\n errorMessage,\n callback\n ));\n } else { // It's object and not a leaf node\n if (typeof tree !== 'object') {\n console.error(errorMessage);\n return;\n }\n Object.keys(tree).forEach(subTreeKey => {\n const subTree = tree[subTreeKey];\n treeTraverse(\n `${path}${path ? '.' : ''}${subTreeKey}`,\n subTree,\n isLeafNode,\n errorMessage,\n callback\n );\n });\n }\n}\n\nexport function flattenFields(maybeNestedFields, isLeafNode, errorMessage) {\n const fields = {};\n treeTraverse(undefined, maybeNestedFields, isLeafNode, errorMessage, (path, node) => {\n fields[path] = node;\n });\n return fields;\n}\n\nexport function normalizeValidateRules(validate, rules, validateTrigger) {\n const validateRules = validate.map((item) => {\n const newItem = {\n ...item,\n trigger: item.trigger || [],\n };\n if (typeof newItem.trigger === 'string') {\n newItem.trigger = [newItem.trigger];\n }\n return newItem;\n });\n if (rules) {\n validateRules.push({\n trigger: validateTrigger ? [].concat(validateTrigger) : [],\n rules,\n });\n }\n return validateRules;\n}\n\nexport function getValidateTriggers(validateRules) {\n return validateRules\n .filter(item => !!item.rules && item.rules.length)\n .map(item => item.trigger)\n .reduce((pre, curr) => pre.concat(curr), []);\n}\n\nexport function getValueFromEvent(e) {\n // To support custom element\n if (!e || !e.target) {\n return e;\n }\n const { target } = e;\n return target.type === 'checkbox' ? target.checked : target.value;\n}\n\nexport function getErrorStrs(errors) {\n if (errors) {\n return errors.map((e) => {\n if (e && e.message) {\n return e.message;\n }\n return e;\n });\n }\n return errors;\n}\n\nexport function getParams(ns, opt, cb) {\n let names = ns;\n let options = opt;\n let callback = cb;\n if (cb === undefined) {\n if (typeof names === 'function') {\n callback = names;\n options = {};\n names = undefined;\n } else if (Array.isArray(names)) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n } else {\n options = options || {};\n }\n } else {\n callback = options;\n options = names || {};\n names = undefined;\n }\n }\n return {\n names,\n options,\n callback,\n };\n}\n\nexport function isEmptyObject(obj) {\n return Object.keys(obj).length === 0;\n}\n\nexport function hasRules(validate) {\n if (validate) {\n return validate.some((item) => {\n return item.rules && item.rules.length;\n });\n }\n return false;\n}\n\nexport function startsWith(str, prefix) {\n return str.lastIndexOf(prefix, 0) === 0;\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Touchable from 'rmc-feedback';\n\nexport default class InputHandler extends Component {\n static propTypes = {\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n onTouchStart: PropTypes.func,\n onTouchEnd: PropTypes.func,\n onMouseDown: PropTypes.func,\n onMouseUp: PropTypes.func,\n onMouseLeave: PropTypes.func,\n };\n\n render() {\n const {\n prefixCls,\n disabled,\n onTouchStart,\n onTouchEnd,\n onMouseDown,\n onMouseUp,\n onMouseLeave,\n ...otherProps\n } = this.props;\n return (\n <Touchable\n disabled={disabled}\n onTouchStart={onTouchStart}\n onTouchEnd={onTouchEnd}\n onMouseDown={onMouseDown}\n onMouseUp={onMouseUp}\n onMouseLeave={onMouseLeave}\n activeClassName={`${prefixCls}-handler-active`}\n >\n <span {...otherProps} />\n </Touchable>\n );\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport noop from 'lodash/noop';\nimport isNegativeZero from 'is-negative-zero';\nimport InputHandler from './InputHandler';\nimport Icon from '../../icon';\nimport Input from '../../input';\nimport { preventDefault } from '../../_util/EventManager';\n\nfunction defaultParser(input) {\n return input.replace(/[^\\w\\.-]+/g, '');\n}\n\n/**\n * When click and hold on a button - the speed of auto changin the value.\n */\nconst SPEED = 200;\n\n/**\n * When click and hold on a button - the delay before auto changin the value.\n */\nconst DELAY = 600;\n\n/**\n * Max Safe Integer -- on IE this is not available, so manually set the number in that case.\n * The reason this is used, instead of Infinity is because numbers above the MSI are unstable\n */\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;\n\nexport default class InputNumber extends Component {\n static propTypes = {\n value: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n defaultValue: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n focusOnUpDown: PropTypes.bool,\n autoFocus: PropTypes.bool,\n onChange: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n prefixCls: PropTypes.string,\n tabIndex: PropTypes.string,\n disabled: PropTypes.bool,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n readOnly: PropTypes.bool,\n max: PropTypes.number,\n min: PropTypes.number,\n step: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n upHandler: PropTypes.node,\n downHandler: PropTypes.node,\n useTouch: PropTypes.bool,\n formatter: PropTypes.func,\n parser: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onMouseOut: PropTypes.func,\n precision: PropTypes.number,\n required: PropTypes.bool,\n pattern: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n };\n\n static defaultProps = {\n focusOnUpDown: true,\n useTouch: false,\n prefixCls: 'rc-input-number',\n min: -MAX_SAFE_INTEGER,\n step: 1,\n style: {},\n onChange: noop,\n onKeyDown: noop,\n onFocus: noop,\n onBlur: noop,\n parser: defaultParser,\n required: false,\n };\n\n constructor(props) {\n super(props);\n\n let value;\n if ('value' in props) {\n value = props.value;\n } else {\n value = props.defaultValue;\n }\n value = this.toNumber(value);\n\n this.state = {\n inputValue: this.toPrecisionAsStep(value),\n value,\n focused: props.autoFocus,\n };\n }\n\n componentDidMount() {\n this.componentDidUpdate();\n }\n\n componentWillReceiveProps(nextProps) {\n if ('value' in nextProps) {\n const value = this.state.focused\n ? nextProps.value : this.getValidValue(nextProps.value, nextProps.min, nextProps.max);\n this.setState({\n value,\n inputValue: this.inputting ? value : this.toPrecisionAsStep(value),\n });\n }\n }\n\n componentWillUpdate() {\n try {\n this.start = this.input.selectionStart;\n this.end = this.input.selectionEnd;\n } catch (e) {\n // Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n }\n\n componentDidUpdate() {\n // pressingUpOrDown is true means that someone just click up or down button\n if (!this.pressingUpOrDown) {\n return;\n }\n if (this.props.focusOnUpDown && this.state.focused) {\n const selectionRange = this.input.setSelectionRange;\n if (selectionRange &&\n typeof selectionRange === 'function' &&\n this.start !== undefined &&\n this.end !== undefined) {\n this.input.setSelectionRange(this.start, this.end);\n } else {\n this.focus();\n }\n this.pressingUpOrDown = false;\n }\n }\n\n componentWillUnmount() {\n this.stop();\n }\n\n onKeyDown = (e, ...args) => {\n if (e.keyCode === 38) {\n const ratio = this.getRatio(e);\n this.up(e, ratio);\n this.stop();\n } else if (e.keyCode === 40) {\n const ratio = this.getRatio(e);\n this.down(e, ratio);\n this.stop();\n }\n const { onKeyDown } = this.props;\n if (onKeyDown) {\n onKeyDown(e, ...args);\n }\n };\n\n onKeyUp = (e, ...args) => {\n this.stop();\n const { onKeyUp } = this.props;\n if (onKeyUp) {\n onKeyUp(e, ...args);\n }\n };\n\n onChange = (e) => {\n if (this.state.focused) {\n this.inputting = true;\n }\n const input = this.props.parser(this.getValueFromEvent(e));\n this.setState({ inputValue: input });\n this.props.onChange(this.toNumberWhenUserInput(input)); // valid number or invalid string\n };\n\n onFocus = (...args) => {\n this.setState({\n focused: true,\n });\n this.props.onFocus(...args);\n };\n\n onBlur = (e, ...args) => {\n this.inputting = false;\n this.setState({\n focused: false,\n });\n const value = this.getCurrentValidValue(this.state.inputValue);\n e.persist(); // fix https://github.com/react-component/input-number/issues/51\n this.setValue(value, () => {\n this.props.onBlur(e, ...args);\n });\n };\n\n getCurrentValidValue(value) {\n let val = value;\n if (val === '') {\n val = '';\n } else if (!this.isNotCompleteNumber(val)) {\n val = this.getValidValue(val);\n } else {\n val = this.state.value;\n }\n return this.toNumber(val);\n }\n\n getRatio(e) {\n let ratio = 1;\n if (e.metaKey || e.ctrlKey) {\n ratio = 0.1;\n } else if (e.shiftKey) {\n ratio = 10;\n }\n return ratio;\n }\n\n getValueFromEvent(e) {\n // optimize for chinese input expierence\n return e.target.value.trim().replace(/。/g, '.');\n }\n\n getValidValue(value, min = this.props.min, max = this.props.max) {\n let val = parseFloat(value, 10);\n if (isNaN(val)) {\n return value;\n }\n if (val < min) {\n val = min;\n }\n if (val > max) {\n val = max;\n }\n return val;\n }\n\n setValue(v, callback) {\n // trigger onChange\n const newValue = this.isNotCompleteNumber(parseFloat(v, 10)) ? undefined : parseFloat(v, 10);\n const changed = newValue !== this.state.value ||\n `${newValue}` !== `${this.state.inputValue}`;\n if (!('value' in this.props)) {\n this.setState({\n value: newValue,\n inputValue: this.toPrecisionAsStep(v),\n }, callback);\n } else {\n // always set input value same as value\n this.setState({\n inputValue: this.toPrecisionAsStep(this.state.value),\n }, callback);\n }\n if (changed) {\n this.props.onChange(newValue);\n }\n }\n\n getPrecision(value) {\n if ('precision' in this.props) {\n return this.props.precision;\n }\n const valueString = value.toString();\n if (valueString.indexOf('e-') >= 0) {\n return parseInt(valueString.slice(valueString.indexOf('e-') + 2), 10);\n }\n let precision = 0;\n if (valueString.indexOf('.') >= 0) {\n precision = valueString.length - valueString.indexOf('.') - 1;\n }\n return precision;\n }\n\n // step={1.0} value={1.51}\n // press +\n // then value should be 2.51, rather than 2.5\n // if this.props.precision is undefined\n // https://github.com/react-component/input-number/issues/39\n getMaxPrecision(currentValue, ratio = 1) {\n if ('precision' in this.props) {\n return this.props.precision;\n }\n const { step } = this.props;\n const ratioPrecision = this.getPrecision(ratio);\n const stepPrecision = this.getPrecision(step);\n const currentValuePrecision = this.getPrecision(currentValue);\n if (!currentValue) {\n return ratioPrecision + stepPrecision;\n }\n return Math.max(currentValuePrecision, ratioPrecision + stepPrecision);\n }\n\n getPrecisionFactor(currentValue, ratio = 1) {\n const precision = this.getMaxPrecision(currentValue, ratio);\n return Math.pow(10, precision);\n }\n\n focus() {\n this.input.focus();\n }\n\n blur() {\n this.input.blur();\n }\n\n formatWrapper(num) {\n // http://2ality.com/2012/03/signedzero.html\n if (isNegativeZero(num)) {\n return '-0';\n }\n if (this.props.formatter) {\n return this.props.formatter(num);\n }\n return num;\n }\n\n toPrecisionAsStep(num) {\n if (this.isNotCompleteNumber(num) || num === '') {\n return num;\n }\n const precision = Math.abs(this.getMaxPrecision(num));\n if (precision === 0) {\n return num.toString();\n }\n if (!isNaN(precision)) {\n return Number(num).toFixed(precision);\n }\n return num.toString();\n }\n\n // '1.' '1x' 'xx' '' => are not complete numbers\n isNotCompleteNumber(num) {\n return (\n isNaN(num) ||\n num === '' ||\n num === null ||\n (num && num.toString().indexOf('.') === num.toString().length - 1)\n );\n }\n\n toNumber(num) {\n if (this.isNotCompleteNumber(num)) {\n return num;\n }\n if ('precision' in this.props) {\n return Number(Number(num).toFixed(this.props.precision));\n }\n return Number(num);\n }\n\n // '1.0' '1.00' => may be a inputing number\n toNumberWhenUserInput(num) {\n // num.length > 16 => prevent input large number will became Infinity\n if ((/\\.\\d*0$/.test(num) || num.length > 16) && this.state.focused) {\n return num;\n }\n return this.toNumber(num);\n }\n\n upStep(val, rat) {\n const { step, min } = this.props;\n const precisionFactor = this.getPrecisionFactor(val, rat);\n const precision = Math.abs(this.getMaxPrecision(val, rat));\n let result;\n if (typeof val === 'number') {\n result =\n ((precisionFactor * val + precisionFactor * step * rat) /\n precisionFactor).toFixed(precision);\n } else {\n result = min === -Infinity ? step : min;\n }\n return this.toNumber(result);\n }\n\n downStep(val, rat) {\n const { step, min } = this.props;\n const precisionFactor = this.getPrecisionFactor(val, rat);\n const precision = Math.abs(this.getMaxPrecision(val, rat));\n let result;\n if (typeof val === 'number') {\n result =\n ((precisionFactor * val - precisionFactor * step * rat) /\n precisionFactor).toFixed(precision);\n } else {\n result = min === -Infinity ? -step : min;\n }\n return this.toNumber(result);\n }\n\n step(type, e, ratio = 1, recursive) {\n this.stop();\n if (e) {\n e.persist();\n e.preventDefault();\n }\n const props = this.props;\n if (props.disabled) {\n return;\n }\n const value = this.getCurrentValidValue(this.state.inputValue) || 0;\n if (this.isNotCompleteNumber(value)) {\n return;\n }\n let val = this[`${type}Step`](value, ratio);\n const outOfRange = val > props.max || val < props.min;\n if (val > props.max) {\n val = props.max;\n } else if (val < props.min) {\n val = props.min;\n }\n this.setValue(val);\n this.setState({\n focused: true,\n });\n if (outOfRange) {\n return;\n }\n this.autoStepTimer = setTimeout(() => {\n this[type](e, ratio, true);\n }, recursive ? SPEED : DELAY);\n }\n\n stop = () => {\n if (this.autoStepTimer) {\n clearTimeout(this.autoStepTimer);\n }\n };\n\n down = (e, ratio, recursive) => {\n this.pressingUpOrDown = true;\n this.step('down', e, ratio, recursive);\n };\n\n up = (e, ratio, recursive) => {\n this.pressingUpOrDown = true;\n this.step('up', e, ratio, recursive);\n };\n\n saveInput = (node) => {\n this.input = node;\n };\n\n renderSuffix = () => {\n const props = { ...this.props };\n const { prefixCls, disabled, readOnly, useTouch } = props;\n let upDisabledClass = '';\n let downDisabledClass = '';\n const { value } = this.state;\n if (value || value === 0) {\n if (!isNaN(value)) {\n const val = Number(value);\n if (val >= props.max) {\n upDisabledClass = `${prefixCls}-handler-up-disabled`;\n }\n if (val <= props.min) {\n downDisabledClass = `${prefixCls}-handler-down-disabled`;\n }\n } else {\n upDisabledClass = `${prefixCls}-handler-up-disabled`;\n downDisabledClass = `${prefixCls}-handler-down-disabled`;\n }\n }\n const editable = !props.readOnly && !props.disabled;\n let upEvents;\n let downEvents;\n if (useTouch) {\n upEvents = {\n onTouchStart: (editable && !upDisabledClass) ? this.up : noop,\n onTouchEnd: this.stop,\n };\n downEvents = {\n onTouchStart: (editable && !downDisabledClass) ? this.down : noop,\n onTouchEnd: this.stop,\n };\n } else {\n upEvents = {\n onMouseDown: (editable && !upDisabledClass) ? this.up : noop,\n onMouseUp: this.stop,\n onMouseLeave: this.stop,\n };\n downEvents = {\n onMouseDown: (editable && !downDisabledClass) ? this.down : noop,\n onMouseUp: this.stop,\n onMouseLeave: this.stop,\n };\n }\n const isUpDisabled = !!upDisabledClass || disabled || readOnly;\n const isDownDisabled = !!downDisabledClass || disabled || readOnly;\n return (<div className={`${prefixCls}-handler-wrap`}>\n <InputHandler\n ref=\"up\"\n disabled={isUpDisabled}\n prefixCls={prefixCls}\n unselectable=\"unselectable\"\n {...upEvents}\n role=\"button\"\n aria-label=\"Increase Value\"\n aria-disabled={!!isUpDisabled}\n className={`${prefixCls}-handler ${prefixCls}-handler-up ${upDisabledClass}`}\n >\n {this.props.upHandler || <Icon\n unselectable=\"unselectable\"\n type=\"baseline-arrow_drop_up\"\n className={`${prefixCls}-handler-up-inner`}\n onClick={preventDefault}\n />}\n </InputHandler>\n <InputHandler\n ref=\"down\"\n disabled={isDownDisabled}\n prefixCls={prefixCls}\n unselectable=\"unselectable\"\n {...downEvents}\n role=\"button\"\n aria-label=\"Decrease Value\"\n aria-disabled={!!isDownDisabled}\n className={`${prefixCls}-handler ${prefixCls}-handler-down ${downDisabledClass}`}\n >\n {this.props.downHandler || <Icon\n unselectable=\"unselectable\"\n type=\"baseline-arrow_drop_down\"\n className={`${prefixCls}-handler-down-inner`}\n onClick={preventDefault}\n />}\n </InputHandler>\n </div>);\n };\n\n render() {\n const props = { ...this.props };\n const { prefixCls, disabled, readOnly, useTouch } = props;\n const classes = classNames({\n [prefixCls]: true,\n [props.className]: !!props.className,\n });\n const editable = !props.readOnly && !props.disabled;\n // focus state, show input value\n // unfocus state, show valid value\n let inputDisplayValue;\n if (this.state.focused) {\n inputDisplayValue = this.state.inputValue;\n } else {\n inputDisplayValue = this.toPrecisionAsStep(this.state.value);\n }\n\n if (inputDisplayValue === undefined || inputDisplayValue === null) {\n inputDisplayValue = '';\n }\n const inputDisplayValueFormat = this.formatWrapper(inputDisplayValue);\n // ref for test\n return (\n <div\n className={classes}\n style={props.style}\n onMouseEnter={props.onMouseEnter}\n onMouseLeave={props.onMouseLeave}\n onMouseOver={props.onMouseOver}\n onMouseOut={props.onMouseOut}\n >\n <Input\n required={props.required}\n type={props.type}\n placeholder={props.placeholder}\n onClick={props.onClick}\n tabIndex={props.tabIndex}\n autoComplete=\"off\"\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onKeyDown={editable ? this.onKeyDown : noop}\n onKeyUp={editable ? this.onKeyUp : noop}\n autoFocus={props.autoFocus}\n maxLength={props.maxLength}\n readOnly={props.readOnly}\n disabled={props.disabled}\n max={props.max}\n min={props.min}\n step={props.step}\n name={props.name}\n id={props.id}\n onChange={this.onChange}\n ref={this.saveInput}\n value={inputDisplayValueFormat}\n pattern={props.pattern}\n suffix={this.renderSuffix()}\n label={props.label}\n />\n </div>\n );\n }\n}\n","import React, { cloneElement, Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport SubMenu from './SubMenu';\nimport { getWidth, menuAllProps, setStyle } from './util';\n\nconst canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nconst MENUITEM_OVERFLOWED_CLASSNAME = 'menuitem-overflowed';\n\n// Fix ssr\nif (canUseDOM) {\n require('mutationobserver-shim');\n}\n\nexport default class DOMWrap extends Component {\n static propTypes = {\n className: PropTypes.string,\n children: PropTypes.node,\n mode: PropTypes.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),\n prefixCls: PropTypes.string,\n level: PropTypes.number,\n theme: PropTypes.string,\n overflowedIndicator: PropTypes.node,\n hidden: PropTypes.bool,\n hiddenClassName: PropTypes.string,\n tag: PropTypes.string,\n style: PropTypes.object,\n };\n\n static defaultProps = {\n tag: 'div',\n className: '',\n };\n\n state = {\n lastVisibleIndex: undefined,\n };\n\n componentDidMount() {\n this.setChildrenWidthAndResize();\n if (this.props.level === 1 && this.props.mode === 'horizontal') {\n const menuUl = ReactDOM.findDOMNode(this);\n if (!menuUl) {\n return;\n }\n this.resizeObserver = new ResizeObserver(entries => {\n entries.forEach(this.setChildrenWidthAndResize);\n });\n\n [].slice\n .call(menuUl.children)\n .concat(menuUl)\n .forEach(el => {\n this.resizeObserver.observe(el);\n });\n\n if (typeof MutationObserver !== 'undefined') {\n this.mutationObserver = new MutationObserver(() => {\n this.resizeObserver.disconnect();\n [].slice\n .call(menuUl.children)\n .concat(menuUl)\n .forEach(el => {\n this.resizeObserver.observe(el);\n });\n this.setChildrenWidthAndResize();\n });\n this.mutationObserver.observe(menuUl, {\n attributes: false,\n childList: true,\n subTree: false,\n });\n }\n }\n }\n\n componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n if (this.mutationObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n // get all valid menuItem nodes\n getMenuItemNodes = () => {\n const { prefixCls } = this.props;\n const ul = ReactDOM.findDOMNode(this);\n if (!ul) {\n return [];\n }\n\n // filter out all overflowed indicator placeholder\n return [].slice.call(ul.children).filter(node => {\n return node.className.split(' ').indexOf(`${prefixCls}-overflowed-submenu`) < 0;\n });\n };\n\n getOverflowedSubMenuItem = (keyPrefix, overflowedItems, renderPlaceholder) => {\n const { overflowedIndicator, level, mode, prefixCls, theme, style: propStyle } = this.props;\n if (level !== 1 || mode !== 'horizontal') {\n return null;\n }\n // put all the overflowed item inside a submenu\n // with a title of overflow indicator ('...')\n const copy = this.props.children[0];\n const { children: throwAway, title, eventKey, ...rest } = copy.props;\n\n let style = { ...propStyle };\n let key = `${keyPrefix}-overflowed-indicator`;\n\n if (overflowedItems.length === 0 && renderPlaceholder !== true) {\n style = {\n ...style,\n display: 'none',\n };\n } else if (renderPlaceholder) {\n style = {\n ...style,\n visibility: 'hidden',\n // prevent from taking normal dom space\n position: 'absolute',\n };\n key = `${key}-placeholder`;\n }\n\n const popupClassName = theme ? `${prefixCls}-${theme}` : '';\n const props = {};\n menuAllProps.forEach(k => {\n if (rest[k] !== undefined) {\n props[k] = rest[k];\n }\n });\n\n return (\n <SubMenu\n title={overflowedIndicator}\n className={`${prefixCls}-overflowed-submenu`}\n popupClassName={popupClassName}\n {...props}\n key={key}\n eventKey={`${keyPrefix}-overflowed-indicator`}\n disabled={false}\n style={style}\n >\n {overflowedItems}\n </SubMenu>\n );\n };\n\n // memorize rendered menuSize\n setChildrenWidthAndResize = () => {\n if (this.props.mode !== 'horizontal') {\n return;\n }\n const ul = ReactDOM.findDOMNode(this);\n\n if (!ul) {\n return;\n }\n\n const ulChildrenNodes = ul.children;\n\n if (!ulChildrenNodes || ulChildrenNodes.length === 0) {\n return;\n }\n\n const lastOverflowedIndicatorPlaceholder = ul.children[ulChildrenNodes.length - 1];\n\n // need last overflowed indicator for calculating length;\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'inline-block');\n\n const menuItemNodes = this.getMenuItemNodes();\n\n // reset display attribute for all hidden elements caused by overflow to calculate updated width\n // and then reset to original state after width calculation\n\n const overflowedItems = menuItemNodes.filter(\n c => c.className.split(' ').indexOf(MENUITEM_OVERFLOWED_CLASSNAME) >= 0,\n );\n\n overflowedItems.forEach(c => {\n setStyle(c, 'display', 'inline-block');\n });\n\n this.menuItemSizes = menuItemNodes.map(c => getWidth(c));\n\n overflowedItems.forEach(c => {\n setStyle(c, 'display', 'none');\n });\n this.overflowedIndicatorWidth = getWidth(ul.children[ul.children.length - 1]);\n this.originalTotalWidth = this.menuItemSizes.reduce((acc, cur) => acc + cur, 0);\n this.handleResize();\n // prevent the overflowed indicator from taking space;\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'none');\n };\n\n resizeObserver = null;\n mutationObserver = null;\n\n // original scroll size of the list\n originalTotalWidth = 0;\n\n // copy of overflowed items\n overflowedItems = [];\n\n // cache item of the original items (so we can track the size and order)\n menuItemSizes = [];\n\n handleResize = () => {\n if (this.props.mode !== 'horizontal') {\n return;\n }\n\n const ul = ReactDOM.findDOMNode(this);\n if (!ul) {\n return;\n }\n const width = getWidth(ul);\n\n this.overflowedItems = [];\n let currentSumWidth = 0;\n\n // index for last visible child in horizontal mode\n let lastVisibleIndex = undefined;\n\n if (this.originalTotalWidth > width) {\n lastVisibleIndex = -1;\n\n this.menuItemSizes.forEach(liWidth => {\n currentSumWidth += liWidth;\n if (currentSumWidth + this.overflowedIndicatorWidth <= width) {\n lastVisibleIndex++;\n }\n });\n }\n\n this.setState({ lastVisibleIndex });\n };\n\n renderChildren(children) {\n // need to take care of overflowed items in horizontal mode\n const { lastVisibleIndex } = this.state;\n return (children || []).reduce((acc, childNode, index) => {\n let item = childNode;\n if (this.props.mode === 'horizontal') {\n let overflowed = this.getOverflowedSubMenuItem(childNode.props.eventKey, []);\n if (\n lastVisibleIndex !== undefined &&\n this.props.className.indexOf(`${this.props.prefixCls}-root`) !== -1\n ) {\n if (index > lastVisibleIndex) {\n item = cloneElement(\n childNode,\n // 这里修改 eventKey 是为了防止隐藏状态下还会触发 openkeys 事件\n {\n style: { display: 'none' },\n eventKey: `${childNode.props.eventKey}-hidden`,\n className: `${childNode.className} ${MENUITEM_OVERFLOWED_CLASSNAME}`,\n },\n );\n }\n if (index === lastVisibleIndex + 1) {\n this.overflowedItems = children.slice(lastVisibleIndex + 1).map(c => {\n return cloneElement(\n c,\n // children[index].key will become '.$key' in clone by default,\n // we have to overwrite with the correct key explicitly\n { key: c.props.eventKey, mode: 'vertical-left' },\n );\n });\n\n overflowed = this.getOverflowedSubMenuItem(\n childNode.props.eventKey,\n this.overflowedItems,\n );\n }\n }\n\n const ret = [...acc, overflowed, item];\n\n if (index === children.length - 1) {\n // need a placeholder for calculating overflowed indicator width\n ret.push(this.getOverflowedSubMenuItem(childNode.props.eventKey, [], true));\n }\n return ret;\n }\n return [...acc, item];\n }, []);\n }\n\n render() {\n const {\n hiddenClassName,\n hidden,\n prefixCls,\n overflowedIndicator,\n mode,\n level,\n tag: Tag,\n children,\n theme,\n ...rest\n } = this.props;\n\n if (hidden) {\n rest.className += ` ${hiddenClassName}`;\n }\n\n return <Tag {...rest}>{this.renderChildren(this.props.children)}</Tag>;\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport createReactClass from 'create-react-class';\n\nconst Divider = createReactClass({\n displayName: 'Divider',\n\n propTypes: {\n className: PropTypes.string,\n rootPrefixCls: PropTypes.string,\n },\n\n getDefaultProps() {\n // To fix keyboard UX.\n return { disabled: true };\n },\n\n render() {\n const { className = '', rootPrefixCls } = this.props;\n return <li className={`${className} ${rootPrefixCls}-item-divider`}/>;\n },\n});\n\nexport default Divider;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { create, Provider } from 'mini-store';\nimport noop from 'lodash/noop';\nimport SubPopupMenu, { getActiveKey } from './SubPopupMenu';\n\nexport default class Menu extends Component {\n static displayName = 'Menu';\n\n static propTypes = {\n defaultSelectedKeys: PropTypes.arrayOf(PropTypes.string),\n selectedKeys: PropTypes.arrayOf(PropTypes.string),\n defaultOpenKeys: PropTypes.arrayOf(PropTypes.string),\n openKeys: PropTypes.arrayOf(PropTypes.string),\n mode: PropTypes.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),\n getPopupContainer: PropTypes.func,\n onClick: PropTypes.func,\n onSelect: PropTypes.func,\n onDeselect: PropTypes.func,\n onDestroy: PropTypes.func,\n openTransitionName: PropTypes.string,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n subMenuOpenDelay: PropTypes.number,\n subMenuCloseDelay: PropTypes.number,\n forceSubMenuRender: PropTypes.bool,\n triggerSubMenuAction: PropTypes.string,\n level: PropTypes.number,\n selectable: PropTypes.bool,\n multiple: PropTypes.bool,\n children: PropTypes.any,\n focusable: PropTypes.bool,\n style: PropTypes.object,\n defaultActiveFirst: PropTypes.bool,\n visible: PropTypes.bool,\n activeKey: PropTypes.string,\n };\n\n static defaultProps = {\n prefixCls: 'rc-menu',\n className: '',\n mode: 'vertical',\n level: 1,\n inlineIndent: 24,\n visible: true,\n focusable: true,\n style: {},\n selectable: true,\n onClick: noop,\n onSelect: noop,\n onOpenChange: noop,\n onDeselect: noop,\n defaultSelectedKeys: [],\n defaultOpenKeys: [],\n subMenuOpenDelay: 0.1,\n subMenuCloseDelay: 0.1,\n triggerSubMenuAction: 'hover',\n };\n\n isRootMenu = true;\n\n constructor(props) {\n super(props);\n let selectedKeys = props.defaultSelectedKeys;\n let openKeys = props.defaultOpenKeys;\n if ('selectedKeys' in props) {\n selectedKeys = props.selectedKeys || [];\n }\n if ('openKeys' in props) {\n openKeys = props.openKeys || [];\n }\n\n this.store = create({\n selectedKeys,\n openKeys,\n activeKey: { '0-menu-': getActiveKey(props, props.activeKey) },\n });\n }\n\n updateMiniStore() {\n if ('selectedKeys' in this.props) {\n this.store.setState({\n selectedKeys: this.props.selectedKeys || [],\n });\n }\n if ('openKeys' in this.props) {\n this.store.setState({\n openKeys: this.props.openKeys || [],\n });\n }\n }\n\n componentDidMount() {\n this.updateMiniStore();\n }\n\n componentDidUpdate() {\n this.updateMiniStore();\n }\n\n onSelect = selectInfo => {\n const props = this.props;\n if (props.selectable) {\n // root menu\n let selectedKeys = this.store.getState().selectedKeys;\n const selectedKey = selectInfo.key;\n if (props.multiple) {\n selectedKeys = selectedKeys.concat([selectedKey]);\n } else {\n selectedKeys = [selectedKey];\n }\n if (!('selectedKeys' in props)) {\n this.store.setState({\n selectedKeys,\n });\n }\n props.onSelect({\n ...selectInfo,\n selectedKeys,\n });\n }\n };\n\n step(direction) {\n return this.innerMenu.getWrappedInstance().step(direction);\n }\n\n onClick = e => {\n this.props.onClick(e);\n };\n\n onKeyDown = (e, callback) => {\n return this.innerMenu.getWrappedInstance().onKeyDown(e, callback);\n };\n\n onOpenChange = event => {\n const props = this.props;\n const openKeys = this.store.getState().openKeys.concat();\n let changed = false;\n const processSingle = e => {\n let oneChanged = false;\n if (e.open) {\n oneChanged = openKeys.indexOf(e.key) === -1;\n if (oneChanged) {\n openKeys.push(e.key);\n }\n } else {\n const index = openKeys.indexOf(e.key);\n oneChanged = index !== -1;\n if (oneChanged) {\n openKeys.splice(index, 1);\n }\n }\n changed = changed || oneChanged;\n };\n if (Array.isArray(event)) {\n // batch change call\n event.forEach(processSingle);\n } else {\n processSingle(event);\n }\n if (changed) {\n if (!('openKeys' in this.props)) {\n this.store.setState({ openKeys });\n }\n props.onOpenChange(openKeys);\n }\n };\n\n onDeselect = selectInfo => {\n const props = this.props;\n if (props.selectable) {\n const selectedKeys = this.store.getState().selectedKeys.concat();\n const selectedKey = selectInfo.key;\n const index = selectedKeys.indexOf(selectedKey);\n if (index !== -1) {\n selectedKeys.splice(index, 1);\n }\n if (!('selectedKeys' in props)) {\n this.store.setState({\n selectedKeys,\n });\n }\n props.onDeselect({\n ...selectInfo,\n selectedKeys,\n });\n }\n };\n\n setInnerMenu = node => {\n this.innerMenu = node;\n };\n\n getStore() {\n const store = this.store || this.props.store;\n\n return store;\n }\n\n getEventKey() {\n return this.props.eventKey || '0-menu-';\n }\n\n getOpenTransitionName() {\n const props = this.props;\n let transitionName = props.openTransitionName;\n const animationName = props.openAnimation;\n if (!transitionName && typeof animationName === 'string') {\n transitionName = `${props.prefixCls}-open-${animationName}`;\n }\n return transitionName;\n }\n\n isInlineMode() {\n return this.props.mode === 'inline';\n }\n\n lastOpenSubMenu() {\n let lastOpen = [];\n const { openKeys } = this.store.getState();\n if (openKeys.length) {\n lastOpen = this.getFlatInstanceArray().filter(c => {\n return c && openKeys.indexOf(c.props.eventKey) !== -1;\n });\n }\n return lastOpen[0];\n }\n\n renderMenuItem(c, i, subIndex, subMenuKey) {\n if (!c) {\n return null;\n }\n const state = this.store.getState();\n const extraProps = {\n openKeys: state.openKeys,\n selectedKeys: state.selectedKeys,\n triggerSubMenuAction: this.props.triggerSubMenuAction,\n subMenuKey,\n };\n return this.renderCommonMenuItem(c, i, subIndex, extraProps);\n }\n\n render() {\n let props = { ...this.props };\n props.className += ` ${props.prefixCls}-root`;\n props = {\n ...props,\n onClick: this.onClick,\n onOpenChange: this.onOpenChange,\n onDeselect: this.onDeselect,\n onSelect: this.onSelect,\n parentMenu: this,\n };\n\n // delete props.openAnimation;\n // delete props.openTransitionName;\n return (\n <Provider store={this.store}>\n <SubPopupMenu {...props} ref={this.setInnerMenu}>\n {this.props.children}\n </SubPopupMenu>\n </Provider>\n );\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport createReactClass from 'create-react-class';\nimport KeyCode from '../../_util/KeyCode';\nimport classNames from 'classnames';\nimport { connect } from 'mini-store';\nimport noop from 'lodash/noop';\nimport Checkbox from '../../checkbox/Checkbox';\nimport Ripple from '../../ripple';\n/* eslint react/no-is-mounted:0 */\n\nconst MenuItem = createReactClass({\n displayName: 'MenuItem',\n\n propTypes: {\n rootPrefixCls: PropTypes.string,\n eventKey: PropTypes.string,\n active: PropTypes.bool,\n children: PropTypes.any,\n selectedKeys: PropTypes.array,\n disabled: PropTypes.bool,\n title: PropTypes.string,\n onItemHover: PropTypes.func,\n onSelect: PropTypes.func,\n onClick: PropTypes.func,\n onDeselect: PropTypes.func,\n parentMenu: PropTypes.object,\n onDestroy: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseDown: PropTypes.func,\n },\n\n getDefaultProps() {\n return {\n onSelect: noop,\n onMouseEnter: noop,\n onMouseLeave: noop,\n onMouseDown: noop,\n };\n },\n\n componentWillUnmount() {\n const props = this.props;\n if (props.onDestroy) {\n props.onDestroy(props.eventKey);\n }\n },\n\n componentDidMount() {\n // invoke customized ref to expose component to mixin\n if (this.props.manualRef) {\n this.props.manualRef(this);\n }\n },\n\n componentDidUpdate() {\n // invoke customized ref to expose component to mixin\n if (this.props.manualRef) {\n this.props.manualRef(this);\n }\n },\n\n onKeyDown(e) {\n const keyCode = e.keyCode;\n if (keyCode === KeyCode.ENTER) {\n this.onClick(e);\n return true;\n }\n },\n\n onMouseLeave(e) {\n const { eventKey, onItemHover, onMouseLeave } = this.props;\n onItemHover({\n key: eventKey,\n hover: false,\n });\n onMouseLeave({\n key: eventKey,\n domEvent: e,\n });\n },\n\n onMouseEnter(e) {\n const { eventKey, onItemHover, onMouseEnter } = this.props;\n onItemHover({\n key: eventKey,\n hover: true,\n });\n onMouseEnter({\n key: eventKey,\n domEvent: e,\n });\n },\n\n onClick(e) {\n const { eventKey, multiple, onClick, onSelect, onDeselect, isSelected } = this.props;\n const info = {\n key: eventKey,\n keyPath: [eventKey],\n item: this,\n domEvent: e,\n };\n onClick(info);\n if (multiple) {\n if (isSelected) {\n onDeselect(info);\n } else {\n onSelect(info);\n }\n } else if (!isSelected) {\n onSelect(info);\n }\n },\n\n getPrefixCls() {\n return `${this.props.rootPrefixCls}-item`;\n },\n\n getActiveClassName() {\n return `${this.getPrefixCls()}-active`;\n },\n\n getSelectedClassName() {\n return `${this.getPrefixCls()}-selected`;\n },\n\n getDisabledClassName() {\n return `${this.getPrefixCls()}-disabled`;\n },\n\n render() {\n const props = this.props;\n const className = classNames(this.getPrefixCls(), props.className, {\n [this.getActiveClassName()]: !props.disabled && props.active,\n [this.getSelectedClassName()]: props.isSelected,\n [this.getDisabledClassName()]: props.disabled,\n });\n const attrs = {\n ...props.attribute,\n title: props.title,\n className,\n role: 'menuitem',\n 'aria-selected': props.isSelected,\n 'aria-disabled': props.disabled,\n };\n let mouseEvent = {};\n if (!props.disabled) {\n mouseEvent = {\n onClick: this.onClick,\n onMouseLeave: this.onMouseLeave,\n onMouseEnter: this.onMouseEnter,\n onMouseDown: this.props.onMouseDown,\n };\n }\n const style = {\n ...props.style,\n };\n if (props.mode === 'inline') {\n style.paddingLeft = props.inlineIndent * props.level;\n }\n\n const notFound = props.eventKey === 'NOT_FOUND';\n const checkbox = props.multiple && !notFound ? <Checkbox disabled={props.disabled} checked={props.isSelected} tabIndex={-1} /> : null;\n return (\n <Ripple disabled={props.disabled}>\n <li\n {...attrs}\n {...mouseEvent}\n style={style}\n >\n {checkbox}\n {props.children}\n </li>\n </Ripple>\n );\n },\n});\n\nMenuItem.isMenuItem = 1;\n\nexport default connect(({ activeKey, selectedKeys }, { eventKey, subMenuKey }) => ({\n active: activeKey[subMenuKey] === eventKey,\n isSelected: selectedKeys.indexOf(eventKey) !== -1,\n}))(MenuItem);\n","import React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { menuAllProps } from './util';\n\nclass MenuItemGroup extends Component {\n static propTypes = {\n renderMenuItem: PropTypes.func,\n index: PropTypes.number,\n className: PropTypes.string,\n subMenuKey: PropTypes.string,\n rootPrefixCls: PropTypes.string,\n };\n\n static defaultProps = {\n disabled: true,\n };\n\n renderInnerMenuItem = (item) => {\n const { renderMenuItem, index } = this.props;\n return renderMenuItem(item, index, this.props.subMenuKey);\n };\n\n render() {\n const { ...props } = this.props;\n const { className = '', rootPrefixCls } = props;\n const titleClassName = `${rootPrefixCls}-item-group-title`;\n const listClassName = `${rootPrefixCls}-item-group-list`;\n const { title, children } = props;\n menuAllProps.forEach(key => delete props[key]);\n\n // Set onClick to null, to ignore propagated onClick event\n delete props.onClick;\n\n return (\n <li {...props} className={`${className} ${rootPrefixCls}-item-group`}>\n <div\n className={titleClassName}\n title={typeof title === 'string' ? title : undefined}\n >\n {title}\n </div>\n <ul className={listClassName}>\n {Children.map(children, this.renderInnerMenuItem)}\n </ul>\n </li>\n );\n }\n}\n\nMenuItemGroup.isMenuItemGroup = true;\n\nexport default MenuItemGroup;\n","import React, { Component, createElement } from 'react';\nimport { findDOMNode } from 'react-dom';\nimport PropTypes from 'prop-types';\nimport noop from 'lodash/noop';\nimport classNames from 'classnames';\nimport { connect } from 'mini-store';\nimport Trigger from '../trigger';\nimport KeyCode from '../../_util/KeyCode';\nimport SubPopupMenu from './SubPopupMenu';\nimport placements from './placements';\nimport Animate from '../../animate';\nimport { getMenuIdFromSubMenuEventKey, loopMenuItemRecursively, menuAllProps, } from './util';\n\nlet guid = 0;\n\nconst popupPlacementMap = {\n horizontal: 'bottomLeft',\n vertical: 'rightTop',\n 'vertical-left': 'rightTop',\n 'vertical-right': 'leftTop',\n};\n\nconst updateDefaultActiveFirst = (store, eventKey, defaultActiveFirst) => {\n const menuId = getMenuIdFromSubMenuEventKey(eventKey);\n const state = store.getState();\n store.setState({\n defaultActiveFirst: {\n ...state.defaultActiveFirst,\n [menuId]: defaultActiveFirst,\n },\n });\n};\n\nexport class SubMenu extends Component {\n static propTypes = {\n parentMenu: PropTypes.object,\n title: PropTypes.node,\n children: PropTypes.any,\n selectedKeys: PropTypes.array,\n openKeys: PropTypes.array,\n onClick: PropTypes.func,\n onOpenChange: PropTypes.func,\n rootPrefixCls: PropTypes.string,\n eventKey: PropTypes.string,\n multiple: PropTypes.bool,\n active: PropTypes.bool, // TODO: remove\n onItemHover: PropTypes.func,\n onSelect: PropTypes.func,\n triggerSubMenuAction: PropTypes.string,\n onDeselect: PropTypes.func,\n onDestroy: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onTitleMouseEnter: PropTypes.func,\n onTitleMouseLeave: PropTypes.func,\n onTitleClick: PropTypes.func,\n popupOffset: PropTypes.array,\n isOpen: PropTypes.bool,\n store: PropTypes.object,\n mode: PropTypes.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),\n manualRef: PropTypes.func,\n itemIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n expandIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n };\n\n static defaultProps = {\n onMouseEnter: noop,\n onMouseLeave: noop,\n onTitleMouseEnter: noop,\n onTitleMouseLeave: noop,\n onTitleClick: noop,\n manualRef: noop,\n mode: 'vertical',\n title: '',\n };\n\n constructor(props) {\n super(props);\n const store = props.store;\n const eventKey = props.eventKey;\n const defaultActiveFirst = store.getState().defaultActiveFirst;\n\n this.isRootMenu = false;\n\n let value = false;\n\n if (defaultActiveFirst) {\n value = defaultActiveFirst[eventKey];\n }\n\n updateDefaultActiveFirst(store, eventKey, value);\n }\n\n componentDidMount() {\n this.componentDidUpdate();\n }\n\n componentDidUpdate() {\n const { mode, parentMenu, manualRef } = this.props;\n\n // invoke customized ref to expose component to mixin\n if (manualRef) {\n manualRef(this);\n }\n\n if (mode !== 'horizontal' || !parentMenu.isRootMenu || !this.props.isOpen) {\n return;\n }\n\n this.minWidthTimeout = setTimeout(() => this.adjustWidth(), 0);\n }\n\n componentWillUnmount() {\n const { onDestroy, eventKey } = this.props;\n if (onDestroy) {\n onDestroy(eventKey);\n }\n\n /* istanbul ignore if */\n if (this.minWidthTimeout) {\n clearTimeout(this.minWidthTimeout);\n }\n\n /* istanbul ignore if */\n if (this.mouseenterTimeout) {\n clearTimeout(this.mouseenterTimeout);\n }\n }\n\n onDestroy = (key) => {\n this.props.onDestroy(key);\n };\n\n onKeyDown = (e) => {\n const keyCode = e.keyCode;\n const menu = this.menuInstance;\n const {\n isOpen,\n store,\n } = this.props;\n\n if (keyCode === KeyCode.ENTER) {\n this.onTitleClick(e);\n updateDefaultActiveFirst(store, this.props.eventKey, true);\n return true;\n }\n\n if (keyCode === KeyCode.RIGHT) {\n if (isOpen) {\n menu.onKeyDown(e);\n } else {\n this.triggerOpenChange(true);\n // need to update current menu's defaultActiveFirst value\n updateDefaultActiveFirst(store, this.props.eventKey, true);\n }\n return true;\n }\n if (keyCode === KeyCode.LEFT) {\n let handled;\n if (isOpen) {\n handled = menu.onKeyDown(e);\n } else {\n return undefined;\n }\n if (!handled) {\n this.triggerOpenChange(false);\n handled = true;\n }\n return handled;\n }\n\n if (isOpen && (keyCode === KeyCode.UP || keyCode === KeyCode.DOWN)) {\n return menu.onKeyDown(e);\n }\n };\n\n onOpenChange = (e) => {\n this.props.onOpenChange(e);\n };\n\n onPopupVisibleChange = (visible) => {\n this.triggerOpenChange(visible, visible ? 'mouseenter' : 'mouseleave');\n };\n\n onMouseEnter = (e) => {\n const { eventKey: key, onMouseEnter, store } = this.props;\n updateDefaultActiveFirst(store, this.props.eventKey, false);\n onMouseEnter({\n key,\n domEvent: e,\n });\n };\n\n onMouseLeave = (e) => {\n const {\n parentMenu,\n eventKey,\n onMouseLeave,\n } = this.props;\n parentMenu.subMenuInstance = this;\n onMouseLeave({\n key: eventKey,\n domEvent: e,\n });\n };\n\n onTitleMouseEnter = (domEvent) => {\n const { eventKey: key, onItemHover, onTitleMouseEnter } = this.props;\n onItemHover({\n key,\n hover: true,\n });\n onTitleMouseEnter({\n key,\n domEvent,\n });\n };\n\n onTitleMouseLeave = (e) => {\n const { parentMenu, eventKey, onItemHover, onTitleMouseLeave } = this.props;\n parentMenu.subMenuInstance = this;\n onItemHover({\n key: eventKey,\n hover: false,\n });\n onTitleMouseLeave({\n key: eventKey,\n domEvent: e,\n });\n };\n\n onTitleClick = (e) => {\n const { props } = this;\n props.onTitleClick({\n key: props.eventKey,\n domEvent: e,\n });\n if (props.triggerSubMenuAction === 'hover') {\n return;\n }\n this.triggerOpenChange(!props.isOpen, 'click');\n updateDefaultActiveFirst(props.store, this.props.eventKey, false);\n };\n\n onSubMenuClick = (info) => {\n // in the case of overflowed submenu\n // onClick is not copied over\n if (typeof this.props.onClick === 'function') {\n this.props.onClick(this.addKeyPath(info));\n }\n };\n\n onSelect = (info) => {\n this.props.onSelect(info);\n };\n\n onDeselect = (info) => {\n this.props.onDeselect(info);\n };\n\n getPrefixCls = () => {\n return `${this.props.rootPrefixCls}-submenu`;\n };\n\n getActiveClassName = () => {\n return `${this.getPrefixCls()}-active`;\n };\n\n getDisabledClassName = () => {\n return `${this.getPrefixCls()}-disabled`;\n };\n\n getSelectedClassName = () => {\n return `${this.getPrefixCls()}-selected`;\n };\n\n getOpenClassName = () => {\n return `${this.props.rootPrefixCls}-submenu-open`;\n };\n\n saveMenuInstance = (c) => {\n // children menu instance\n this.menuInstance = c;\n };\n\n addKeyPath = (info) => {\n return {\n ...info,\n keyPath: (info.keyPath || []).concat(this.props.eventKey),\n };\n };\n\n triggerOpenChange = (open, type) => {\n const key = this.props.eventKey;\n const openChange = () => {\n this.onOpenChange({\n key,\n item: this,\n trigger: type,\n open,\n });\n };\n if (type === 'mouseenter') {\n // make sure mouseenter happen after other menu item's mouseleave\n this.mouseenterTimeout = setTimeout(() => {\n openChange();\n }, 0);\n } else {\n openChange();\n }\n };\n\n isChildrenSelected = () => {\n const ret = { find: false };\n loopMenuItemRecursively(this.props.children, this.props.selectedKeys, ret);\n return ret.find;\n };\n\n isOpen = () => {\n return this.props.openKeys.indexOf(this.props.eventKey) !== -1;\n };\n\n adjustWidth = () => {\n /* istanbul ignore if */\n if (!this.subMenuTitle || !this.menuInstance) {\n return;\n }\n const popupMenu = findDOMNode(this.menuInstance);\n if (popupMenu.offsetWidth >= this.subMenuTitle.offsetWidth) {\n return;\n }\n\n /* istanbul ignore next */\n popupMenu.style.minWidth = `${this.subMenuTitle.offsetWidth}px`;\n };\n\n saveSubMenuTitle = (subMenuTitle) => {\n this.subMenuTitle = subMenuTitle;\n };\n\n renderChildren(children) {\n const props = this.props;\n const baseProps = {\n mode: props.mode === 'horizontal' ? 'vertical' : props.mode,\n hidden: !this.props.isOpen,\n level: props.level + 1,\n inlineIndent: props.inlineIndent,\n focusable: false,\n onClick: this.onSubMenuClick,\n onSelect: this.onSelect,\n onDeselect: this.onDeselect,\n onDestroy: this.onDestroy,\n selectedKeys: props.selectedKeys,\n eventKey: `${props.eventKey}-menu-`,\n openKeys: props.openKeys,\n openTransitionName: props.openTransitionName,\n openAnimation: props.openAnimation,\n onOpenChange: this.onOpenChange,\n subMenuOpenDelay: props.subMenuOpenDelay,\n parentMenu: this,\n subMenuCloseDelay: props.subMenuCloseDelay,\n forceSubMenuRender: props.forceSubMenuRender,\n triggerSubMenuAction: props.triggerSubMenuAction,\n builtinPlacements: props.builtinPlacements,\n defaultActiveFirst: props.store.getState()\n .defaultActiveFirst[getMenuIdFromSubMenuEventKey(props.eventKey)],\n multiple: props.multiple,\n prefixCls: props.rootPrefixCls,\n id: this._menuId,\n manualRef: this.saveMenuInstance,\n itemIcon: props.itemIcon,\n expandIcon: props.expandIcon,\n };\n\n const haveRendered = this.haveRendered;\n this.haveRendered = true;\n\n this.haveOpened = this.haveOpened || !baseProps.hidden || baseProps.forceSubMenuRender;\n // never rendered not planning to, don't render\n if (!this.haveOpened) {\n return <div />;\n }\n\n // don't show transition on first rendering (no animation for opened menu)\n // show appear transition if it's hidden (not sure why)\n // show appear transition if it's not inline mode\n const transitionAppear = haveRendered || baseProps.hidden || !baseProps.mode === 'inline';\n\n baseProps.className = ` ${baseProps.prefixCls}-sub`;\n const animProps = {};\n\n if (baseProps.openTransitionName) {\n animProps.transitionName = baseProps.openTransitionName;\n } else if (typeof baseProps.openAnimation === 'object') {\n animProps.animation = { ...baseProps.openAnimation };\n if (!transitionAppear) {\n delete animProps.animation.appear;\n }\n }\n\n return (\n <Animate\n {...animProps}\n hiddenProp=\"hidden\"\n component=\"\"\n transitionAppear={transitionAppear}\n >\n <SubPopupMenu {...baseProps} id={this._menuId}>{children}</SubPopupMenu>\n </Animate>\n );\n }\n\n render() {\n const props = { ...this.props };\n const isOpen = props.isOpen;\n const prefixCls = this.getPrefixCls();\n const isInlineMode = props.mode === 'inline';\n const className = classNames(prefixCls, `${prefixCls}-${props.mode}`, {\n [props.className]: !!props.className,\n [this.getOpenClassName()]: isOpen,\n [this.getActiveClassName()]: props.active || (isOpen && !isInlineMode),\n [this.getDisabledClassName()]: props.disabled,\n [this.getSelectedClassName()]: this.isChildrenSelected(),\n });\n\n if (!this._menuId) {\n if (props.eventKey) {\n this._menuId = `${props.eventKey}$Menu`;\n } else {\n this._menuId = `$__$${++guid}$Menu`;\n }\n }\n\n let mouseEvents = {};\n let titleClickEvents = {};\n let titleMouseEvents = {};\n if (!props.disabled) {\n mouseEvents = {\n onMouseLeave: this.onMouseLeave,\n onMouseEnter: this.onMouseEnter,\n };\n\n // only works in title, not outer li\n titleClickEvents = {\n onClick: this.onTitleClick,\n };\n titleMouseEvents = {\n onMouseEnter: this.onTitleMouseEnter,\n onMouseLeave: this.onTitleMouseLeave,\n };\n }\n\n const style = {};\n if (isInlineMode) {\n style.paddingLeft = props.inlineIndent * props.level;\n }\n\n let ariaOwns = {};\n // only set aria-owns when menu is open\n // otherwise it would be an invalid aria-owns value\n // since corresponding node cannot be found\n if (this.props.isOpen) {\n ariaOwns = {\n 'aria-owns': this._menuId,\n };\n }\n\n // expand custom icon should NOT be displayed in menu with horizontal mode.\n let icon = null;\n if (props.mode !== 'horizontal') {\n icon = this.props.expandIcon; // ReactNode\n if (typeof this.props.expandIcon === 'function') {\n icon = createElement(\n this.props.expandIcon,\n { ...this.props },\n );\n }\n }\n\n const title = (\n <div\n ref={this.saveSubMenuTitle}\n style={style}\n className={`${prefixCls}-title`}\n {...titleMouseEvents}\n {...titleClickEvents}\n aria-expanded={isOpen}\n {...ariaOwns}\n aria-haspopup=\"true\"\n title={typeof props.title === 'string' ? props.title : undefined}\n >\n {props.title}\n {icon || <i className={`${prefixCls}-arrow`} />}\n </div>\n );\n const children = this.renderChildren(props.children);\n\n const getPopupContainer = props.parentMenu.isRootMenu ? props.parentMenu.props.getPopupContainer : triggerNode => triggerNode.parentNode;\n const popupPlacement = popupPlacementMap[props.mode];\n const popupAlign = props.popupOffset ? { offset: props.popupOffset } : {};\n const popupClassName = props.mode === 'inline' ? '' : props.popupClassName;\n const {\n disabled,\n triggerSubMenuAction,\n subMenuOpenDelay,\n forceSubMenuRender,\n subMenuCloseDelay,\n builtinPlacements,\n } = props;\n menuAllProps.forEach(key => delete props[key]);\n // Set onClick to null, to ignore propagated onClick event\n delete props.onClick;\n\n return (\n <li\n {...props}\n {...mouseEvents}\n className={className}\n role=\"menuitem\"\n >\n {isInlineMode && title}\n {isInlineMode && children}\n {!isInlineMode && (\n <Trigger\n prefixCls={prefixCls}\n popupClassName={`${prefixCls}-popup ${popupClassName}`}\n getPopupContainer={getPopupContainer}\n builtinPlacements={Object.assign({}, placements, builtinPlacements)}\n popupPlacement={popupPlacement}\n popupVisible={isOpen}\n popupAlign={popupAlign}\n popup={children}\n action={disabled ? [] : [triggerSubMenuAction]}\n mouseEnterDelay={subMenuOpenDelay}\n mouseLeaveDelay={subMenuCloseDelay}\n onPopupVisibleChange={this.onPopupVisibleChange}\n forceRender={forceSubMenuRender}\n >\n {title}\n </Trigger>\n )}\n </li>\n );\n }\n}\n\nconst connected = connect(({ openKeys, activeKey, selectedKeys }, { eventKey, subMenuKey }) => ({\n isOpen: openKeys.indexOf(eventKey) > -1,\n active: activeKey[subMenuKey] === eventKey,\n selectedKeys,\n}))(SubMenu);\n\nconnected.isSubMenu = true;\n\nexport default connected;\n","import React, { Children, cloneElement, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport noop from 'lodash/noop';\nimport { connect } from 'mini-store';\nimport KeyCode from '../../_util/KeyCode';\nimport createChainedFunction from '../util/createChainedFunction';\nimport { getKeyFromChildrenIndex, loopMenuItem, menuAllProps } from './util';\nimport DOMWrap from './DOMWrap';\n\nfunction allDisabled(arr) {\n if (!arr.length) {\n return true;\n }\n return arr.every(c => !!c.props.disabled);\n}\n\nfunction updateActiveKey(store, menuId, activeKey) {\n const state = store.getState();\n store.setState({\n activeKey: {\n ...state.activeKey,\n [menuId]: activeKey,\n },\n });\n}\n\nfunction getEventKey(props) {\n // when eventKey not available ,it's menu and return menu id '0-menu-'\n return props.eventKey || '0-menu-';\n}\n\nexport function getActiveKey(props, originalActiveKey) {\n let activeKey = originalActiveKey;\n const { children, eventKey } = props;\n if (activeKey) {\n let found;\n loopMenuItem(children, (c, i) => {\n if (c && !c.props.disabled && activeKey === getKeyFromChildrenIndex(c, eventKey, i)) {\n found = true;\n }\n });\n if (found) {\n return activeKey;\n }\n }\n activeKey = null;\n if (props.defaultActiveFirst) {\n loopMenuItem(children, (c, i) => {\n if (!activeKey && c && !c.props.disabled) {\n activeKey = getKeyFromChildrenIndex(c, eventKey, i);\n }\n });\n return activeKey;\n }\n return activeKey;\n}\n\nexport function saveRef(c) {\n if (c) {\n const index = this.instanceArray.indexOf(c);\n if (index !== -1) {\n // update component if it's already inside instanceArray\n this.instanceArray[index] = c;\n } else {\n // add component if it's not in instanceArray yet;\n this.instanceArray.push(c);\n }\n }\n}\n\nexport class SubPopupMenu extends Component {\n static propTypes = {\n onSelect: PropTypes.func,\n onClick: PropTypes.func,\n onDeselect: PropTypes.func,\n onOpenChange: PropTypes.func,\n onDestroy: PropTypes.func,\n openTransitionName: PropTypes.string,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n openKeys: PropTypes.arrayOf(PropTypes.string),\n hidden: PropTypes.bool,\n children: PropTypes.any,\n parentMenu: PropTypes.object,\n eventKey: PropTypes.string,\n store: PropTypes.shape({\n getState: PropTypes.func,\n setState: PropTypes.func,\n }),\n\n // adding in refactor\n focusable: PropTypes.bool,\n multiple: PropTypes.bool,\n style: PropTypes.object,\n defaultActiveFirst: PropTypes.bool,\n activeKey: PropTypes.string,\n selectedKeys: PropTypes.arrayOf(PropTypes.string),\n defaultSelectedKeys: PropTypes.arrayOf(PropTypes.string),\n defaultOpenKeys: PropTypes.arrayOf(PropTypes.string),\n level: PropTypes.number,\n mode: PropTypes.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),\n triggerSubMenuAction: PropTypes.oneOf(['click', 'hover']),\n inlineIndent: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n manualRef: PropTypes.func,\n itemIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n expandIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n };\n\n static defaultProps = {\n prefixCls: 'rc-menu',\n className: '',\n mode: 'vertical',\n level: 1,\n inlineIndent: 24,\n hidden: false,\n focusable: true,\n style: {},\n manualRef: noop,\n };\n\n constructor(props) {\n super(props);\n\n props.store.setState({\n activeKey: {\n ...props.store.getState().activeKey,\n [props.eventKey]: getActiveKey(props, props.activeKey),\n },\n });\n\n this.instanceArray = [];\n }\n\n componentDidMount() {\n // invoke customized ref to expose component to mixin\n if (this.props.manualRef) {\n this.props.manualRef(this);\n }\n }\n\n shouldComponentUpdate(nextProps) {\n return !this.props.hidden || !nextProps.hidden;\n }\n\n componentDidUpdate() {\n const props = this.props;\n const originalActiveKey = 'activeKey' in props ? props.activeKey : props.store.getState().activeKey[getEventKey(props)];\n const activeKey = getActiveKey(props, originalActiveKey);\n if (activeKey !== originalActiveKey) {\n updateActiveKey(props.store, getEventKey(props), activeKey);\n }\n }\n\n // all keyboard events callbacks run from here at first\n onKeyDown = (e, callback) => {\n const keyCode = e.keyCode;\n let handled;\n this.getFlatInstanceArray().forEach((obj) => {\n if (obj && obj.props.active && obj.onKeyDown) {\n handled = obj.onKeyDown(e);\n }\n });\n if (handled) {\n return 1;\n }\n let activeItem = null;\n if (keyCode === KeyCode.UP || keyCode === KeyCode.DOWN) {\n activeItem = this.step(keyCode === KeyCode.UP ? -1 : 1);\n }\n if (activeItem) {\n e.preventDefault();\n updateActiveKey(this.props.store, getEventKey(this.props), activeItem.props.eventKey);\n\n if (typeof callback === 'function') {\n callback(activeItem);\n }\n\n return 1;\n }\n };\n\n onItemHover = (e) => {\n const { key, hover } = e;\n updateActiveKey(this.props.store, getEventKey(this.props), hover ? key : null);\n };\n\n onDeselect = (selectInfo) => {\n this.props.onDeselect(selectInfo);\n };\n\n onSelect = (selectInfo) => {\n this.props.onSelect(selectInfo);\n };\n\n onClick = (e) => {\n this.props.onClick(e);\n };\n\n onOpenChange = (e) => {\n this.props.onOpenChange(e);\n };\n\n onDestroy = (key) => {\n /* istanbul ignore next */\n this.props.onDestroy(key);\n };\n\n getFlatInstanceArray = () => {\n return this.instanceArray;\n };\n\n getOpenTransitionName = () => {\n return this.props.openTransitionName;\n };\n\n step = (direction) => {\n let children = this.getFlatInstanceArray();\n const activeKey = this.props.store.getState().activeKey[getEventKey(this.props)];\n const len = children.length;\n if (!len) {\n return null;\n }\n if (direction < 0) {\n children = children.concat().reverse();\n }\n // find current activeIndex\n let activeIndex = -1;\n children.every((c, ci) => {\n if (c && c.props.eventKey === activeKey) {\n activeIndex = ci;\n return false;\n }\n return true;\n });\n if (\n !this.props.defaultActiveFirst && activeIndex !== -1\n &&\n allDisabled(children.slice(activeIndex, len - 1))\n ) {\n return undefined;\n }\n const start = (activeIndex + 1) % len;\n let i = start;\n\n do {\n const child = children[i];\n if (!child || child.props.disabled) {\n i = (i + 1) % len;\n } else {\n return child;\n }\n } while (i !== start);\n\n return null;\n };\n\n renderCommonMenuItem = (child, i, extraProps) => {\n const state = this.props.store.getState();\n const props = this.props;\n const key = getKeyFromChildrenIndex(child, props.eventKey, i);\n const childProps = child.props;\n const isActive = key === state.activeKey;\n const newChildProps = {\n mode: childProps.mode || props.mode,\n level: props.level,\n inlineIndent: props.inlineIndent,\n renderMenuItem: this.renderMenuItem,\n rootPrefixCls: props.prefixCls,\n index: i,\n parentMenu: props.parentMenu,\n // customized ref function, need to be invoked manually in child's componentDidMount\n manualRef: childProps.disabled ? undefined : createChainedFunction(child.ref, saveRef.bind(this)),\n eventKey: key,\n active: !childProps.disabled && isActive,\n multiple: props.multiple,\n onClick: (e) => {\n (childProps.onClick || noop)(e);\n this.onClick(e);\n },\n onItemHover: this.onItemHover,\n openTransitionName: this.getOpenTransitionName(),\n openAnimation: props.openAnimation,\n subMenuOpenDelay: props.subMenuOpenDelay,\n subMenuCloseDelay: props.subMenuCloseDelay,\n forceSubMenuRender: props.forceSubMenuRender,\n onOpenChange: this.onOpenChange,\n onDeselect: this.onDeselect,\n onSelect: this.onSelect,\n builtinPlacements: props.builtinPlacements,\n itemIcon: childProps.itemIcon || this.props.itemIcon,\n expandIcon: childProps.expandIcon || this.props.expandIcon,\n ...extraProps,\n };\n if (props.mode === 'inline') {\n newChildProps.triggerSubMenuAction = 'click';\n }\n return cloneElement(child, newChildProps);\n };\n\n renderMenuItem = (c, i, subMenuKey) => {\n /* istanbul ignore if */\n if (!c) {\n return null;\n }\n const props = this.props;\n const extraProps = {\n openKeys: props.openKeys,\n selectedKeys: props.selectedKeys,\n triggerSubMenuAction: props.triggerSubMenuAction,\n subMenuKey,\n };\n return this.renderCommonMenuItem(c, i, extraProps);\n };\n\n render() {\n const { ...props } = this.props;\n\n this.instanceArray = [];\n const className = classNames(\n props.prefixCls,\n props.className,\n `${props.prefixCls}-${props.mode}`,\n );\n const haveRendered = this.haveRendered;\n this.haveRendered = true;\n this.haveOpened = this.haveOpened || !props.hidden || props.forceSubMenuRender;\n if (!this.haveOpened) {\n return null;\n }\n const domProps = {\n className,\n // role could be 'select' and by default set to menu\n role: props.role || 'menu',\n };\n if (props.id) {\n domProps.id = props.id;\n }\n if (props.focusable) {\n domProps.tabIndex = '0';\n domProps.onKeyDown = this.onKeyDown;\n }\n const { prefixCls, eventKey, hidden, level, mode, overflowedIndicator, theme } = props;\n menuAllProps.forEach(key => delete props[key]);\n\n const transitionAppear = !(!haveRendered && !props.hidden && props.mode === 'inline');\n\n props.className += ` ${props.prefixCls}-sub`;\n delete props.onClick;\n const animProps = {};\n if (props.openTransitionName) {\n animProps.transitionName = props.openTransitionName;\n } else if (typeof props.openAnimation === 'object') {\n animProps.animation = { ...props.openAnimation };\n if (!transitionAppear) {\n delete animProps.animation.appear;\n }\n }\n return (\n /* eslint-disable */\n <DOMWrap\n {...props}\n prefixCls={prefixCls}\n mode={mode}\n tag=\"ul\"\n level={level}\n theme={theme}\n hiddenClassName={`${prefixCls}-hidden`}\n hidden={hidden}\n overflowedIndicator={overflowedIndicator}\n {...domProps}\n >\n {Children.map(\n props.children,\n (c, i) => this.renderMenuItem(c, i, eventKey || '0-menu-'),\n )}\n </DOMWrap>\n /*eslint-enable */\n );\n }\n}\n\nconst connected = connect()(SubPopupMenu);\n\nexport default connected;\n","import Menu from './Menu';\nimport SubMenu from './SubMenu';\nimport MenuItem from './MenuItem';\nimport MenuItemGroup from './MenuItemGroup';\nimport Divider from './Divider';\n\nexport { SubMenu, MenuItem as Item, MenuItem, MenuItemGroup, MenuItemGroup as ItemGroup, Divider };\n\nexport default Menu;\n","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nexport const placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7],\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7],\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n },\n};\n\nexport default placements;\n","import React, { Children } from 'react';\nimport warning from '../../_util/warning';\n\nexport function getKeyFromChildrenIndex(child, menuEventKey, index) {\n const prefix = menuEventKey || '';\n return child.key || `${prefix}item_${index}`;\n}\n\nexport function getMenuIdFromSubMenuEventKey(eventKey) {\n return `${eventKey}-menu-`;\n}\n\nexport function loopMenuItem(children, cb) {\n let index = -1;\n Children.forEach(children, c => {\n index++;\n if (c && c.type && c.type.isMenuItemGroup) {\n Children.forEach(c.props.children, c2 => {\n index++;\n cb(c2, index);\n });\n } else {\n cb(c, index);\n }\n });\n}\n\nexport function loopMenuItemRecursively(children, keys, ret) {\n if (!children || ret.find) {\n return;\n }\n Children.forEach(children, c => {\n if (c) {\n const construct = c.type;\n if (\n !construct ||\n !(construct.isSubMenu || construct.isMenuItem || construct.isMenuItemGroup)\n ) {\n return;\n }\n if (keys.indexOf(c.key) !== -1) {\n ret.find = true;\n } else if (c.props.children) {\n loopMenuItemRecursively(c.props.children, keys, ret);\n }\n }\n });\n}\n\nexport const menuAllProps = [\n 'defaultSelectedKeys',\n 'selectedKeys',\n 'defaultOpenKeys',\n 'openKeys',\n 'mode',\n 'getPopupContainer',\n 'onSelect',\n 'onDeselect',\n 'onDestroy',\n 'openTransitionName',\n 'openAnimation',\n 'subMenuOpenDelay',\n 'subMenuCloseDelay',\n 'forceSubMenuRender',\n 'triggerSubMenuAction',\n 'level',\n 'selectable',\n 'multiple',\n 'onOpenChange',\n 'visible',\n 'focusable',\n 'defaultActiveFirst',\n 'prefixCls',\n 'inlineIndent',\n 'parentMenu',\n 'title',\n 'rootPrefixCls',\n 'eventKey',\n 'active',\n 'onItemHover',\n 'onTitleMouseEnter',\n 'onTitleMouseLeave',\n 'onTitleClick',\n 'popupAlign',\n 'popupOffset',\n 'isOpen',\n 'renderMenuItem',\n 'manualRef',\n 'subMenuKey',\n 'disabled',\n 'index',\n 'isSelected',\n 'store',\n 'activeKey',\n 'builtinPlacements',\n 'overflowedIndicator',\n\n // the following keys found need to be removed from test regression\n 'attribute',\n 'value',\n 'popupClassName',\n 'inlineCollapsed',\n 'menu',\n 'theme',\n 'itemIcon',\n 'expandIcon',\n];\n\nexport const getWidth = elem =>\n (elem &&\n typeof elem.getBoundingClientRect === 'function' &&\n elem.getBoundingClientRect().width) ||\n 0;\n\nexport const setStyle = (elem, styleProperty, value) => {\n if (elem && typeof elem.style === 'object') {\n elem.style[styleProperty] = value;\n }\n};\n","import React, { Component } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nexport default class Notice extends Component {\n static propTypes = {\n duration: PropTypes.number,\n onClose: PropTypes.func,\n children: PropTypes.any,\n closeIcon: PropTypes.node,\n };\n\n static defaultProps = {\n onEnd() {},\n onClose() {},\n duration: 1.5,\n style: {\n right: '50%',\n },\n };\n\n componentDidMount() {\n this.startCloseTimer();\n }\n\n componentWillUnmount() {\n this.clearCloseTimer();\n }\n\n close = () => {\n this.clearCloseTimer();\n this.props.onClose();\n };\n\n startCloseTimer = () => {\n if (this.props.duration) {\n this.closeTimer = setTimeout(() => {\n this.close();\n }, this.props.duration * 1000);\n }\n };\n\n clearCloseTimer = () => {\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n };\n\n render() {\n const props = this.props;\n const componentClass = `${props.prefixCls}-notice`;\n const className = {\n [`${componentClass}`]: 1,\n [`${componentClass}-closable`]: props.closable,\n [props.className]: !!props.className,\n };\n return (\n <div\n className={classNames(className)}\n style={props.style}\n onMouseEnter={this.clearCloseTimer}\n onMouseLeave={this.startCloseTimer}\n >\n <div className={`${componentClass}-content`}>{props.children}</div>\n {props.closable ? (\n <a tabIndex=\"0\" onClick={this.close} className={`${componentClass}-close`}>\n {props.closeIcon || <span className={`${componentClass}-close-x`}></span>}\n </a>\n ) : null}\n </div>\n );\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport Animate from '../../animate';\nimport createChainedFunction from '../util/createChainedFunction';\nimport classnames from 'classnames';\nimport Notice from './Notice';\n\nlet seed = 0;\nconst now = Date.now();\n\nfunction getUuid() {\n return `rcNotification_${now}_${seed++}`;\n}\n\nexport default class Notification extends Component {\n static propTypes = {\n prefixCls: PropTypes.string,\n transitionName: PropTypes.string,\n animation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n style: PropTypes.object,\n closeIcon: PropTypes.node,\n };\n\n static defaultProps = {\n prefixCls: 'rc-notification',\n animation: 'fade',\n style: {\n top: 65,\n left: '50%',\n },\n };\n\n static newInstance = function newNotificationInstance(properties, callback) {\n const { getContainer, ...props } = properties || {};\n const div = document.createElement('div');\n if (getContainer) {\n const root = getContainer();\n root.appendChild(div);\n } else {\n document.body.appendChild(div);\n }\n let called = false;\n\n function ref(notification) {\n if (called) {\n return;\n }\n called = true;\n callback({\n notice(noticeProps) {\n notification.add(noticeProps);\n },\n removeNotice(key) {\n notification.remove(key);\n },\n component: notification,\n destroy() {\n ReactDOM.unmountComponentAtNode(div);\n div.parentNode.removeChild(div);\n },\n });\n }\n\n ReactDOM.render(<Notification {...props} ref={ref} />, div);\n };\n\n state = {\n notices: [],\n };\n\n getTransitionName() {\n const props = this.props;\n let transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = `${props.prefixCls}-${props.animation}`;\n }\n return transitionName;\n }\n\n add = notice => {\n const key = (notice.key = notice.key || getUuid());\n this.setState(previousState => {\n const notices = previousState.notices;\n if (!notices.filter(v => v.key === key).length) {\n return {\n notices: notices.concat(notice),\n };\n }\n });\n };\n\n remove = key => {\n this.setState(previousState => {\n return {\n notices: previousState.notices.filter(notice => notice.key !== key),\n };\n });\n };\n\n render() {\n const props = this.props;\n const noticeNodes = this.state.notices.map(notice => {\n const onClose = createChainedFunction(this.remove.bind(this, notice.key), notice.onClose);\n return (\n <Notice\n prefixCls={props.prefixCls}\n {...notice}\n onClose={onClose}\n closeIcon={props.closeIcon}\n >\n {notice.content}\n </Notice>\n );\n });\n const className = {\n [props.prefixCls]: 1,\n [props.className]: !!props.className,\n };\n return (\n <div className={classnames(className)} style={props.style}>\n <Animate transitionName={this.getTransitionName()}>{noticeNodes}</Animate>\n </div>\n );\n }\n}\n","import Notification from './Notification';\n\nexport default Notification;\n","export default {\n ZERO: 48,\n NINE: 57,\n\n NUMPAD_ZERO: 96,\n NUMPAD_NINE: 105,\n\n BACKSPACE: 8,\n DELETE: 46,\n ENTER: 13,\n\n ARROW_UP: 38,\n ARROW_DOWN: 40,\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport KEYCODE from './KeyCode';\n\nconst BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'tl'],\n offset: [0, 0],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n bottomRight: {\n points: ['tr', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n};\n\nexport default class Options extends Component {\n static propTypes = {\n changeSize: PropTypes.func,\n quickGo: PropTypes.func,\n selectComponentClass: PropTypes.func,\n current: PropTypes.number,\n pageSizeOptions: PropTypes.arrayOf(PropTypes.string),\n pageSize: PropTypes.number,\n buildOptionText: PropTypes.func,\n locale: PropTypes.object,\n };\n\n static defaultProps = {\n pageSizeOptions: ['10', '20', '30', '40'],\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n current: props.current,\n goInputText: '',\n };\n }\n\n buildOptionText = (value) => {\n return `${value} ${this.props.locale.items_per_page}`;\n };\n\n changeSize = (value) => {\n this.props.changeSize(Number(value));\n };\n\n handleChange = (e) => {\n this.setState({\n goInputText: e.target.value,\n });\n };\n\n go = (e) => {\n let val = this.state.goInputText;\n if (val === '') {\n return;\n }\n val = Number(val);\n if (isNaN(val)) {\n val = this.state.current;\n }\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n this.setState({\n goInputText: '',\n current: this.props.quickGo(val),\n });\n }\n };\n\n render() {\n const props = this.props;\n const state = this.state;\n const locale = props.locale;\n const prefixCls = `${props.rootPrefixCls}-options`;\n const changeSize = props.changeSize;\n const quickGo = props.quickGo;\n const goButton = props.goButton;\n const buildOptionText = props.buildOptionText || this.buildOptionText;\n const Select = props.selectComponentClass;\n let changeSelect = null;\n let goInput = null;\n let gotoButton = null;\n let label = null;\n\n if (!(changeSize || quickGo)) {\n return null;\n }\n\n if (changeSize && Select) {\n const Option = Select.Option;\n const pageSize = props.pageSize || props.pageSizeOptions[0];\n const options = props.pageSizeOptions.map((opt, i) => (\n <Option key={i} value={opt}>{buildOptionText(opt)}</Option>\n ));\n\n changeSelect = (\n <Select\n prefixCls={props.selectPrefixCls}\n showSearch={false}\n className={`${prefixCls}-size-changer`}\n optionLabelProp=\"children\"\n dropdownMatchSelectWidth={false}\n value={pageSize.toString()}\n onChange={this.changeSize}\n builtinPlacements={BUILT_IN_PLACEMENTS}\n getPopupContainer={triggerNode => triggerNode.parentNode}\n border={false}\n >\n {options}\n </Select>\n );\n }\n\n if (quickGo) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = (\n <button\n type=\"button\"\n onClick={this.go}\n onKeyUp={this.go}\n >\n {locale.jump_to_confirm}\n </button>\n );\n } else {\n gotoButton = (\n <span\n onClick={this.go}\n onKeyUp={this.go}\n >{goButton}</span>\n );\n }\n }\n goInput = (\n <div className={`${prefixCls}-quick-jumper`}>\n {locale.jump_to}\n <input\n type=\"text\"\n value={state.goInputText}\n onChange={this.handleChange}\n onKeyUp={this.go}\n />\n {locale.page}\n {gotoButton}\n </div>\n );\n }\n\n if (props.changeSizeLabel) {\n label = (\n <span className={`${prefixCls}-label`}>\n {locale.label_items_per_page}\n </span>\n );\n }\n\n return (\n <li className={`${prefixCls}`}>\n {label}\n {changeSelect}\n {goInput}\n </li>\n );\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Pager = (props) => {\n const prefixCls = `${props.rootPrefixCls}-item`;\n let cls = `${prefixCls} ${prefixCls}-${props.page}`;\n\n if (props.active) {\n cls = `${cls} ${prefixCls}-active`;\n }\n\n if (props.className) {\n cls = `${cls} ${props.className}`;\n }\n\n const handleClick = () => {\n props.onClick(props.page);\n };\n\n const handleKeyPress = e => {\n props.onKeyPress(e, props.onClick, props.page);\n };\n\n return (\n <li\n title={props.showTitle ? props.page : null}\n className={cls}\n onClick={handleClick}\n onKeyPress={handleKeyPress}\n tabIndex=\"0\"\n >\n {props.itemRender(props.page, 'page', <a>{props.page}</a>, props.size)}\n </li>\n );\n};\n\nPager.propTypes = {\n page: PropTypes.number,\n active: PropTypes.bool,\n last: PropTypes.bool,\n locale: PropTypes.object,\n className: PropTypes.string,\n showTitle: PropTypes.bool,\n rootPrefixCls: PropTypes.string,\n onClick: PropTypes.func,\n onKeyPress: PropTypes.func,\n itemRender: PropTypes.func,\n};\n\nexport default Pager;\n","import React, { cloneElement, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport noop from 'lodash/noop';\nimport Pager from './Pager';\nimport Options from './Options';\nimport KEYCODE from './KeyCode';\nimport LOCALE from './locale/zh_CN';\n\nfunction isInteger(value) {\n return typeof value === 'number' &&\n isFinite(value) &&\n Math.floor(value) === value;\n}\n\nfunction defaultItemRender(page, type, element) {\n return element;\n}\n\nexport default class Pagination extends Component {\n static propTypes = {\n prefixCls: PropTypes.string,\n current: PropTypes.number,\n defaultCurrent: PropTypes.number,\n total: PropTypes.number,\n pageSize: PropTypes.number,\n defaultPageSize: PropTypes.number,\n onChange: PropTypes.func,\n hideOnSinglePage: PropTypes.bool,\n showSizeChanger: PropTypes.bool,\n showLessItems: PropTypes.bool,\n onShowSizeChange: PropTypes.func,\n selectComponentClass: PropTypes.func,\n showPrevNextJumpers: PropTypes.bool,\n showQuickJumper: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n showTitle: PropTypes.bool,\n pageSizeOptions: PropTypes.arrayOf(PropTypes.string),\n showTotal: PropTypes.func,\n locale: PropTypes.object,\n style: PropTypes.object,\n itemRender: PropTypes.func,\n tiny: PropTypes.bool,\n };\n\n static defaultProps = {\n defaultCurrent: 1,\n total: 0,\n defaultPageSize: 10,\n onChange: noop,\n className: '',\n selectPrefixCls: 'rc-select',\n prefixCls: 'rc-pagination',\n selectComponentClass: null,\n hideOnSinglePage: false,\n showPrevNextJumpers: true,\n showQuickJumper: false,\n showSizeChanger: false,\n showLessItems: false,\n showTitle: true,\n onShowSizeChange: noop,\n locale: LOCALE,\n style: {},\n itemRender: defaultItemRender,\n };\n\n constructor(props) {\n super(props);\n\n const hasOnChange = props.onChange !== noop;\n const hasCurrent = ('current' in props);\n if (hasCurrent && !hasOnChange) {\n console.warn('Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.'); // eslint-disable-line\n }\n\n let current = props.defaultCurrent;\n if ('current' in props) {\n current = props.current;\n }\n\n let pageSize = props.defaultPageSize;\n if ('pageSize' in props) {\n pageSize = props.pageSize;\n }\n\n this.state = {\n current,\n currentInputValue: current,\n pageSize,\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if ('current' in nextProps) {\n this.setState({\n current: nextProps.current,\n currentInputValue: nextProps.current,\n });\n }\n\n if ('pageSize' in nextProps) {\n const newState = {};\n let current = this.state.current;\n const newCurrent = this.calculatePage(nextProps.pageSize);\n current = current > newCurrent ? newCurrent : current;\n if (!('current' in nextProps)) {\n newState.current = current;\n newState.currentInputValue = current;\n }\n newState.pageSize = nextProps.pageSize;\n this.setState(newState);\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n // When current page change, fix focused style of prev item\n const { prefixCls } = this.props;\n if (prevState.current !== this.state.current && this.paginationNode) {\n const lastCurrentNode = this.paginationNode.querySelector(\n `.${prefixCls}-item-${prevState.current}`,\n );\n if (lastCurrentNode && document.activeElement === lastCurrentNode) {\n lastCurrentNode.blur();\n }\n }\n }\n\n getJumpPrevPage() {\n return Math.max(1, this.state.current - (this.props.showLessItems ? 3 : 5));\n }\n\n getJumpNextPage() {\n return Math.min(this.calculatePage(), this.state.current + (this.props.showLessItems ? 3 : 5));\n }\n\n savePaginationNode = (node) => {\n this.paginationNode = node;\n };\n\n calculatePage = (p) => {\n let pageSize = p;\n if (typeof pageSize === 'undefined') {\n pageSize = this.state.pageSize;\n }\n return Math.floor((this.props.total - 1) / pageSize) + 1;\n };\n\n isValid = (page) => {\n return isInteger(page) && page >= 1 && page !== this.state.current;\n };\n\n handleKeyDown = (e) => {\n if (e.keyCode === KEYCODE.ARROW_UP || e.keyCode === KEYCODE.ARROW_DOWN) {\n e.preventDefault();\n }\n };\n\n handleKeyUp = (e) => {\n const inputValue = e.target.value;\n const currentInputValue = this.state.currentInputValue;\n let value;\n\n if (inputValue === '') {\n value = inputValue;\n } else if (isNaN(Number(inputValue))) {\n value = currentInputValue;\n } else {\n value = Number(inputValue);\n }\n\n if (value !== currentInputValue) {\n this.setState({\n currentInputValue: value,\n });\n }\n\n if (e.keyCode === KEYCODE.ENTER) {\n this.handleChange(value);\n } else if (e.keyCode === KEYCODE.ARROW_UP) {\n this.handleChange(value - 1);\n } else if (e.keyCode === KEYCODE.ARROW_DOWN) {\n this.handleChange(value + 1);\n }\n };\n\n changePageSize = (size) => {\n let current = this.state.current;\n const newCurrent = this.calculatePage(size);\n current = current > newCurrent ? newCurrent : current;\n if (typeof size === 'number') {\n if (!('pageSize' in this.props)) {\n this.setState({\n pageSize: size,\n });\n }\n if (!('current' in this.props)) {\n this.setState({\n current,\n currentInputValue: current,\n });\n }\n }\n this.props.onShowSizeChange(current, size);\n };\n\n handleChange = (p) => {\n let page = p;\n if (this.isValid(page)) {\n if (page > this.calculatePage()) {\n page = this.calculatePage();\n }\n\n if (!('current' in this.props)) {\n this.setState({\n current: page,\n currentInputValue: page,\n });\n }\n\n const pageSize = this.state.pageSize;\n this.props.onChange(page, pageSize);\n\n return page;\n }\n\n return this.state.current;\n };\n\n first = () => {\n if (this.hasPrev()) {\n this.handleChange(1);\n }\n };\n\n last = () => {\n if (this.hasNext()) {\n this.handleChange(this.calculatePage());\n }\n };\n\n prev = () => {\n if (this.hasPrev()) {\n this.handleChange(this.state.current - 1);\n }\n };\n\n next = () => {\n if (this.hasNext()) {\n this.handleChange(this.state.current + 1);\n }\n };\n\n getJumpPrevPage() {\n return Math.max(1, this.state.current - (this.props.showLessItems ? 3 : 5));\n }\n\n getJumpNextPage() {\n return Math.min(this.calculatePage(), this.state.current + (this.props.showLessItems ? 3 : 5));\n }\n\n jumpPrev = () => {\n this.handleChange(this.getJumpPrevPage());\n };\n\n jumpNext = () => {\n this.handleChange(this.getJumpNextPage());\n };\n\n hasPrev = () => {\n return this.state.current > 1;\n };\n\n hasNext = () => {\n return this.state.current < this.calculatePage();\n };\n\n runIfEnter = (event, callback, ...restParams) => {\n if (event.key === 'Enter' || event.charCode === 13) {\n callback(...restParams);\n }\n };\n\n runIfEnterFirst = e => {\n this.runIfEnter(e, this.first);\n };\n\n runIfEnterLast = e => {\n this.runIfEnter(e, this.last);\n };\n\n runIfEnterPrev = e => {\n this.runIfEnter(e, this.prev);\n };\n\n runIfEnterNext = e => {\n this.runIfEnter(e, this.next);\n };\n\n runIfEnterJumpPrev = e => {\n this.runIfEnter(e, this.jumpPrev);\n };\n\n runIfEnterJumpNext = e => {\n this.runIfEnter(e, this.jumpNext);\n };\n\n handleGoTO = e => {\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n this.handleChange(this.state.currentInputValue);\n }\n };\n\n render() {\n // When hideOnSinglePage is true and there is only 1 page, hide the pager\n if (this.props.hideOnSinglePage === true && this.props.total <= this.state.pageSize) {\n return null;\n }\n\n const props = this.props;\n const locale = props.locale;\n\n const prefixCls = props.prefixCls;\n const allPages = this.calculatePage();\n const pagerList = [];\n let jumpPrev = null;\n let jumpNext = null;\n let firstPager = null;\n let lastPager = null;\n let gotoButton = null;\n\n const goButton = (props.showQuickJumper && props.showQuickJumper.goButton);\n const pageBufferSize = props.showLessItems ? 1 : 2;\n const { current, pageSize } = this.state;\n\n const prevPage = current - 1 > 0 ? current - 1 : 0;\n const nextPage = current + 1 < allPages ? current + 1 : allPages;\n\n if (props.simple) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = (\n <button\n type=\"button\"\n onClick={this.handleGoTO}\n onKeyUp={this.handleGoTO}\n >\n {locale.jump_to_confirm}\n </button>\n );\n } else {\n gotoButton = (\n <span\n onClick={this.handleGoTO}\n onKeyUp={this.handleGoTO}\n >{goButton}</span>\n );\n }\n gotoButton = (\n <li\n title={props.showTitle ? `${locale.jump_to}${this.state.current}/${allPages}` : null}\n className={`${prefixCls}-simple-pager`}\n >\n {gotoButton}\n </li>\n );\n }\n\n return (\n <ul className={`${prefixCls} ${prefixCls}-simple ${props.className}`} style={props.style}>\n <li\n title={props.showTitle ? locale.prev_page : null}\n onClick={this.prev}\n tabIndex={this.hasPrev() ? 0 : null}\n onKeyPress={this.runIfEnterPrev}\n className={`${this.hasPrev() ? '' : `${prefixCls}-disabled`} ${prefixCls}-prev`}\n aria-disabled={!this.hasPrev()}\n >\n {props.itemRender(prevPage, 'prev', <a className={`${prefixCls}-item-link`} />, !this.hasPrev(), 'small')}\n </li>\n <li\n title={props.showTitle ? `${this.state.current}/${allPages}` : null}\n className={`${prefixCls}-simple-pager`}\n >\n <input\n type=\"text\"\n value={this.state.currentInputValue}\n onKeyDown={this.handleKeyDown}\n onKeyUp={this.handleKeyUp}\n onChange={this.handleKeyUp}\n size=\"3\"\n />\n <span className={`${prefixCls}-slash`}>/</span>\n {allPages}\n </li>\n <li\n title={props.showTitle ? locale.next_page : null}\n onClick={this.next}\n tabIndex={this.hasPrev() ? 0 : null}\n onKeyPress={this.runIfEnterNext}\n className={`${this.hasNext() ? '' : `${prefixCls}-disabled`} ${prefixCls}-next`}\n aria-disabled={!this.hasNext()}\n >\n {props.itemRender(nextPage, 'next', <a className={`${prefixCls}-item-link`} />, !this.hasNext(), 'small')}\n </li>\n {gotoButton}\n </ul>\n );\n }\n\n if (allPages <= 5 + pageBufferSize * 2) {\n for (let i = 1; i <= allPages; i++) {\n const active = this.state.current === i;\n pagerList.push(\n <Pager\n size={props.size}\n locale={locale}\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeyPress={this.runIfEnter}\n key={i}\n page={i}\n active={active}\n showTitle={props.showTitle}\n itemRender={props.itemRender}\n />,\n );\n }\n } else {\n const prevItemTitle = props.showLessItems ? locale.prev_3 : locale.prev_5;\n const nextItemTitle = props.showLessItems ? locale.next_3 : locale.next_5;\n if (props.showPrevNextJumpers) {\n jumpPrev = (\n <li\n title={props.showTitle ? prevItemTitle : null}\n key=\"prev\"\n onClick={this.jumpPrev}\n tabIndex=\"0\"\n onKeyPress={this.runIfEnterJumpPrev}\n className={`${prefixCls}-jump-prev`}\n >\n {props.itemRender(\n this.getJumpPrevPage(), 'jump-prev', <a className={`${prefixCls}-item-link`}>•••</a>, props.size,\n )}\n </li>\n );\n jumpNext = (\n <li\n title={props.showTitle ? nextItemTitle : null}\n key=\"next\"\n tabIndex=\"0\"\n onClick={this.jumpNext}\n onKeyPress={this.runIfEnterJumpNext}\n className={`${prefixCls}-jump-next`}\n >\n {props.itemRender(\n this.getJumpNextPage(), 'jump-next', <a className={`${prefixCls}-item-link`}>•••</a>, props.size,\n )}\n </li>\n );\n }\n lastPager = (\n <Pager\n size={props.size}\n locale={props.locale}\n last\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeyPress={this.runIfEnter}\n key={allPages}\n page={allPages}\n active={false}\n showTitle={props.showTitle}\n itemRender={props.itemRender}\n />\n );\n firstPager = (\n <Pager\n size={props.size}\n locale={props.locale}\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeyPress={this.runIfEnter}\n key={1}\n page={1}\n active={false}\n showTitle={props.showTitle}\n itemRender={props.itemRender}\n />\n );\n\n let left = Math.max(1, current - pageBufferSize);\n let right = Math.min(current + pageBufferSize, allPages);\n\n if (current - 1 <= pageBufferSize) {\n right = 1 + pageBufferSize * 2;\n }\n\n if (allPages - current <= pageBufferSize) {\n left = allPages - pageBufferSize * 2;\n }\n\n for (let i = left; i <= right; i++) {\n const active = current === i;\n pagerList.push(\n <Pager\n size={props.size}\n locale={props.locale}\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeyPress={this.runIfEnter}\n key={i}\n page={i}\n active={active}\n showTitle={props.showTitle}\n itemRender={props.itemRender}\n />,\n );\n }\n\n if (current - 1 >= pageBufferSize * 2 && current !== 1 + 2) {\n pagerList[0] = cloneElement(pagerList[0], {\n className: `${prefixCls}-item-after-jump-prev`,\n });\n pagerList.unshift(jumpPrev);\n }\n if (allPages - current >= pageBufferSize * 2 && current !== allPages - 2) {\n pagerList[pagerList.length - 1] = cloneElement(pagerList[pagerList.length - 1], {\n className: `${prefixCls}-item-before-jump-next`,\n });\n pagerList.push(jumpNext);\n }\n\n if (left !== 1) {\n pagerList.unshift(firstPager);\n }\n if (right !== allPages) {\n pagerList.push(lastPager);\n }\n }\n\n let totalText = null;\n\n if (props.showTotal) {\n totalText = (\n <li className={`${prefixCls}-total-text`}>\n {props.showTotal(\n props.total,\n [\n (current - 1) * pageSize + 1,\n current * pageSize > props.total ? props.total : current * pageSize,\n ],\n )}\n </li>\n );\n }\n if (props.tiny) {\n const fistDisabled = !this.hasPrev();\n const lastDisabled = !this.hasNext();\n firstPager = (\n <li\n title={props.showTitle ? locale.first_page : null}\n onClick={this.first}\n tabIndex={fistDisabled ? null : 0}\n onKeyPress={this.runIfEnterFirst}\n className={`${!fistDisabled ? '' : `${prefixCls}-disabled`} ${prefixCls}-first`}\n aria-disabled={fistDisabled}\n >\n {props.itemRender(1, 'first', <a className={`${prefixCls}-item-link`} />, fistDisabled, props.size)}\n </li>\n );\n lastPager = (\n <li\n title={props.showTitle ? locale.last_page : null}\n onClick={this.last}\n tabIndex={lastDisabled ? null : 0}\n onKeyPress={this.runIfEnterLast}\n className={`${!lastDisabled ? '' : `${prefixCls}-disabled`} ${prefixCls}-last`}\n aria-disabled={lastDisabled}\n >\n {props.itemRender(allPages, 'last', <a className={`${prefixCls}-item-link`} />, lastDisabled, props.size)}\n </li>\n );\n }\n const prevDisabled = !this.hasPrev();\n const nextDisabled = !this.hasNext();\n const sizeChanger = (\n <Options\n locale={props.locale}\n rootPrefixCls={prefixCls}\n selectComponentClass={props.selectComponentClass}\n selectPrefixCls={props.selectPrefixCls}\n changeSize={this.props.showSizeChanger ? this.changePageSize : null}\n current={this.state.current}\n pageSize={this.state.pageSize}\n pageSizeOptions={this.props.pageSizeOptions}\n quickGo={this.props.showQuickJumper ? this.handleChange : null}\n goButton={goButton}\n buildOptionText={props.sizeChangerOptionText}\n changeSizeLabel={this.props.showSizeChangerLabel}\n />\n );\n const classString = classNames(prefixCls, props.className, {\n [`${prefixCls}-tiny`]: props.tiny,\n });\n return (\n <ul\n className={classString}\n style={props.style}\n unselectable=\"unselectable\"\n ref={this.savePaginationNode}\n >\n {props.tiny && sizeChanger}\n {totalText}\n {props.tiny && firstPager}\n <li\n title={props.showTitle ? locale.prev_page : null}\n onClick={this.prev}\n tabIndex={prevDisabled ? null : 0}\n onKeyPress={this.runIfEnterPrev}\n className={`${!prevDisabled ? '' : `${prefixCls}-disabled`} ${prefixCls}-prev`}\n aria-disabled={prevDisabled}\n >\n {props.itemRender(prevPage, 'prev', <a className={`${prefixCls}-item-link`} />, prevDisabled, props.size)}\n </li>\n {!props.tiny && pagerList}\n <li\n title={props.showTitle ? locale.next_page : null}\n onClick={this.next}\n tabIndex={nextDisabled ? null : 0}\n onKeyPress={this.runIfEnterNext}\n className={`${!nextDisabled ? '' : `${prefixCls}-disabled`} ${prefixCls}-next`}\n aria-disabled={nextDisabled}\n >\n {props.itemRender(nextPage, 'next', <a className={`${prefixCls}-item-link`} />, nextDisabled, props.size)}\n </li>\n {props.tiny ? lastPager : sizeChanger}\n </ul>\n );\n }\n}\n","export { default } from './Pagination';\n","export default {\n // Options.jsx\n items_per_page: '/ الصفحة',\n label_items_per_page: 'Items / page',\n jump_to: 'الذهاب إلى',\n jump_to_confirm: 'تأكيد',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'الصفحة السابقة',\n next_page: 'الصفحة التالية',\n prev_5: 'خمس صفحات سابقة',\n next_5: 'خمس صفحات تالية',\n prev_3: 'ثلاث صفحات سابقة',\n next_3: 'ثلاث صفحات تالية',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ страница',\n label_items_per_page: 'Items / page',\n jump_to: 'Към',\n jump_to_confirm: 'потвърждавам',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Предишна страница',\n next_page: 'Следваща страница',\n prev_5: 'Предишни 5 страници',\n next_5: 'Следващи 5 страници',\n prev_3: 'Предишни 3 страници',\n next_3: 'Следващи 3 страници',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ pàgina',\n label_items_per_page: 'Items / page',\n jump_to: 'Anar a',\n jump_to_confirm: 'Confirma',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Pàgina prèvia',\n next_page: 'Pàgina següent',\n prev_5: '5 pàgines prèvies',\n next_5: '5 pàgines següents',\n prev_3: '3 pàgines prèvies',\n next_3: '3 pàgines següents',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ strana',\n label_items_per_page: 'Items / page',\n jump_to: 'Přejít',\n jump_to_confirm: 'potvrdit',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Předchozí strana',\n next_page: 'Následující strana',\n prev_5: 'Předchozích 5 stran',\n next_5: 'Následujících 5 stran',\n prev_3: 'Předchozí 3 strany',\n next_3: 'Následující 3 strany',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ Seite',\n label_items_per_page: 'Items / page',\n jump_to: 'Gehe zu',\n jump_to_confirm: 'bestätigen',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Vorherige Seite',\n next_page: 'Nächste Seite',\n prev_5: '5 Seiten zurück',\n next_5: '5 Seiten vor',\n prev_3: '3 Seiten zurück',\n next_3: '3 Seiten vor',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ σελίδα',\n label_items_per_page: 'Items / page',\n jump_to: 'Μετάβαση',\n jump_to_confirm: 'επιβεβαιώνω',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Προηγούμενη Σελίδα',\n next_page: 'Επόμενη Σελίδα',\n prev_5: 'Προηγούμενες 5 Σελίδες',\n next_5: 'Επόμενες 5 σελίδες',\n prev_3: 'Προηγούμενες 3 Σελίδες',\n next_3: 'Επόμενες 3 Σελίδες',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ page',\n label_items_per_page: 'Items / page',\n jump_to: 'Goto',\n jump_to_confirm: 'confirm',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ page',\n label_items_per_page: 'Items / page',\n jump_to: 'Goto',\n jump_to_confirm: 'confirm',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ página',\n label_items_per_page: 'Items / page',\n jump_to: 'Ir a',\n jump_to_confirm: 'confirmar',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Página anterior',\n next_page: 'Página siguiente',\n prev_5: '5 páginas previas',\n next_5: '5 páginas siguientes',\n prev_3: '3 páginas previas',\n next_3: '3 páginas siguientes',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ leheküljel',\n label_items_per_page: 'Items / page',\n jump_to: 'Hüppa',\n jump_to_confirm: 'Kinnitage',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Eelmine leht',\n next_page: 'Järgmine leht',\n prev_5: 'Eelmised 5 lehekülge',\n next_5: 'Järgmised 5 lehekülge',\n prev_3: 'Eelmised 3 lehekülge',\n next_3: 'Järgmised 3 lehekülge',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ صفحه',\n label_items_per_page: 'Items / page',\n jump_to: 'برو به',\n jump_to_confirm: 'تایید',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'صفحه قبلی',\n next_page: 'صفحه بعدی',\n prev_5: '۵ صفحه قبلی',\n next_5: '۵ صفحه بعدی',\n prev_3: '۳ صفحه قبلی',\n next_3: '۳ صفحه بعدی',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ sivu',\n label_items_per_page: 'Items / page',\n jump_to: 'Mene',\n jump_to_confirm: 'Potvrdite',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Edellinen sivu',\n next_page: 'Seuraava sivu',\n prev_5: 'Edelliset 5 sivua',\n next_5: 'Seuraavat 5 sivua',\n prev_3: 'Edelliset 3 sivua',\n next_3: 'Seuraavat 3 sivua',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ page',\n label_items_per_page: 'Items / page',\n jump_to: 'Aller à',\n jump_to_confirm: 'confirmer',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Page précédente',\n next_page: 'Page suivante',\n prev_5: '5 Pages précédentes',\n next_5: '5 Pages suivantes',\n prev_3: '3 Pages précédentes',\n next_3: '3 Pages suivantes',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ page',\n label_items_per_page: 'Items / page',\n jump_to: 'Aller à',\n jump_to_confirm: 'confirmer',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Page précédente',\n next_page: 'Page suivante',\n prev_5: '5 Pages précédentes',\n next_5: '5 Pages suivantes',\n prev_3: '3 Pages précédentes',\n next_3: '3 Pages suivantes',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ síðu',\n label_items_per_page: 'Items / page',\n jump_to: 'Síða',\n jump_to_confirm: 'staðfest',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Fyrri síða',\n next_page: 'Næsta síða',\n prev_5: 'Til baka 5 síður',\n next_5: 'Áfram 5 síður',\n prev_3: 'Til baka 3 síður',\n next_3: 'Áfram 3 síður',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ pagina',\n label_items_per_page: 'Items / page',\n jump_to: 'vai a',\n jump_to_confirm: 'Conferma',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Pagina precedente',\n next_page: 'Pagina successiva',\n prev_5: 'Precedente 5 pagine',\n next_5: 'Prossime 5 pagine',\n prev_3: 'Precedente 3 pagine',\n next_3: 'Prossime 3 pagine',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ ページ',\n label_items_per_page: 'Items / page',\n jump_to: '移動',\n jump_to_confirm: '確認する',\n page: 'ページ',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: '前のページ',\n next_page: '次のページ',\n prev_5: '前 5ページ',\n next_5: '次 5ページ',\n prev_3: '前 3ページ',\n next_3: '次 3ページ',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ 쪽',\n label_items_per_page: 'Items / page',\n jump_to: '이동하기',\n jump_to_confirm: '확인하다',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: '이전 페이지',\n next_page: '다음 페이지',\n prev_5: '이전 5 페이지',\n next_5: '다음 5 페이지',\n prev_3: '이전 3 페이지',\n next_3: '다음 3 페이지',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ rûpel',\n label_items_per_page: 'Items / page',\n jump_to: 'Biçe',\n jump_to_confirm: 'piştrast bike',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Rûpelê Pêş',\n next_page: 'Rûpelê Paş',\n prev_5: '5 Rûpelên Pêş',\n next_5: '5 Rûpelên Paş',\n prev_3: '3 Rûpelên Pêş',\n next_3: '3 Rûpelên Paş',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ side',\n label_items_per_page: 'Items / page',\n jump_to: 'Gå til side',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Forrige side',\n next_page: 'Neste side',\n prev_5: '5 forrige',\n next_5: '5 neste',\n prev_3: '3 forrige',\n next_3: '3 neste',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ pagina',\n label_items_per_page: 'Items / page',\n jump_to: 'Ga naar',\n jump_to_confirm: 'bevestigen',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Vorige pagina',\n next_page: 'Volgende pagina',\n prev_5: 'Vorige 5 pagina\\'s',\n next_5: 'Volgende 5 pagina\\'s',\n prev_3: 'Vorige 3 pagina\\'s',\n next_3: 'Volgende 3 pagina\\'s',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ pagina',\n label_items_per_page: 'Items / page',\n jump_to: 'Ga naar',\n jump_to_confirm: 'bevestigen',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Vorige pagina',\n next_page: 'Volgende pagina',\n prev_5: 'Vorige 5 pagina\\'s',\n next_5: 'Volgende 5 pagina\\'s',\n prev_3: 'Vorige 3 pagina\\'s',\n next_3: 'Volgende 3 pagina\\'s',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ stronę',\n label_items_per_page: 'Items / page',\n jump_to: 'Idź do',\n jump_to_confirm: 'potwierdzać',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Poprzednia strona',\n next_page: 'Następna strona',\n prev_5: 'Poprzednie 5 stron',\n next_5: 'Następne 5 stron',\n prev_3: 'Poprzednie 3 strony',\n next_3: 'Następne 3 strony',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ páginas',\n label_items_per_page: 'Items / page',\n jump_to: 'Vá até',\n jump_to_confirm: 'confirme',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Página anterior',\n next_page: 'Próxima página',\n prev_5: '5 páginas anteriores',\n next_5: '5 próximas páginas',\n prev_3: '3 páginas anteriores',\n next_3: '3 próximas páginas',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ página',\n label_items_per_page: 'Items / page',\n jump_to: 'Saltar',\n jump_to_confirm: 'confirmar',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Página Anterior',\n next_page: 'Página Seguinte',\n prev_5: 'Recuar 5 Páginas',\n next_5: 'Avançar 5 Páginas',\n prev_3: 'Recuar 3 Páginas',\n next_3: 'Avançar 3 Páginas',\n};\n","export default {\n // Options.jsx\n items_per_page: '/странице',\n label_items_per_page: 'Items / page',\n jump_to: 'Перейти',\n jump_to_confirm: 'подтвердить',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Назад',\n next_page: 'Вперед',\n prev_5: 'Предыдущие 5',\n next_5: 'Следующие 5',\n prev_3: 'Предыдущие 3',\n next_3: 'Следующие 3',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ strana',\n label_items_per_page: 'Items / page',\n jump_to: 'Choď na',\n jump_to_confirm: 'potvrdit',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Predchádzajúca strana',\n next_page: 'Nasledujúca strana',\n prev_5: 'Predchádzajúcich 5 strán',\n next_5: 'Nasledujúcich 5 strán',\n prev_3: 'Predchádzajúce 3 strany',\n next_3: 'Nasledujúce 3 strany',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ strani',\n label_items_per_page: 'Items / page',\n jump_to: 'Pojdi na',\n jump_to_confirm: 'potrdi',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Prejšnja stran',\n next_page: 'Naslednja stran',\n prev_5: 'Prejšnjih 5 strani',\n next_5: 'Naslednjih 5 strani',\n prev_3: 'Prejšnje 3 strani',\n next_3: 'Naslednje 3 strani',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ strani',\n label_items_per_page: 'Items / page',\n jump_to: 'Idi na',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Prethodna strana',\n next_page: 'Sledeća strana',\n prev_5: 'Prethodnih 5 Strana',\n next_5: 'Sledećih 5 Strana',\n prev_3: 'Prethodnih 3 Strane',\n next_3: 'Sledećih 3 Strane',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ sida',\n label_items_per_page: 'Items / page',\n jump_to: 'Gå till',\n jump_to_confirm: 'bekräfta',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Föreg sida',\n next_page: 'Nästa sida',\n prev_5: 'Föreg 5 sidor',\n next_5: 'Nästa 5 sidor',\n prev_3: 'Föreg 3 sidor',\n next_3: 'Nästa 3 sidor',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ หน้า',\n label_items_per_page: 'Items / page',\n jump_to: 'ไปยัง',\n jump_to_confirm: 'ยืนยัน',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'หน้าก่อนหน้า',\n next_page: 'หน้าถัดไป',\n prev_5: 'ย้อนกลับ 5 หน้า',\n next_5: 'ถัดไป 5 หน้า',\n prev_3: 'ย้อนกลับ 3 หน้า',\n next_3: 'ถัดไป 3 หน้า',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ sayfa',\n label_items_per_page: 'Items / page',\n jump_to: 'Git',\n jump_to_confirm: 'onayla',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Önceki Sayfa',\n next_page: 'Sonraki Sayfa',\n prev_5: 'Önceki 5 Sayfa',\n next_5: 'Sonraki 5 Sayfa',\n prev_3: 'Önceki 3 Sayfa',\n next_3: 'Sonraki 3 Sayfa',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ сторінці',\n label_items_per_page: 'Items / page',\n jump_to: 'Перейти',\n jump_to_confirm: 'підтвердити',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Попередня сторінка',\n next_page: 'Наступна сторінка',\n prev_5: 'Попередні 5 сторінок',\n next_5: 'Наступні 5 сторінок',\n prev_3: 'Попередні 3 сторінки',\n next_3: 'Наступні 3 сторінки',\n};\n","export default {\n // Options.jsx\n items_per_page: '/ trang',\n label_items_per_page: 'Items / page',\n jump_to: 'Đến',\n jump_to_confirm: 'xác nhận',\n page: '',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: 'Trang Trước',\n next_page: 'Trang Kế',\n prev_5: 'Về 5 Trang Trước',\n next_5: 'Đến 5 Trang Kế',\n prev_3: 'Về 3 Trang Trước',\n next_3: 'Đến 3 Trang Kế',\n};\n","export default {\n // Options.jsx\n items_per_page: '条/页',\n label_items_per_page: '每页行数',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n\n // Pagination.jsx\n first_page: '首页',\n last_page: '末页',\n prev_page: '上一页',\n next_page: '下一页',\n prev_5: '向前 5 页',\n next_5: '向后 5 页',\n prev_3: '向前 3 页',\n next_3: '向后 3 页',\n};\n","export default {\n // Options.jsx\n items_per_page: '條/頁',\n label_items_per_page: 'Items / page',\n jump_to: '跳至',\n jump_to_confirm: '確定',\n page: '頁',\n\n // Pagination.jsx\n first_page: 'First Page',\n last_page: 'Last Page',\n prev_page: '上一頁',\n next_page: '下一頁',\n prev_5: '向前 5 頁',\n next_5: '向後 5 頁',\n prev_3: '向前 3 頁',\n next_3: '向後 3 頁',\n};\n","/* eslint react/prop-types: 0 */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport enhancer from './enhancer';\nimport { defaultProps, propTypes } from './types';\n\nclass Circle extends Component {\n static propTypes = {\n ...propTypes,\n gapPosition: PropTypes.oneOf(['top', 'bottom', 'left', 'right']),\n };\n\n static defaultProps = {\n ...defaultProps,\n gapPosition: 'top',\n };\n\n getPathStyles() {\n const { percent, strokeWidth, gapDegree = 0, gapPosition } = this.props;\n const radius = 50 - strokeWidth / 2;\n let beginPositionX = 0;\n let beginPositionY = -radius;\n let endPositionX = 0;\n let endPositionY = -2 * radius;\n switch (gapPosition) {\n case 'left':\n beginPositionX = -radius;\n beginPositionY = 0;\n endPositionX = 2 * radius;\n endPositionY = 0;\n break;\n case 'right':\n beginPositionX = radius;\n beginPositionY = 0;\n endPositionX = -2 * radius;\n endPositionY = 0;\n break;\n case 'bottom':\n beginPositionY = radius;\n endPositionY = 2 * radius;\n break;\n default:\n }\n const pathString = `M 50,50 m ${beginPositionX},${beginPositionY}\n a ${radius},${radius} 0 1 1 ${endPositionX},${-endPositionY}\n a ${radius},${radius} 0 1 1 ${-endPositionX},${endPositionY}`;\n const len = Math.PI * 2 * radius;\n const trailPathStyle = {\n strokeDasharray: `${len - gapDegree}px ${len}px`,\n strokeDashoffset: `-${gapDegree / 2}px`,\n transition: 'stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s',\n };\n const strokePathStyle = {\n strokeDasharray: `${(percent / 100) * (len - gapDegree)}px ${len}px`,\n strokeDashoffset: `-${gapDegree / 2}px`,\n transition:\n 'stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s', // eslint-disable-line\n };\n return { pathString, trailPathStyle, strokePathStyle };\n }\n\n render() {\n const {\n prefixCls,\n strokeWidth,\n trailWidth,\n strokeColor,\n percent,\n trailColor,\n strokeLinecap,\n style,\n className,\n ...restProps\n } = this.props;\n const { pathString, trailPathStyle, strokePathStyle } = this.getPathStyles();\n delete restProps.percent;\n delete restProps.gapDegree;\n delete restProps.gapPosition;\n return (\n <svg\n className={`${prefixCls}-circle ${className}`}\n viewBox=\"0 0 100 100\"\n style={style}\n {...restProps}\n >\n <path\n className={`${prefixCls}-circle-trail`}\n d={pathString}\n stroke={trailColor}\n strokeWidth={trailWidth || strokeWidth}\n fillOpacity=\"0\"\n style={trailPathStyle}\n />\n <path\n className={`${prefixCls}-circle-path`}\n d={pathString}\n strokeLinecap={strokeLinecap}\n stroke={strokeColor}\n strokeWidth={this.props.percent === 0 ? 0 : strokeWidth}\n fillOpacity=\"0\"\n ref={path => {\n this.path = path;\n }}\n style={strokePathStyle}\n />\n </svg>\n );\n }\n}\n\nexport default enhancer(Circle);\n","import React, { Component } from 'react';\nimport enhancer from './enhancer';\nimport { defaultProps, propTypes } from './types';\n\nclass Line extends Component {\n static propTypes = propTypes;\n\n static defaultProps = defaultProps;\n\n render() {\n const {\n className,\n percent,\n prefixCls,\n strokeColor,\n strokeLinecap,\n strokeWidth,\n style,\n trailColor,\n trailWidth,\n ...restProps\n } = this.props;\n\n delete restProps.gapPosition;\n\n const pathStyle = {\n strokeDasharray: '100px, 100px',\n strokeDashoffset: `${100 - percent}px`,\n transition: 'stroke-dashoffset 0.3s ease 0s, stroke 0.3s linear',\n };\n\n const center = strokeWidth / 2;\n const right = 100 - strokeWidth / 2;\n const pathString = `M ${strokeLinecap === 'round' ? center : 0},${center}\n L ${strokeLinecap === 'round' ? right : 100},${center}`;\n const viewBoxString = `0 0 100 ${strokeWidth}`;\n\n return (\n <svg\n className={`${prefixCls}-line ${className}`}\n viewBox={viewBoxString}\n preserveAspectRatio=\"none\"\n style={style}\n {...restProps}\n >\n <path\n className={`${prefixCls}-line-trail`}\n d={pathString}\n strokeLinecap={strokeLinecap}\n stroke={trailColor}\n strokeWidth={trailWidth || strokeWidth}\n fillOpacity=\"0\"\n />\n <path\n className={`${prefixCls}-line-path`}\n d={pathString}\n strokeLinecap={strokeLinecap}\n stroke={strokeColor}\n strokeWidth={strokeWidth}\n fillOpacity=\"0\"\n ref={path => {\n this.path = path;\n }}\n style={pathStyle}\n />\n </svg>\n );\n }\n}\n\nexport default enhancer(Line);\n","const enhancer = WrappedComponent => class Progress extends WrappedComponent {\n componentDidUpdate() {\n if (!this.path) {\n return;\n }\n const pathStyle = this.path.style;\n pathStyle.transitionDuration = '.3s, .3s, .3s, .06s';\n const now = Date.now();\n if (this.prevTimeStamp && now - this.prevTimeStamp < 100) {\n pathStyle.transitionDuration = '0s, 0s';\n }\n this.prevTimeStamp = Date.now();\n }\n\n render() {\n return super.render();\n }\n};\n\nexport default enhancer;\n","import Line from './Line';\nimport Circle from './Circle';\n\nexport {\n Line,\n Circle,\n};\n\nexport default {\n Line,\n Circle,\n};\n","import PropTypes from 'prop-types';\n\nexport const defaultProps = {\n className: '',\n percent: 0,\n prefixCls: 'rc-progress',\n strokeColor: '#2db7f5',\n strokeLinecap: 'round',\n strokeWidth: 1,\n style: {},\n trailColor: '#D9D9D9',\n trailWidth: 1,\n};\n\nexport const propTypes = {\n className: PropTypes.string,\n percent: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n prefixCls: PropTypes.string,\n strokeColor: PropTypes.string,\n strokeLinecap: PropTypes.oneOf(['butt', 'round', 'square']),\n strokeWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n style: PropTypes.object,\n trailColor: PropTypes.string,\n trailWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n};\n","import React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport noop from 'lodash/noop';\nimport KeyCode from '../../_util/KeyCode';\nimport { getOffsetLeft } from './util';\nimport Star from './Star';\n\nexport default class Rate extends Component {\n static propTypes = {\n disabled: PropTypes.bool,\n value: PropTypes.number,\n defaultValue: PropTypes.number,\n count: PropTypes.number,\n allowHalf: PropTypes.bool,\n allowClear: PropTypes.bool,\n style: PropTypes.object,\n prefixCls: PropTypes.string,\n onChange: PropTypes.func,\n onHoverChange: PropTypes.func,\n className: PropTypes.string,\n character: PropTypes.node,\n tabIndex: PropTypes.number,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onKeyDown: PropTypes.func,\n autoFocus: PropTypes.bool,\n };\n\n static defaultProps = {\n defaultValue: 0,\n count: 5,\n allowHalf: false,\n allowClear: true,\n style: {},\n prefixCls: 'rc-rate',\n onChange: noop,\n character: '★',\n onHoverChange: noop,\n tabIndex: 0,\n };\n\n constructor(props) {\n super(props);\n let value = props.value;\n if (value === undefined) {\n value = props.defaultValue;\n }\n\n this.stars = {};\n\n this.state = {\n value,\n focused: false,\n cleanedValue: null,\n };\n }\n\n componentDidMount() {\n if (this.props.autoFocus && !this.props.disabled) {\n this.focus();\n }\n }\n\n componentWillReceiveProps(nextProps) {\n if ('value' in nextProps) {\n let value = nextProps.value;\n if (value === undefined) {\n value = nextProps.defaultValue;\n }\n this.setState({\n value,\n });\n }\n }\n\n onHover = (event, index) => {\n const hoverValue = this.getStarValue(index, event.pageX);\n const { cleanedValue } = this.state;\n if (hoverValue !== cleanedValue) {\n this.setState({\n hoverValue,\n cleanedValue: null,\n });\n }\n this.props.onHoverChange(hoverValue);\n };\n\n onMouseLeave = () => {\n this.setState({\n hoverValue: undefined,\n cleanedValue: null,\n });\n this.props.onHoverChange(undefined);\n };\n\n onClick = (event, index) => {\n const value = this.getStarValue(index, event.pageX);\n let isReset = false;\n if (this.props.allowClear) {\n isReset = value === this.state.value;\n }\n this.onMouseLeave(true);\n this.changeValue(isReset ? 0 : value);\n this.setState({\n cleanedValue: isReset ? value : null,\n });\n };\n\n onFocus = () => {\n const { onFocus } = this.props;\n this.setState({\n focused: true,\n });\n if (onFocus) {\n onFocus();\n }\n };\n\n onBlur = () => {\n const { onBlur } = this.props;\n this.setState({\n focused: false,\n });\n if (onBlur) {\n onBlur();\n }\n };\n\n onKeyDown = (event) => {\n const { keyCode } = event;\n const { count, allowHalf, onKeyDown } = this.props;\n let { value } = this.state;\n if (keyCode === KeyCode.RIGHT && value < count) {\n if (allowHalf) {\n value += 0.5;\n } else {\n value += 1;\n }\n this.changeValue(value);\n event.preventDefault();\n } else if (keyCode === KeyCode.LEFT && value > 0) {\n if (allowHalf) {\n value -= 0.5;\n } else {\n value -= 1;\n }\n this.changeValue(value);\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n getStarDOM(index) {\n return ReactDOM.findDOMNode(this.stars[index]);\n }\n\n getStarValue(index, x) {\n let value = index + 1;\n if (this.props.allowHalf) {\n const starEle = this.getStarDOM(index);\n const leftDis = getOffsetLeft(starEle);\n const width = starEle.clientWidth;\n if ((x - leftDis) < width / 2) {\n value -= 0.5;\n }\n }\n return value;\n }\n\n focus() {\n if (!this.props.disabled) {\n this.rate.focus();\n }\n }\n\n blur() {\n if (!this.props.disabled) {\n this.rate.focus();\n }\n }\n\n changeValue(value) {\n if (!('value' in this.props)) {\n this.setState({\n value,\n });\n }\n this.props.onChange(value);\n }\n\n saveRef = (index) => (node) => {\n this.stars[index] = node;\n };\n\n saveRate = (node) => {\n this.rate = node;\n };\n\n render() {\n const {\n count,\n allowHalf,\n style,\n prefixCls,\n disabled,\n className,\n character,\n tabIndex,\n } = this.props;\n const { value, hoverValue, focused } = this.state;\n const stars = [];\n const disabledClass = disabled ? `${prefixCls}-disabled` : '';\n for (let index = 0; index < count; index++) {\n stars.push(\n <Star\n ref={this.saveRef(index)}\n index={index}\n disabled={disabled}\n prefixCls={`${prefixCls}-star`}\n allowHalf={allowHalf}\n value={hoverValue === undefined ? value : hoverValue}\n onClick={this.onClick}\n onHover={this.onHover}\n key={index}\n character={character}\n focused={focused}\n />,\n );\n }\n return (\n <ul\n className={classNames(prefixCls, disabledClass, className)}\n style={style}\n onMouseLeave={disabled ? null : this.onMouseLeave}\n tabIndex={disabled ? -1 : tabIndex}\n onFocus={disabled ? null : this.onFocus}\n onBlur={disabled ? null : this.onBlur}\n onKeyDown={disabled ? null : this.onKeyDown}\n ref={this.saveRate}\n >\n {stars}\n </ul>\n );\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Star extends Component {\n static propTypes = {\n value: PropTypes.number,\n index: PropTypes.number,\n prefixCls: PropTypes.string,\n allowHalf: PropTypes.bool,\n disabled: PropTypes.bool,\n onHover: PropTypes.func,\n onClick: PropTypes.func,\n character: PropTypes.node,\n focused: PropTypes.bool,\n };\n\n onHover = (e) => {\n const { onHover, index } = this.props;\n onHover(e, index);\n }\n\n onClick = (e) => {\n const { onClick, index } = this.props;\n onClick(e, index);\n }\n\n getClassName() {\n const { prefixCls, index, value, allowHalf, focused } = this.props;\n const starValue = index + 1;\n let className = prefixCls;\n if (value === 0 && index === 0 && focused) {\n className += ` ${prefixCls}-focused`;\n } else if (allowHalf && value + 0.5 === starValue) {\n className += ` ${prefixCls}-half ${prefixCls}-active`;\n if (focused) {\n className += ` ${prefixCls}-focused`;\n }\n } else {\n className += starValue <= value ? ` ${prefixCls}-full` : ` ${prefixCls}-zero`;\n if (starValue === value && focused) {\n className += ` ${prefixCls}-focused`;\n }\n }\n return className;\n }\n\n render() {\n const { onHover, onClick } = this;\n const { disabled, prefixCls, character } = this.props;\n return (\n <li\n className={this.getClassName()}\n onClick={disabled ? null : onClick}\n onMouseMove={disabled ? null : onHover}\n >\n <div className={`${prefixCls}-first`}>{character}</div>\n <div className={`${prefixCls}-second`}>{character}</div>\n </li>\n );\n }\n}\n","import Rate from './Rate';\n\nexport default Rate;\n","function getScroll(w, top) {\n let ret = top ? w.pageYOffset : w.pageXOffset;\n const method = top ? 'scrollTop' : 'scrollLeft';\n if (typeof ret !== 'number') {\n const 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 getClientPosition(elem) {\n let box;\n let x;\n let y;\n const doc = elem.ownerDocument;\n const body = doc.body;\n const docElem = doc && doc.documentElement;\n box = elem.getBoundingClientRect();\n x = box.left;\n y = box.top;\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y,\n };\n}\n\nexport function getOffsetLeft(el) {\n const pos = getClientPosition(el);\n const doc = el.ownerDocument;\n const w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n return pos.left;\n}\n","import React, { cloneElement, Component } from 'react';\nimport { findDOMNode } from 'react-dom';\nimport PropTypes from 'prop-types';\nimport toArray from '../util/Children/toArray';\nimport Menu from '../menu';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport { getSelectKeys, preventDefaultEvent, saveRef } from './util';\nimport FilterInput from './FilterInput';\nimport LocaleReceiver from '../../locale-provider/LocaleReceiver';\nimport defaultLocale from '../../locale-provider/default';\n\nexport default class DropdownMenu extends Component {\n static propTypes = {\n defaultActiveFirstOption: PropTypes.bool,\n value: PropTypes.any,\n dropdownMenuStyle: PropTypes.object,\n multiple: PropTypes.bool,\n onPopupFocus: PropTypes.func,\n onPopupScroll: PropTypes.func,\n onMenuDeSelect: PropTypes.func,\n onMenuSelect: PropTypes.func,\n onMouseDown: PropTypes.func,\n prefixCls: PropTypes.string,\n menuItems: PropTypes.any,\n inputValue: PropTypes.string,\n visible: PropTypes.bool,\n filter: PropTypes.bool,\n checkAll: PropTypes.func,\n footer: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.string,\n ]),\n onKeyDown: PropTypes.func,\n };\n\n static defaultProps = {\n footer: null,\n };\n\n componentWillMount() {\n this.lastInputValue = this.props.inputValue;\n }\n\n componentDidMount() {\n this.scrollActiveItemToView();\n this.lastVisible = this.props.visible;\n }\n\n shouldComponentUpdate(nextProps) {\n if (!nextProps.visible) {\n this.lastVisible = false;\n }\n // freeze when hide\n return nextProps.visible;\n }\n\n componentDidUpdate(prevProps) {\n const props = this.props;\n if (!prevProps.visible && props.visible) {\n this.scrollActiveItemToView();\n }\n this.lastVisible = props.visible;\n this.lastInputValue = props.inputValue;\n }\n\n scrollActiveItemToView = () => {\n // scroll into view\n const itemComponent = findDOMNode(this.firstActiveItem);\n const props = this.props;\n\n if (itemComponent) {\n const scrollIntoViewOpts = {\n onlyScrollIfNeeded: true,\n };\n if (\n (!props.value || props.value.length === 0) &&\n props.firstActiveValue\n ) {\n scrollIntoViewOpts.alignWithTop = true;\n }\n\n scrollIntoView(\n itemComponent,\n findDOMNode(this.menuRef),\n scrollIntoViewOpts,\n );\n }\n };\n\n renderMenu() {\n const props = this.props;\n const {\n menuItems,\n value,\n defaultActiveFirstOption,\n prefixCls,\n multiple,\n onMenuSelect,\n inputValue,\n firstActiveValue,\n backfillValue,\n } = props;\n\n if (menuItems && menuItems.length) {\n const menuProps = {};\n if (multiple) {\n menuProps.onDeselect = props.onMenuDeselect;\n menuProps.onSelect = onMenuSelect;\n } else {\n menuProps.onClick = onMenuSelect;\n }\n\n const selectedKeys = getSelectKeys(menuItems, value);\n const activeKeyProps = {};\n\n let clonedMenuItems = menuItems;\n if (selectedKeys.length || firstActiveValue) {\n if (props.visible && !this.lastVisible) {\n activeKeyProps.activeKey = selectedKeys[0] || firstActiveValue;\n }\n let foundFirst = false;\n // set firstActiveItem via cloning menus\n // for scroll into view\n const clone = item => {\n if (\n (!foundFirst && selectedKeys.indexOf(item.key) !== -1) ||\n (!foundFirst &&\n !selectedKeys.length &&\n firstActiveValue.indexOf(item.key) !== -1)\n ) {\n foundFirst = true;\n return cloneElement(item, {\n ref: ref => {\n this.firstActiveItem = ref;\n },\n });\n }\n return item;\n };\n\n clonedMenuItems = menuItems.map(item => {\n if (item.type.isMenuItemGroup) {\n const children = toArray(item.props.children).map(clone);\n return cloneElement(item, {}, children);\n }\n return clone(item);\n });\n }\n\n // clear activeKey when inputValue change\n const lastValue = value && value[value.length - 1];\n if (inputValue !== this.lastInputValue && (!lastValue || lastValue !== backfillValue)) {\n activeKeyProps.activeKey = '';\n }\n\n return (\n <Menu\n ref={saveRef(this, 'menuRef')}\n style={this.props.dropdownMenuStyle}\n defaultActiveFirst={defaultActiveFirstOption}\n {...activeKeyProps}\n multiple={multiple}\n {...menuProps}\n selectedKeys={selectedKeys}\n prefixCls={`${prefixCls}-menu`}\n >\n {clonedMenuItems}\n </Menu>\n );\n }\n return null;\n }\n\n renderFilterInput() {\n const { prefixCls, filter, placeholder, onFilterChange, filterValue, onKeyDown } = this.props;\n const props = {\n filterValue,\n prefixCls,\n placeholder,\n onChange: onFilterChange,\n onKeyDown: onKeyDown,\n };\n return filter ? <FilterInput {...props} ref={saveRef(this, 'filterRef')} /> : null;\n }\n\n getFooter() {\n const { prefixCls, footer } = this.props;\n return footer ? (\n <div className={`${prefixCls}-footer`} onMouseDown={preventDefaultEvent}>\n {footer}\n </div>) : null;\n }\n\n renderCheckLabel = (locale) => {\n const { prefixCls, checkAll } = this.props;\n return (\n <div className={`${prefixCls}-select-all-none`}>\n <span name=\"check-all\" onClick={checkAll}>{locale.selectAll}</span>\n <span name=\"check-none\" onClick={checkAll}>{locale.selectNone}</span>\n </div>\n );\n };\n\n render() {\n const renderMenu = this.renderMenu();\n const filterInput = this.renderFilterInput();\n const { multiple, menuItems, checkAll, onMouseDown } = this.props;\n\n let selectOpt = null;\n if (checkAll && multiple && menuItems.length && menuItems[0].key !== 'NOT_FOUND') {\n selectOpt = (\n <LocaleReceiver\n componentName=\"Select\"\n defaultLocale={defaultLocale.Select}\n >\n {this.renderCheckLabel}\n </LocaleReceiver>\n );\n }\n return (\n <div onMouseDown={onMouseDown}>\n {filterInput}\n {selectOpt}\n <div\n style={{ overflow: 'auto' }}\n onScroll={this.props.onPopupScroll}\n onFocus={this.props.onPopupFocus}\n >\n {renderMenu}\n </div>\n {this.getFooter()}\n </div>\n );\n }\n}\n\nDropdownMenu.displayName = 'DropdownMenu';\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Icon from '../../icon';\nimport Input from '../../input';\nimport Button from '../../button';\nimport { saveRef } from './util';\n\nclass FilterInput extends Component {\n static propTypes = {\n prefixCls: PropTypes.string,\n placeholder: PropTypes.string,\n onChange: PropTypes.func,\n onKeyDown: PropTypes.func,\n };\n\n constructor(props) {\n super(props);\n const value = props.filterValue || '';\n this.state = {\n value,\n }\n }\n\n componentWillReceiveProps = nextProps => {\n if ('filterValue' in nextProps) {\n const value = nextProps.filterValue;\n this.setState({\n value,\n });\n }\n }\n\n handleChange = (event,input) => {\n const { onChange } = this.props;\n onChange(event.target.value);\n this.setState({\n value: event.target.value\n });\n }\n\n clearInputValue = () => {\n const { onChange } = this.props;\n onChange('');\n }\n\n focus = () => {\n this.filterInputRef.focus();\n }\n\n blur = () => {\n this.filterInputRef.blur();\n }\n\n render() {\n const { prefixCls, placeholder } = this.props;\n const { value } = this.state;\n const suffix = value && <Button size='small' onClick={this.clearInputValue} shape=\"circle\" icon=\"close\" />;\n return (\n <div className={`${prefixCls}-filter`}>\n <span className={`${prefixCls}-filter-input`}>\n <Input\n value={value}\n placeholder={placeholder}\n prefix={<Icon type=\"search\" />}\n suffix={suffix}\n onChange={this.handleChange}\n onKeyDown={this.props.onKeyDown}\n ref={saveRef(this, 'filterInputRef')}\n />\n </span>\n </div>\n );\n }\n}\n\nexport default FilterInput;\n","import React, { Component } from 'react';\n\nexport default class OptGroup extends Component {\n static isSelectOptGroup = true;\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Option extends Component {\n static propTypes = {\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n };\n\n static isSelectOption = true;\n}\n","import PropTypes from 'prop-types';\n\nfunction valueType(props, propName, componentName) {\n const basicType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]);\n\n const labelInValueShape = PropTypes.shape({\n key: basicType.isRequired,\n label: PropTypes.node,\n });\n if (props.labelInValue) {\n const validate = PropTypes.oneOfType([\n PropTypes.arrayOf(labelInValueShape),\n labelInValueShape,\n ]);\n const error = validate(...arguments);\n if (error) {\n return new Error(\n `Invalid prop \\`${propName}\\` supplied to \\`${componentName}\\`, ` +\n `when you set \\`labelInValue\\` to \\`true\\`, \\`${propName}\\` should in ` +\n `shape of \\`{ key: string | number, label?: ReactNode }\\`.`,\n );\n }\n } else if (\n (props.mode === 'multiple' || props.mode === 'tags' || props.multiple || props.tags)\n && props[propName] === ''\n ) {\n return new Error(\n `Invalid prop \\`${propName}\\` of type \\`string\\` supplied to \\`${componentName}\\`, ` +\n `expected \\`array\\` when \\`multiple\\` or \\`tags\\` is \\`true\\`.`,\n );\n } else {\n const validate = PropTypes.oneOfType([\n PropTypes.arrayOf(basicType),\n basicType,\n ]);\n return validate(...arguments);\n }\n}\n\nexport const SelectPropTypes = {\n blurChange: PropTypes.bool,\n defaultActiveFirstOption: PropTypes.bool,\n multiple: PropTypes.bool,\n filterOption: PropTypes.any,\n children: PropTypes.any,\n showSearch: PropTypes.bool,\n disabled: PropTypes.bool,\n allowClear: PropTypes.bool,\n showArrow: PropTypes.bool,\n tags: PropTypes.bool,\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n transitionName: PropTypes.string,\n optionLabelProp: PropTypes.string,\n optionFilterProp: PropTypes.string,\n animation: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n onChange: PropTypes.func,\n onClear: PropTypes.func,\n onBlur: PropTypes.func,\n onFocus: PropTypes.func,\n onSelect: PropTypes.func,\n onSearch: PropTypes.func,\n onPopupScroll: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onInputKeyDown: PropTypes.func,\n onChoiceItemClick: PropTypes.func,\n placeholder: PropTypes.any,\n onDeselect: PropTypes.func,\n labelInValue: PropTypes.bool,\n value: valueType,\n defaultValue: valueType,\n dropdownStyle: PropTypes.object,\n maxTagTextLength: PropTypes.number,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.func,\n ]),\n tokenSeparators: PropTypes.arrayOf(PropTypes.string),\n getInputElement: PropTypes.func,\n getRootDomNode: PropTypes.func,\n showAction: PropTypes.arrayOf(PropTypes.string),\n label: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.string,\n ]),\n filter: PropTypes.bool,\n builtinPlacements: PropTypes.any,\n showCheckAll: PropTypes.bool,\n footer: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.string,\n ]),\n choiceRender: PropTypes.func,\n loading: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.object,\n ]),\n filterValue: PropTypes.string,\n onFilterChange: PropTypes.func,\n choiceRemove: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func,\n ]),\n onChoiceRemove: PropTypes.func,\n};\n","/* eslint func-names: 1 */\nimport Set from 'core-js/library/fn/set';\nimport React, { Children, cloneElement, Component } from 'react';\nimport { unmountComponentAtNode } from 'react-dom';\nimport classnames from 'classnames';\nimport classes from 'component-classes';\nimport warning from '../../_util/warning';\nimport noop from 'lodash/noop';\nimport KeyCode from '../../_util/KeyCode';\nimport childrenToArray from '../util/Children/toArray';\nimport { Item as MenuItem, ItemGroup as MenuItemGroup } from '../menu';\nimport Option from './Option';\nimport Button from '../../button';\nimport Ripple from '../../ripple';\n\nimport {\n defaultFilterFn,\n findFirstMenuItem,\n findIndexInValueBySingleValue,\n getLabelFromPropsValue,\n getMapKey,\n getPropValue,\n getValuePropValue,\n includesSeparators,\n isCombobox,\n isMultiple,\n isMultipleOrTags,\n isMultipleOrTagsOrCombobox,\n isSingleMode,\n isTags,\n preventDefaultEvent,\n saveRef,\n splitBySeparators,\n toArray,\n UNSELECTABLE_ATTRIBUTE,\n UNSELECTABLE_STYLE,\n validateOptionValue,\n} from './util';\nimport SelectTrigger from './SelectTrigger';\nimport { SelectPropTypes } from './PropTypes';\n\nfunction chaining(...fns) {\n return function (...args) { // eslint-disable-line\n // eslint-disable-line\n for (let i = 0; i < fns.length; i++) {\n if (fns[i] && typeof fns[i] === 'function') {\n fns[i].apply(this, args);\n }\n }\n };\n}\n\nconst BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'tl'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n topLeft: {\n points: ['bl', 'bl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n bottomRight: {\n points: ['tr', 'tr'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n};\n\nconst BUILT_IN_PLACEMENTS_LABEL = {\n bottomLeft: {\n points: ['tl', 'tl'],\n offset: [0, 19],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n topLeft: {\n points: ['bl', 'bl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n bottomRight: {\n points: ['tr', 'tr'],\n offset: [0, 19],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n};\n\nexport default class Select extends Component {\n static propTypes = SelectPropTypes;\n\n static defaultProps = {\n blurChange: true,\n prefixCls: 'rc-select',\n defaultOpen: false,\n labelInValue: false,\n defaultActiveFirstOption: true,\n showSearch: true,\n allowClear: false,\n onInput: noop,\n onChange: noop,\n onFocus: noop,\n onBlur: noop,\n onSelect: noop,\n onSearch: noop,\n onDeselect: noop,\n onInputKeyDown: noop,\n onChoiceItemClick: noop,\n onClear: noop,\n showArrow: true,\n dropdownMatchSelectWidth: true,\n dropdownStyle: {},\n dropdownMenuStyle: {},\n optionFilterProp: 'value',\n optionLabelProp: 'value',\n notFoundContent: 'Not Found',\n backfill: false,\n tokenSeparators: [],\n showNotFindInputItem: true,\n showNotFindSelectedItem: true,\n placeholder: '',\n label: '',\n filterPlaceholder: 'Input for filter',\n showCheckAll: true,\n loading: false,\n border: true,\n };\n\n needExpand = true;\n\n constructor(props) {\n super(props);\n const value = this.getValueFromProps(props);\n const optionsInfo = this.getOptionsInfoFromProps(props);\n let inputValue = '';\n if (props.combobox) {\n inputValue = value.length\n ? this.getLabelBySingleValue(value[0], optionsInfo)\n : '';\n }\n let open = props.open;\n if (open === undefined) {\n open = props.defaultOpen;\n }\n const filterValue = props.filterValue || '';\n this.state = {\n value,\n inputValue,\n open,\n optionsInfo,\n filterValue,\n };\n this.adjustOpenState();\n }\n\n componentDidMount() {\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n componentWillReceiveProps = nextProps => {\n const optionsInfo = this.getOptionsInfoFromProps(nextProps);\n this.setState({\n optionsInfo,\n });\n if ('value' in nextProps) {\n const value = this.getValueFromProps(nextProps);\n this.setState({\n value,\n });\n if (nextProps.combobox) {\n this.setState({\n inputValue: value.length\n ? this.getLabelBySingleValue(value[0], optionsInfo)\n : '',\n });\n }\n }\n if ('filterValue' in nextProps) {\n this.setState({\n filterValue: nextProps.filterValue,\n });\n }\n };\n\n componentWillUpdate(nextProps, nextState) {\n this.props = nextProps;\n this.state = nextState;\n this.adjustOpenState();\n }\n\n componentDidUpdate() {\n if (isMultipleOrTags(this.props)) {\n const inputNode = this.getInputDOMNode();\n const mirrorNode = this.getInputMirrorDOMNode();\n if (inputNode.value) {\n inputNode.style.width = '';\n inputNode.style.width = `${mirrorNode.clientWidth}px`;\n } else {\n inputNode.style.width = '';\n }\n this.onChoiceAnimationLeave();\n }\n }\n\n componentWillUnmount() {\n this.clearFocusTime();\n this.clearBlurTime();\n this.clearAdjustTimer();\n if (this.dropdownContainer) {\n unmountComponentAtNode(this.dropdownContainer);\n document.body.removeChild(this.dropdownContainer);\n this.dropdownContainer = null;\n }\n }\n\n onFilterChange = (val = '') => {\n const { onFilterChange } = this.props;\n this.onInputValueChange(val);\n this.setState({\n filterValue: val,\n });\n if (onFilterChange) {\n onFilterChange(val);\n }\n };\n\n onInputValueChange = (val) => {\n const { tokenSeparators, onInput } = this.props;\n onInput(val);\n if (\n isMultipleOrTags(this.props) &&\n tokenSeparators.length &&\n includesSeparators(val, tokenSeparators)\n ) {\n const nextValue = this.getValueByInput(val);\n if (nextValue !== undefined) {\n this.fireChange(nextValue);\n }\n this.setOpenState(false, true);\n this.setInputValue('', false);\n return;\n }\n this.setInputValue(val);\n this.setState({\n open: true,\n });\n if (isCombobox(this.props)) {\n this.fireChange([val]);\n }\n };\n\n onInputChange = (event) => {\n const val = event.target.value;\n this.onInputValueChange(val);\n };\n\n onDropdownVisibleChange = open => {\n const { filter } = this.props;\n if (this.needExpand) {\n if (open && !this._focused) {\n this.clearBlurTime();\n this.timeoutFocus();\n this._focused = true;\n this.updateFocusClassName();\n }\n if (filter) {\n this.onFilterChange('');\n }\n if (open && filter) {\n setTimeout(() => {\n const filterInput = this.selectTriggerRef.getFilterInput();\n filterInput && filterInput.focus();\n }, 20);\n }\n this.setOpenState(open);\n }\n };\n\n // combobox ignore\n onKeyDown = event => {\n const props = this.props;\n if (props.disabled) {\n return;\n }\n const keyCode = event.keyCode;\n if (this.state.open && !this.getInputDOMNode()) {\n this.onInputKeyDown(event);\n } else if (keyCode === KeyCode.ENTER || keyCode === KeyCode.DOWN) {\n this.setOpenState(true);\n event.preventDefault();\n }\n };\n\n onInputKeyDown = event => {\n const props = this.props;\n if (props.disabled) {\n return;\n }\n const state = this.state;\n const keyCode = event.keyCode;\n if (\n isMultipleOrTags(props) &&\n !event.target.value &&\n keyCode === KeyCode.BACKSPACE\n ) {\n event.preventDefault();\n const { value } = state;\n if (value.length) {\n this.removeSelected(value[value.length - 1], value.length - 1);\n }\n return;\n }\n if (keyCode === KeyCode.DOWN) {\n if (!state.open) {\n this.openIfHasChildren();\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n } else if (keyCode === KeyCode.ESC) {\n if (state.open) {\n this.setOpenState(false);\n event.preventDefault();\n event.stopPropagation();\n }\n return;\n }\n\n if (state.open) {\n const menu = this.selectTriggerRef.getInnerMenu();\n if (menu && menu.onKeyDown(event, this.handleBackfill)) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n };\n\n onMenuSelect = ({ item }) => {\n let value = this.state.value;\n const props = this.props;\n const selectedValue = getValuePropValue(item);\n const lastValue = value[value.length - 1];\n if (this.fireSelect(selectedValue) === false) {\n return;\n }\n if (isMultipleOrTags(props)) {\n if (findIndexInValueBySingleValue(value, selectedValue) !== -1) {\n return;\n }\n value = value.concat([selectedValue]);\n } else {\n if (isCombobox(props)) {\n this.skipAdjustOpen = true;\n this.clearAdjustTimer();\n this.skipAdjustOpenTimer = setTimeout(() => {\n this.skipAdjustOpen = false;\n }, 0);\n }\n if (lastValue && lastValue === selectedValue && selectedValue !== this.state.backfillValue) {\n this.setOpenState(false, true);\n return;\n }\n value = [selectedValue];\n this.setOpenState(false, true);\n }\n this.fireChange(value);\n let inputValue;\n if (isCombobox(props)) {\n inputValue = getPropValue(item, props.optionLabelProp);\n } else {\n inputValue = '';\n }\n if (!this.props.filter) {\n this.setInputValue(inputValue, true);\n }\n };\n\n onMenuDeselect = ({ item, domEvent }) => {\n if (domEvent.type === 'keydown' && domEvent.keyCode === KeyCode.ENTER) {\n this.removeSelected(getValuePropValue(item), null);\n return;\n }\n if (domEvent.type === 'click') {\n this.removeSelected(getValuePropValue(item), null);\n }\n const { props } = this;\n if (props.autoClearSearchValue) {\n this.setInputValue('', false);\n }\n };\n\n onArrowClick = e => {\n e.stopPropagation();\n e.preventDefault();\n if (!this.props.disabled) {\n this.onDropdownVisibleChange(!this.state.open);\n }\n };\n\n onOuterFocus = (e) => {\n if (this.props.disabled) {\n e.preventDefault();\n return;\n }\n this.clearBlurTime();\n if (\n !isMultipleOrTagsOrCombobox(this.props) &&\n e.target === this.getInputDOMNode()\n ) {\n return;\n }\n if (this._focused) {\n return;\n }\n this._focused = true;\n this.updateFocusClassName();\n // only effect multiple or tag mode\n if (!isMultipleOrTags(this.props) || !this._mouseDown) {\n this.timeoutFocus();\n }\n };\n\n onPopupFocus = () => {\n // fix ie scrollbar, focus element again\n this.maybeFocus(true, true);\n };\n\n onOuterBlur = (e) => {\n if (this.props.disabled) {\n e.preventDefault();\n return;\n }\n this.blurTimer = setTimeout(() => {\n this._focused = false;\n this.updateFocusClassName();\n const props = this.props;\n let { value } = this.state;\n const { inputValue } = this.state;\n if (\n isSingleMode(props) &&\n props.showSearch &&\n inputValue &&\n props.defaultActiveFirstOption\n ) {\n const options = this._options || [];\n if (options.length) {\n const firstOption = findFirstMenuItem(options);\n if (firstOption) {\n value = [firstOption.key];\n this.fireChange(value);\n }\n }\n } else if (isMultipleOrTags(props) && inputValue) {\n if (this.props.blurChange) {\n // why not use setState?\n this.state.inputValue = this.getInputDOMNode().value = '';\n }\n\n value = this.getValueByInput(inputValue);\n if (value !== undefined && this.props.blurChange) {\n this.fireChange(value);\n }\n }\n props.onBlur(this.getVLForOnChange(value));\n\n }, 10);\n };\n\n onClearSelection = event => {\n const props = this.props;\n const state = this.state;\n if (props.disabled) {\n return;\n }\n const { inputValue, value } = state;\n event.stopPropagation();\n if (inputValue || value.length) {\n props.onClear();\n if (value.length) {\n this.fireChange([]);\n }\n this.setOpenState(false, true);\n if (inputValue) {\n this.setInputValue('');\n }\n }\n };\n\n onChoiceAnimationLeave = () => {\n this.selectTriggerRef.triggerRef.forcePopupAlign();\n };\n\n getValueFromProps = props => {\n let value = [];\n if ('value' in props) {\n value = toArray(props.value);\n } else {\n value = toArray(props.defaultValue);\n }\n if (props.labelInValue) {\n value = value.map((v) => {\n return v.key;\n });\n }\n if (isMultiple(props)) {\n value = value.filter((v) => {\n return !!v;\n });\n }\n return value;\n };\n\n getOptionsInfoFromProps = props => {\n const options = this.getOptionsFromChildren(props.children);\n const oldOptionsInfo = this.state ? this.state.optionsInfo : {};\n const value = this.state ? this.state.value : [];\n const optionsInfo = {};\n options.forEach((option) => {\n const singleValue = getValuePropValue(option);\n optionsInfo[getMapKey(singleValue)] = {\n option,\n value: singleValue,\n label: this.getLabelFromOption(option),\n title: option.props.title,\n };\n });\n value.forEach(v => {\n const key = getMapKey(v);\n if (!optionsInfo[key]) {\n optionsInfo[key] = oldOptionsInfo[key];\n }\n });\n return optionsInfo;\n };\n\n getOptionInfoBySingleValue = (value, optionsInfo) => {\n let info;\n optionsInfo = optionsInfo || this.state.optionsInfo;\n if (optionsInfo[getMapKey(value)]) {\n info = optionsInfo[getMapKey(value)];\n }\n if (info) {\n return info;\n }\n let defaultLabel = value;\n if (this.props.labelInValue) {\n const label = getLabelFromPropsValue(this.props.value, value);\n if (label !== undefined) {\n defaultLabel = label;\n }\n }\n const defaultInfo = {\n option: <Option value={value} key={value}>{value}</Option>,\n value,\n label: defaultLabel,\n };\n return defaultInfo;\n };\n\n getOptionBySingleValue = value => {\n const { option } = this.getOptionInfoBySingleValue(value);\n return option;\n };\n\n getOptionsBySingleValue = values => {\n return values.map(value => {\n return this.getOptionBySingleValue(value);\n });\n };\n\n getOptionsFromChildren = (children, options = []) => {\n Children.forEach(children, child => {\n if (!child) {\n return;\n }\n if (child.type.isSelectOptGroup) {\n this.getOptionsFromChildren(child.props.children, options);\n } else {\n options.push(child);\n }\n });\n return options;\n };\n\n getValueByLabel = (label) => {\n if (label === undefined) {\n return null;\n }\n let value = null;\n Object.keys(this.state.optionsInfo).forEach(key => {\n const info = this.state.optionsInfo[key];\n if (toArray(info.label).join('') === label) {\n value = info.value;\n }\n });\n return value;\n };\n\n getLabelFromOption = option => {\n return getPropValue(option, this.props.optionLabelProp);\n };\n\n getVLBySingleValue = value => {\n if (this.props.labelInValue) {\n return {\n key: value,\n label: this.getLabelBySingleValue(value),\n };\n }\n return value;\n };\n\n getVLForOnChange = vls_ => {\n let vls = vls_;\n if (vls !== undefined) {\n if (!this.props.labelInValue) {\n vls = vls.map(v => v);\n } else {\n vls = vls.map(vl => ({\n key: vl,\n label: this.getLabelBySingleValue(vl),\n }));\n }\n return isMultipleOrTags(this.props) ? vls : vls[0];\n }\n return vls;\n };\n\n getLabelBySingleValue = (value, optionsInfo) => {\n const { label } = this.getOptionInfoBySingleValue(value, optionsInfo);\n return label;\n };\n\n getDropdownContainer = () => {\n if (!this.dropdownContainer) {\n this.dropdownContainer = document.createElement('div');\n document.body.appendChild(this.dropdownContainer);\n }\n return this.dropdownContainer;\n };\n\n getPlaceholderElement = () => {\n const { placeholder, prefixCls, border } = this.props;\n if (!border && placeholder) {\n return (\n <div className={`${prefixCls}-selection__placeholder`}>\n {placeholder}\n </div>\n );\n }\n return null;\n };\n\n getInputElement = () => {\n const props = this.props;\n const inputElement = props.getInputElement\n ? props.getInputElement()\n : <input id={props.id} autoComplete=\"off\" />;\n const inputCls = classnames(inputElement.props.className, {\n [`${props.prefixCls}-search__field`]: true,\n });\n // Add space to the end of the inputValue as the width measurement tolerance\n return (\n <div className={`${props.prefixCls}-search__field__wrap`}>\n {cloneElement(inputElement, {\n ref: saveRef(this, 'inputRef'),\n onChange: this.onInputChange,\n onKeyDown: chaining(\n this.onInputKeyDown,\n inputElement.props.onKeyDown,\n this.props.onInputKeyDown,\n ),\n value: this.state.inputValue,\n disabled: props.disabled,\n className: inputCls,\n })}\n <span\n ref={saveRef(this, 'inputMirrorRef')}\n className={`${props.prefixCls}-search__field__mirror`}\n >\n {this.state.inputValue}&nbsp;\n </span>\n </div>\n );\n };\n\n getInputDOMNode = () => {\n return this.topCtrlRef\n ? this.topCtrlRef.querySelector('input,textarea,div[contentEditable]')\n : this.inputRef;\n };\n\n getInputMirrorDOMNode = () => {\n return this.inputMirrorRef;\n };\n\n getPopupDOMNode = () => {\n return this.selectTriggerRef.getPopupDOMNode();\n };\n\n getPopupMenuComponent = () => {\n return this.selectTriggerRef.getInnerMenu();\n };\n\n setOpenState = (open, needFocus) => {\n const { props, state } = this;\n if (state.open === open) {\n this.maybeFocus(open, needFocus);\n return;\n }\n const nextState = {\n open,\n backfillValue: undefined,\n };\n // clear search input value when open is false in singleMode.\n if (!open && isSingleMode(props) && props.showSearch) {\n this.setInputValue('');\n }\n if (!open) {\n this.maybeFocus(open, needFocus);\n }\n this.setState(nextState, () => {\n if (open) {\n this.maybeFocus(open, needFocus);\n }\n });\n };\n\n setInputValue = (inputValue, fireSearch = true) => {\n if (inputValue !== this.state.inputValue) {\n this.setState({\n inputValue,\n });\n if (fireSearch) {\n this.props.onSearch(inputValue);\n }\n }\n };\n\n getValueByInput = string => {\n const { multiple, tokenSeparators } = this.props;\n let nextValue = this.state.value;\n let hasNewValue = false;\n splitBySeparators(string, tokenSeparators).forEach(label => {\n const selectedValue = [label];\n if (multiple) {\n const value = this.getValueByLabel(label);\n if (value && findIndexInValueBySingleValue(nextValue, value) === -1) {\n nextValue = nextValue.concat(value);\n hasNewValue = true;\n this.fireSelect(value);\n }\n } else {\n // tag\n if (findIndexInValueBySingleValue(nextValue, label) === -1) {\n nextValue = nextValue.concat(selectedValue);\n hasNewValue = true;\n this.fireSelect(label);\n }\n }\n });\n return hasNewValue ? nextValue : undefined;\n };\n\n getRealOpenState = (state) => {\n const { open: _open } = this.props;\n if (typeof _open === 'boolean') {\n return _open;\n }\n let open = (state || this.state).open;\n const options = this._options || [];\n if (isMultipleOrTagsOrCombobox(this.props) || !this.props.showSearch) {\n if (open && !options.length) {\n open = false;\n }\n }\n return open;\n };\n\n focus = () => {\n if (isSingleMode(this.props)) {\n this.selectionRef.focus();\n } else {\n this.getInputDOMNode().focus();\n }\n };\n\n blur = () => {\n if (isSingleMode(this.props)) {\n this.selectionRef.blur();\n } else {\n this.getInputDOMNode().blur();\n }\n };\n\n handleBackfill = (item) => {\n if (!this.props.backfill || !(isSingleMode(this.props) || isCombobox(this.props))) {\n return;\n }\n\n const key = getValuePropValue(item);\n\n if (isCombobox(this.props)) {\n this.setInputValue(key, false);\n }\n\n this.setState({\n value: [key],\n backfillValue: key,\n });\n };\n\n filterOption = (input, child, defaultFilter = defaultFilterFn) => {\n const { value } = this.state;\n const lastValue = value[value.length - 1];\n if (!input || (lastValue && lastValue === this.state.backfillValue)) {\n return true;\n }\n let filterFn = this.props.filterOption;\n if ('filterOption' in this.props) {\n if (this.props.filterOption === true) {\n filterFn = defaultFilter;\n }\n } else {\n filterFn = defaultFilter;\n }\n\n if (!filterFn) {\n return true;\n } else if (typeof filterFn === 'function') {\n return filterFn.call(this, input, child);\n } else if (child.props.disabled) {\n return false;\n }\n return true;\n };\n\n timeoutFocus = () => {\n if (this.focusTimer) {\n this.clearFocusTime();\n }\n this.focusTimer = setTimeout(() => {\n this.props.onFocus();\n }, 10);\n };\n\n clearFocusTime = () => {\n if (this.focusTimer) {\n clearTimeout(this.focusTimer);\n this.focusTimer = null;\n }\n };\n\n clearBlurTime = () => {\n if (this.blurTimer) {\n clearTimeout(this.blurTimer);\n this.blurTimer = null;\n }\n };\n\n clearAdjustTimer = () => {\n if (this.skipAdjustOpenTimer) {\n clearTimeout(this.skipAdjustOpenTimer);\n this.skipAdjustOpenTimer = null;\n }\n };\n\n updateFocusClassName = () => {\n const { rootRef, props } = this;\n // avoid setState and its side effect\n if (this._focused) {\n classes(rootRef).add(`${props.prefixCls}-focused`);\n } else {\n classes(rootRef).remove(`${props.prefixCls}-focused`);\n }\n };\n\n maybeFocus = (open, needFocus) => {\n if (needFocus || open) {\n const input = this.getInputDOMNode();\n const { activeElement } = document;\n if (input && (open || isMultipleOrTagsOrCombobox(this.props))) {\n if (activeElement !== input) {\n input.focus();\n this._focused = true;\n }\n } else {\n if (activeElement !== this.selectionRef) {\n this.selectionRef.focus();\n this._focused = true;\n }\n }\n }\n };\n\n handleChoiceItemClick = (selectedKey, e) => {\n const props = this.props;\n if (props.disabled || this.isChildDisabled(selectedKey)) {\n return;\n }\n if (!e.isDefaultPrevented()) {\n props.onChoiceItemClick(this.getVLBySingleValue(selectedKey), this.getOptionBySingleValue(selectedKey));\n }\n };\n\n removeSelected = (selectedKey, index, e) => {\n this.needExpand = false;\n setTimeout(() => {\n this.needExpand = true;\n }, 100);\n if (e) {\n e.preventDefault();\n }\n const props = this.props;\n if (props.disabled || this.isChildDisabled(selectedKey)) {\n return;\n }\n const value = this.state.value.filter((singleValue, i) => {\n return singleValue !== selectedKey || (index !== null && i !== index);\n });\n const canMultiple = isMultipleOrTags(props);\n\n if (canMultiple) {\n let event = selectedKey;\n if (props.labelInValue) {\n event = {\n key: selectedKey,\n label: this.getLabelBySingleValue(selectedKey),\n };\n }\n props.onDeselect(event, this.getOptionBySingleValue(selectedKey), index);\n if (typeof props.onChoiceRemove === 'function') {\n props.onChoiceRemove(selectedKey);\n }\n }\n this.fireChange(value);\n };\n\n openIfHasChildren = () => {\n const props = this.props;\n if (Children.count(props.children) || isSingleMode(props)) {\n this.setOpenState(true);\n }\n };\n\n fireSelect = value => {\n return this.props.onSelect(this.getVLBySingleValue(value), this.getOptionBySingleValue(value));\n };\n\n fireChange = value => {\n const props = this.props;\n if (!('value' in props)) {\n this.setState({\n value,\n });\n }\n const vls = this.getVLForOnChange(value);\n const options = this.getOptionsBySingleValue(value);\n props.onChange(vls, isMultipleOrTags(this.props) ? options : options[0]);\n };\n\n isChildDisabled = key => {\n return childrenToArray(this.props.children).some(child => {\n const childValue = getValuePropValue(child);\n return childValue === key && child.props && child.props.disabled;\n });\n };\n\n adjustOpenState = () => {\n if (this.skipAdjustOpen) {\n return;\n }\n let { open } = this.state;\n let options = [];\n // If hidden menu due to no options, then it should be calculated again\n if (open || this.hiddenForNoOptions) {\n options = this.renderFilterOptions();\n }\n this._options = options;\n\n if (isMultipleOrTagsOrCombobox(this.props) || !this.props.showSearch) {\n if (open && !options.length) {\n open = false;\n this.hiddenForNoOptions = true;\n }\n // Keep menu open if there are options and hidden for no options before\n if (this.hiddenForNoOptions && options.length) {\n open = true;\n this.hiddenForNoOptions = false;\n }\n }\n this.state.open = open;\n };\n\n renderFilterOptions = () => {\n const { inputValue } = this.state;\n const { children, tags, filterOption, notFoundContent, showNotFindInputItem, showNotFindSelectedItem } = this.props;\n const menuItems = [];\n const childrenKeys = [];\n let options = this.renderFilterOptionsFromChildren(\n children,\n childrenKeys,\n menuItems,\n );\n if (tags) {\n if (showNotFindSelectedItem) {\n // tags value must be string\n let value = this.state.value || [];\n value = value.filter(singleValue => {\n return (\n childrenKeys.indexOf(singleValue) === -1 &&\n (!inputValue ||\n String(singleValue).indexOf(String(inputValue)) > -1)\n );\n });\n value.forEach(singleValue => {\n const key = singleValue;\n const menuItem = (\n <MenuItem\n style={UNSELECTABLE_STYLE}\n attribute={UNSELECTABLE_ATTRIBUTE}\n value={key}\n key={key}\n >\n {key}\n </MenuItem>\n );\n options.push(menuItem);\n menuItems.push(menuItem);\n });\n }\n if (inputValue && showNotFindInputItem) {\n const notFindInputItem = menuItems.every(option => {\n // this.filterOption return true has two meaning,\n // 1, some one exists after filtering\n // 2, filterOption is set to false\n // condition 2 does not mean the option has same value with inputValue\n const filterFn = () => getValuePropValue(option) === inputValue;\n if (filterOption !== false) {\n return !this.filterOption.call(\n this,\n inputValue,\n option,\n filterFn,\n );\n }\n return !filterFn();\n });\n if (notFindInputItem) {\n options.unshift(\n <MenuItem\n style={UNSELECTABLE_STYLE}\n attribute={UNSELECTABLE_ATTRIBUTE}\n value={inputValue}\n onMouseDown={preventDefaultEvent}\n key={inputValue}\n >\n {inputValue}\n </MenuItem>,\n );\n }\n }\n }\n let loading = this.props.loading;\n if (typeof loading === 'boolean') {\n loading = {\n spinning: loading,\n };\n }\n if (!options.length && notFoundContent) {\n options = [\n <MenuItem\n style={UNSELECTABLE_STYLE}\n attribute={UNSELECTABLE_ATTRIBUTE}\n disabled\n value=\"NOT_FOUND\"\n key=\"NOT_FOUND\"\n >\n {loading.spinning ? '' : notFoundContent}\n </MenuItem>,\n ];\n }\n return options;\n };\n\n renderFilterOptionsFromChildren = (children, childrenKeys, menuItems) => {\n const sel = [];\n const props = this.props;\n const { inputValue } = this.state;\n const tags = props.tags;\n Children.forEach(children, child => {\n if (!child) {\n return;\n }\n if (child.type.isSelectOptGroup) {\n const innerItems = this.renderFilterOptionsFromChildren(\n child.props.children,\n childrenKeys,\n menuItems,\n );\n if (innerItems.length) {\n let label = child.props.label;\n let key = child.key;\n // if (!key && typeof label === 'string') {\n // key = label;\n // }\n // else if (!label && key) {\n // label = key;\n // }\n sel.push(\n <MenuItemGroup key={key} title={label}>\n {innerItems}\n </MenuItemGroup>,\n );\n }\n return;\n }\n\n warning(\n child.type.isSelectOption,\n 'the children of `Select` should be `Select.Option` or `Select.OptGroup`, ' +\n `instead of \\`${child.type.name ||\n child.type.displayName ||\n child.type}\\`.`,\n );\n\n const childValue = getValuePropValue(child);\n\n validateOptionValue(childValue, this.props);\n\n if (this.filterOption(inputValue, child)) {\n const menuItem = (\n <MenuItem\n style={UNSELECTABLE_STYLE}\n attribute={UNSELECTABLE_ATTRIBUTE}\n value={childValue}\n key={childValue}\n {...child.props}\n />\n );\n sel.push(menuItem);\n menuItems.push(menuItem);\n }\n if (tags && !child.props.disabled) {\n childrenKeys.push(childValue);\n }\n });\n\n return sel;\n };\n\n isChoiceRemove = (selectedKey) => {\n const { choiceRemove } = this.props;\n if (typeof choiceRemove === 'function') {\n return choiceRemove(selectedKey);\n }\n return choiceRemove;\n };\n\n renderTopControlNode = () => {\n const { value, open, inputValue } = this.state;\n const props = this.props;\n const tags = isTags(props);\n const {\n prefixCls,\n maxTagTextLength,\n maxTagCount,\n maxTagPlaceholder,\n showSearch,\n choiceRender,\n } = props;\n const className = `${prefixCls}-selection__rendered`;\n // search input is inside topControlNode in single, multiple & combobox. 2016/04/13\n let innerNode = null;\n if (isSingleMode(props)) {\n let selectedValue = null;\n let opacity = 1;\n if (value.length) {\n let showSelectedValue = false;\n if (showSearch && open) {\n showSelectedValue = !inputValue;\n if (showSelectedValue) {\n opacity = 0.4;\n }\n }\n }\n const singleValue = value && value[0];\n const { label, title } = this.getOptionInfoBySingleValue(singleValue);\n selectedValue = (\n <div\n key=\"value\"\n className={`${prefixCls}-selection-selected-value`}\n title={title || label}\n style={{\n opacity,\n }}\n >\n {choiceRender ? choiceRender(label) : label}\n </div>\n );\n innerNode = [selectedValue];\n } else {\n let selectedValueNodes = [];\n let limitedCountValue = value;\n let maxTagPlaceholderEl;\n if (maxTagCount !== undefined && value.length > maxTagCount) {\n limitedCountValue = limitedCountValue.slice(0, maxTagCount);\n const omittedValues = this.getVLForOnChange(value.slice(maxTagCount, value.length));\n let content = `+ ${value.length - maxTagCount} ...`;\n if (maxTagPlaceholder) {\n content = typeof maxTagPlaceholder === 'function' ? maxTagPlaceholder(omittedValues) : maxTagPlaceholder;\n }\n maxTagPlaceholderEl = (<li\n style={UNSELECTABLE_STYLE}\n {...UNSELECTABLE_ATTRIBUTE}\n onMouseDown={preventDefaultEvent}\n className={`${prefixCls}-selection__choice ${prefixCls}-selection__choice__disabled ${prefixCls}-selection__max`}\n key={'maxTagPlaceholder'}\n // title={content}\n >\n <div className={`${prefixCls}-selection__choice__content`}>{content}</div>\n </li>);\n }\n if (isMultipleOrTags(props)) {\n selectedValueNodes = limitedCountValue.map((singleValue, index) => {\n const info = this.getOptionInfoBySingleValue(singleValue);\n let content = info.label;\n const title = info.title || content;\n if (\n maxTagTextLength &&\n typeof content === 'string' &&\n content.length > maxTagTextLength\n ) {\n content = `${content.slice(0, maxTagTextLength)}...`;\n }\n const disabled = this.isChildDisabled(singleValue);\n const choiceClassName = disabled\n ? `${prefixCls}-selection__choice ${prefixCls}-selection__choice__disabled`\n : `${prefixCls}-selection__choice`;\n const li = (<li\n style={UNSELECTABLE_STYLE}\n {...UNSELECTABLE_ATTRIBUTE}\n onMouseDown={preventDefaultEvent}\n onClick={this.handleChoiceItemClick.bind(this, singleValue)}\n className={choiceClassName}\n // title={title}\n >\n <div className={`${prefixCls}-selection__choice__content`}>\n {content}\n </div>\n {disabled || !this.isChoiceRemove(singleValue) ? null : (\n <span\n className={`${prefixCls}-selection__choice__remove`}\n onClick={this.removeSelected.bind(this, singleValue, index)}\n >\n <i className=\"icon icon-cancel\" />\n </span>)}\n </li>);\n return (\n <Ripple\n key={singleValue + limitedCountValue.slice(0, index).filter(foundValue => foundValue === singleValue).length}\n >\n {choiceRender ? choiceRender(li, singleValue) : li}\n </Ripple>\n );\n });\n if (maxTagPlaceholderEl) {\n selectedValueNodes.push(maxTagPlaceholderEl);\n }\n selectedValueNodes.push(\n <li\n className={`${prefixCls}-search ${prefixCls}-search--inline`}\n key=\"__input\"\n >\n {this.getInputElement()}\n </li>,\n );\n } else {\n selectedValueNodes.push(\n <div\n className={`${prefixCls}-search ${prefixCls}-search--inline`}\n key=\"__input\"\n style={{ display: 'inline-block' }}\n >\n {this.getInputElement()}\n </div>,\n );\n }\n\n if (isMultipleOrTags(props)) {\n innerNode = (\n <ul>\n {selectedValueNodes}\n </ul>\n );\n } else {\n innerNode = selectedValueNodes;\n }\n }\n return (\n <div className={className} ref={saveRef(this, 'topCtrlRef')}>\n {this.getPlaceholderElement()}\n {innerNode}\n {this.renderClear()}\n {tags || !props.showArrow ? null : (\n <span\n key=\"arrow\"\n className={`${prefixCls}-arrow`}\n style={UNSELECTABLE_STYLE}\n {...UNSELECTABLE_ATTRIBUTE}\n onClick={this.onArrowClick}\n >\n <i className=\"icon icon-arrow_drop_down\"></i>\n <b />\n </span>\n )}\n </div>\n );\n };\n\n getBuiltinPlacements() {\n const { builtinPlacements, label } = this.props;\n if (builtinPlacements) {\n return builtinPlacements;\n }\n if (!isTags(this.props) && !isCombobox(this.props)) {\n if (label) {\n return BUILT_IN_PLACEMENTS_LABEL;\n }\n return BUILT_IN_PLACEMENTS;\n }\n }\n\n checkAll = (event) => {\n const name = event.target.getAttribute('name');\n const props = this.props;\n const state = this.state;\n if (props.disabled) {\n return;\n }\n\n let newValues;\n const values = this._options.filter((option) => {\n // 当这个选项为禁用时,全选和无不对这个选项做处理\n return option.props.disabled !== true;\n }).map((option) => {\n return getValuePropValue(option);\n });\n if (name === 'check-all') {\n newValues = new Set(state.value.concat(values));\n this.fireChange(Array.from(newValues));\n } else if (name === 'check-none') {\n newValues = state.value.filter((e) => values.indexOf(e) < 0);\n this.fireChange(newValues);\n this.focus();\n }\n };\n\n renderClear() {\n const { prefixCls, allowClear } = this.props;\n const { value, inputValue } = this.state;\n const clear = (\n <Button\n key=\"clear\"\n className={`${prefixCls}-clear`}\n style={UNSELECTABLE_STYLE}\n {...UNSELECTABLE_ATTRIBUTE}\n shape=\"circle\"\n icon=\"close\"\n size=\"small\"\n onClick={this.onClearSelection}\n onMouseDown={preventDefaultEvent}\n />\n );\n if (!allowClear) {\n return null;\n }\n if (isCombobox(this.props)) {\n if (inputValue) {\n return clear;\n }\n return null;\n }\n if (inputValue || value.length) {\n return clear;\n }\n return null;\n }\n\n getLabel() {\n const { placeholder, label } = this.props;\n if (!this.hasValue() && placeholder) {\n return placeholder;\n }\n return label;\n }\n\n renderFloatLabel() {\n const label = this.getLabel();\n const { prefixCls, border } = this.props;\n if (label && border) {\n return (\n <div className={`${prefixCls}-label-wrapper`}>\n <div className={`${prefixCls}-label`}>{label}</div>\n </div>\n );\n }\n }\n\n hasValue() {\n const { value, inputValue } = this.state;\n return inputValue || (value.length && value[0]);\n }\n\n render() {\n const props = this.props;\n const state = this.state;\n const {\n className,\n disabled,\n prefixCls,\n label,\n loading,\n border,\n } = props;\n const { open, value, inputValue } = this.state;\n const multiple = isMultipleOrTags(props);\n const ctrlNode = this.renderTopControlNode();\n let extraSelectionProps = {};\n const options = this._options;\n if (!isMultipleOrTagsOrCombobox(props)) {\n extraSelectionProps = {\n ...extraSelectionProps,\n onKeyDown: this.onKeyDown,\n tabIndex: disabled ? -1 : 0,\n };\n }\n\n const rootCls = {\n [className]: !!className,\n [prefixCls]: 1,\n [`${prefixCls}-open`]: open,\n [`${prefixCls}-focused`]: !isMultiple(props) && this._focused,\n [`${prefixCls}-has-value`]: this.hasValue(),\n [`${prefixCls}-has-label`]: label,\n [`${prefixCls}-combobox`]: isCombobox(props),\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-enabled`]: !disabled,\n [`${prefixCls}-allow-clear`]: !!props.allowClear,\n [`${prefixCls}-tags`]: isTags(props),\n [`${prefixCls}-multiple`]: isMultiple(props),\n [`${prefixCls}-has-border`]: border,\n };\n return (\n <SelectTrigger\n onPopupFocus={this.onPopupFocus}\n onMouseEnter={props.onMouseEnter}\n onMouseLeave={props.onMouseLeave}\n checkAll={props.showCheckAll ? this.checkAll : undefined}\n dropdownAlign={props.dropdownAlign}\n dropdownClassName={props.dropdownClassName}\n dropdownMatchSelectWidth={props.dropdownMatchSelectWidth}\n defaultActiveFirstOption={props.defaultActiveFirstOption}\n dropdownMenuStyle={props.dropdownMenuStyle}\n transitionName={props.transitionName}\n animation={props.animation}\n prefixCls={props.prefixCls}\n dropdownStyle={props.dropdownStyle}\n combobox={props.combobox}\n showSearch={props.showSearch}\n options={options}\n multiple={multiple}\n disabled={disabled}\n visible={open}\n inputValue={state.inputValue}\n value={state.value}\n loading={loading}\n filter={props.filter}\n filterValue={state.filterValue}\n backfillValue={state.backfillValue}\n firstActiveValue={props.firstActiveValue}\n onFilterChange={this.onFilterChange}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n onDropdownMouseDown={props.onDropdownMouseDown}\n getPopupContainer={props.getPopupContainer}\n getRootDomNode={props.getRootDomNode}\n onMenuSelect={this.onMenuSelect}\n onMenuDeselect={this.onMenuDeselect}\n onPopupScroll={props.onPopupScroll}\n onKeyDown={chaining(\n this.onInputKeyDown,\n this.props.onInputKeyDown,\n )}\n filterPlaceholder={props.filterPlaceholder}\n builtinPlacements={this.getBuiltinPlacements()}\n footer={props.footer}\n ref={saveRef(this, 'selectTriggerRef')}\n >\n <div\n style={props.style}\n ref={saveRef(this, 'rootRef')}\n onBlur={this.onOuterBlur}\n onFocus={this.onOuterFocus}\n className={classnames(rootCls)}\n >\n <div\n ref={saveRef(this, 'selectionRef')}\n key=\"selection\"\n className={`${prefixCls}-selection\n ${prefixCls}-selection--${multiple ? 'multiple' : 'single'}`}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"true\"\n aria-expanded={open}\n {...extraSelectionProps}\n >\n {ctrlNode}\n {this.renderFloatLabel()}\n </div>\n </div>\n </SelectTrigger>\n );\n }\n}\n\nSelect.displayName = 'Select';\n","import Trigger from '../trigger';\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport DropdownMenu from './DropdownMenu';\nimport ReactDOM from 'react-dom';\nimport { isSingleMode, saveRef } from './util';\nimport Spin from '../../spin';\n\nTrigger.displayName = 'Trigger';\n\nconst BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n bottomRight: {\n points: ['tr', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n};\n\nexport default class SelectTrigger extends Component {\n static propTypes = {\n onPopupFocus: PropTypes.func,\n onPopupScroll: PropTypes.func,\n dropdownMatchSelectWidth: PropTypes.bool,\n dropdownAlign: PropTypes.object,\n visible: PropTypes.bool,\n disabled: PropTypes.bool,\n showSearch: PropTypes.bool,\n dropdownClassName: PropTypes.string,\n onDropdownMouseDown: PropTypes.any,\n dropdownStyle: PropTypes.any,\n multiple: PropTypes.bool,\n inputValue: PropTypes.string,\n filterOption: PropTypes.any,\n options: PropTypes.any,\n prefixCls: PropTypes.string,\n popupClassName: PropTypes.string,\n popupPlacement: PropTypes.string,\n children: PropTypes.any,\n filter: PropTypes.bool,\n builtinPlacements: PropTypes.any,\n getRootDomNode: PropTypes.func,\n loading: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.object,\n ]),\n onKeyDown: PropTypes.func,\n };\n\n static defaultProps = {\n popupPlacement: 'bottomLeft',\n loading: false,\n };\n\n state = {\n dropdownWidth: null,\n };\n\n componentDidMount() {\n this.setDropdownWidth();\n }\n\n componentDidUpdate() {\n this.setDropdownWidth();\n }\n\n setDropdownWidth = () => {\n const width = ReactDOM.findDOMNode(this).offsetWidth;\n if (width !== this.state.dropdownWidth) {\n this.setState({ dropdownWidth: width });\n }\n };\n\n getInnerMenu = () => {\n return this.dropdownMenuRef && this.dropdownMenuRef.menuRef;\n };\n\n getFilterInput = () => {\n return this.dropdownMenuRef && this.dropdownMenuRef.filterRef;\n }\n\n getPopupDOMNode = () => {\n return this.triggerRef.getPopupDomNode();\n };\n\n getDropdownElement = newProps => {\n const props = this.props;\n let loading = props.loading;\n if (typeof loading === 'boolean') {\n loading = {\n spinning: loading,\n };\n }\n return (\n <Spin {...loading}>\n <DropdownMenu\n ref={saveRef(this, 'dropdownMenuRef')}\n {...newProps}\n prefixCls={this.getDropdownPrefixCls()}\n onMenuSelect={props.onMenuSelect}\n onMenuDeselect={props.onMenuDeselect}\n onPopupScroll={props.onPopupScroll}\n onKeyDown={props.onKeyDown}\n value={props.value}\n placeholder={props.filterPlaceholder}\n checkAll={props.checkAll}\n backfillValue={props.backfillValue}\n firstActiveValue={props.firstActiveValue}\n defaultActiveFirstOption={props.defaultActiveFirstOption}\n dropdownMenuStyle={props.dropdownMenuStyle}\n onFilterChange={props.onFilterChange}\n footer={props.footer}\n onMouseDown={props.onDropdownMouseDown}\n />\n </Spin>\n\n );\n };\n\n getDropdownTransitionName = () => {\n const props = this.props;\n let transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = `${this.getDropdownPrefixCls()}-${props.animation}`;\n }\n return transitionName;\n };\n\n getDropdownPrefixCls = () => {\n return `${this.props.prefixCls}-dropdown`;\n };\n\n render() {\n const { onPopupFocus, ...props } = this.props;\n const {\n multiple,\n visible,\n inputValue,\n dropdownAlign,\n disabled,\n showSearch,\n dropdownClassName,\n dropdownStyle,\n dropdownMatchSelectWidth,\n filter,\n filterValue,\n } = props;\n const dropdownPrefixCls = this.getDropdownPrefixCls();\n const popupClassName = {\n [dropdownClassName]: !!dropdownClassName,\n [`${dropdownPrefixCls}--${multiple ? 'multiple' : 'single'}`]: 1,\n };\n const popupElement = this.getDropdownElement({\n menuItems: props.options,\n onPopupFocus,\n multiple,\n inputValue,\n visible,\n filter,\n filterValue,\n });\n\n const popupStyle = { ...dropdownStyle };\n const widthProp = dropdownMatchSelectWidth ? 'width' : 'minWidth';\n if (this.state.dropdownWidth && !popupStyle[widthProp]) {\n popupStyle[widthProp] = `${this.state.dropdownWidth}px`;\n }\n\n return (\n <Trigger\n {...props}\n action={disabled ? [] : ['click']}\n ref={saveRef(this, 'triggerRef')}\n popupPlacement={props.popupPlacement}\n builtinPlacements={props.builtinPlacements || BUILT_IN_PLACEMENTS}\n prefixCls={dropdownPrefixCls}\n popupTransitionName={this.getDropdownTransitionName()}\n onPopupVisibleChange={props.onDropdownVisibleChange}\n popup={popupElement}\n popupAlign={dropdownAlign}\n popupVisible={visible}\n getPopupContainer={props.getPopupContainer}\n popupClassName={classnames(popupClassName)}\n popupStyle={popupStyle}\n >\n {props.children}\n </Trigger>\n );\n }\n}\n\nSelectTrigger.displayName = 'SelectTrigger';\n","import Select from './Select';\nimport Option from './Option';\nimport { SelectPropTypes } from './PropTypes';\nimport OptGroup from './OptGroup';\n\nSelect.Option = Option;\nSelect.OptGroup = OptGroup;\nexport { Option, OptGroup, SelectPropTypes };\nexport default Select;\n","import { Children } from 'react';\n\nexport function getValuePropValue(child) {\n const props = child.props;\n if ('value' in props) {\n return props.value;\n }\n if (child.key) {\n return child.key;\n }\n if (child.type && child.type.isSelectOptGroup && props.label) {\n return props.label;\n }\n throw new Error(\n `Need at least a key or a value or a label (only for OptGroup) for ${child}`,\n );\n}\n\nexport function getPropValue(child, prop) {\n if (prop === 'value') {\n return getValuePropValue(child);\n }\n return child.props[prop];\n}\n\nexport function isMultiple(props) {\n return props.multiple;\n}\n\nexport function isTags(props) {\n return props.tags;\n}\n\nexport function isCombobox(props) {\n return props.combobox;\n}\n\nexport function isMultipleOrTags(props) {\n return props.multiple || props.tags;\n}\n\nexport function isMultipleOrTagsOrCombobox(props) {\n return isMultipleOrTags(props) || isCombobox(props);\n}\n\nexport function isSingleMode(props) {\n return !isMultipleOrTagsOrCombobox(props);\n}\n\nexport function toArray(value) {\n let ret = value;\n if (value === undefined) {\n ret = [];\n } else if (!Array.isArray(value)) {\n ret = [value];\n }\n return ret;\n}\n\nexport function getMapKey(value) {\n return `${typeof value}-${value}`;\n}\n\nexport function preventDefaultEvent(e) {\n e.preventDefault();\n}\n\nexport function findIndexInValueBySingleValue(value, singleValue) {\n let index = -1;\n for (let i = 0; i < value.length; i++) {\n if (value[i] === singleValue) {\n index = i;\n break;\n }\n }\n return index;\n}\n\nexport function getLabelFromPropsValue(value, key) {\n let label;\n value = toArray(value);\n for (let i = 0; i < value.length; i++) {\n if (value[i].key === key) {\n label = value[i].label;\n break;\n }\n }\n return label;\n}\n\nexport function getSelectKeys(menuItems, value) {\n if (value === null || value === undefined) {\n return [];\n }\n let selectedKeys = [];\n Children.forEach(menuItems, item => {\n if (item.type.isMenuItemGroup) {\n selectedKeys = selectedKeys.concat(\n getSelectKeys(item.props.children, value),\n );\n } else {\n const itemValue = getValuePropValue(item);\n const itemKey = item.key;\n if (findIndexInValueBySingleValue(value, itemValue) !== -1 && itemKey) {\n selectedKeys.push(itemKey);\n }\n }\n });\n return selectedKeys;\n}\n\nexport const UNSELECTABLE_STYLE = {\n userSelect: 'none',\n WebkitUserSelect: 'none',\n};\n\nexport const UNSELECTABLE_ATTRIBUTE = {\n unselectable: 'unselectable',\n};\n\nexport function findFirstMenuItem(children) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (child.type.isMenuItemGroup) {\n const found = findFirstMenuItem(child.props.children);\n if (found) {\n return found;\n }\n } else if (!child.props.disabled) {\n return child;\n }\n }\n return null;\n}\n\nexport function includesSeparators(string, separators) {\n for (let i = 0; i < separators.length; ++i) {\n if (string.lastIndexOf(separators[i]) > 0) {\n return true;\n }\n }\n return false;\n}\n\nexport function splitBySeparators(string, separators) {\n const reg = new RegExp(`[${separators.join()}]`);\n return string.split(reg).filter(token => token);\n}\n\nexport function defaultFilterFn(input, child) {\n if (child.props.disabled) {\n return false;\n }\n const value = toArray(getPropValue(child, this.props.optionFilterProp)).join('');\n return (\n value.toLowerCase().indexOf(input.toLowerCase()) > -1\n );\n}\n\nexport function validateOptionValue(value, props) {\n if (isSingleMode(props) || isMultiple(props)) {\n return;\n }\n if (typeof value !== 'string') {\n throw new Error(\n `Invalid \\`value\\` of type \\`${typeof value}\\` supplied to Option, ` +\n `expected \\`string\\` when \\`tags/combobox\\` is \\`true\\`.`,\n );\n }\n}\n\nexport function saveRef(instance, name) {\n return (node) => {\n instance[name] = node;\n };\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport addEventListener from '../../_util/addEventListener';\n\nexport default class Handle extends Component {\n static propTypes = {\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n vertical: PropTypes.bool,\n offset: PropTypes.number,\n style: PropTypes.object,\n disabled: PropTypes.bool,\n min: PropTypes.number,\n max: PropTypes.number,\n value: PropTypes.number,\n tabIndex: PropTypes.number,\n };\n\n state = {\n clickFocused: false,\n };\n\n componentDidMount() {\n // mouseup won't trigger if mouse moved out of handle,\n // so we listen on document here.\n this.onMouseUpListener = addEventListener(document, 'mouseup', this.handleMouseUp);\n }\n\n componentWillUnmount() {\n if (this.onMouseUpListener) {\n this.onMouseUpListener.remove();\n }\n }\n\n setClickFocus(focused) {\n this.setState({ clickFocused: focused });\n }\n\n handleMouseUp = () => {\n if (document.activeElement === this.handle) {\n this.setClickFocus(true);\n }\n };\n\n handleBlur = () => {\n this.setClickFocus(false);\n };\n\n handleKeyDown = () => {\n this.setClickFocus(false);\n };\n\n clickFocus() {\n this.setClickFocus(true);\n this.focus();\n }\n\n focus() {\n this.handle.focus();\n }\n\n blur() {\n this.handle.blur();\n }\n\n render() {\n const {\n prefixCls,\n vertical,\n offset,\n style,\n disabled,\n min,\n max,\n value,\n tabIndex,\n ...restProps\n } = this.props;\n\n const className = classNames(this.props.className, {\n [`${prefixCls}-handle-click-focused`]: this.state.clickFocused,\n });\n\n const postionStyle = vertical ? { bottom: `${offset}%` } : { left: `${offset}%` };\n const elStyle = {\n ...style,\n ...postionStyle,\n };\n let ariaProps = {};\n if (value !== undefined) {\n ariaProps = {\n ...ariaProps,\n 'aria-valuemin': min,\n 'aria-valuemax': max,\n 'aria-valuenow': value,\n 'aria-disabled': !!disabled,\n };\n }\n\n return (\n <div\n ref={node => (this.handle = node)}\n role=\"slider\"\n tabIndex={disabled ? null : tabIndex || 0}\n {...ariaProps}\n {...restProps}\n className={className}\n style={elStyle}\n onBlur={this.handleBlur}\n onKeyDown={this.handleKeyDown}\n />\n );\n }\n}\n","/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport shallowEqual from 'lodash/isEqual';\nimport Track from './common/Track';\nimport createSlider from './common/createSlider';\nimport * as utils from './utils';\n\nclass Range extends Component {\n static displayName = 'Range';\n static propTypes = {\n defaultValue: PropTypes.arrayOf(PropTypes.number),\n value: PropTypes.arrayOf(PropTypes.number),\n count: PropTypes.number,\n pushable: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.number,\n ]),\n allowCross: PropTypes.bool,\n disabled: PropTypes.bool,\n tabIndex: PropTypes.arrayOf(PropTypes.number),\n };\n\n static defaultProps = {\n count: 1,\n allowCross: true,\n pushable: false,\n tabIndex: [],\n };\n\n constructor(props) {\n super(props);\n\n const { count, min, max } = props;\n const initialValue = Array.apply(null, Array(count + 1))\n .map(() => min);\n const defaultValue = 'defaultValue' in props ?\n props.defaultValue : initialValue;\n const value = props.value !== undefined ?\n props.value : defaultValue;\n const bounds = value.map((v, i) => this.trimAlignValue(v, i));\n const recent = bounds[0] === max ? 0 : bounds.length - 1;\n\n this.state = {\n handle: null,\n recent,\n bounds,\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if (!('value' in nextProps || 'min' in nextProps || 'max' in nextProps)) return;\n if (this.props.min === nextProps.min &&\n this.props.max === nextProps.max &&\n shallowEqual(this.props.value, nextProps.value)) {\n return;\n }\n\n const { bounds } = this.state;\n const value = nextProps.value || bounds;\n const nextBounds = value.map((v, i) => this.trimAlignValue(v, i, nextProps));\n if (nextBounds.length === bounds.length && nextBounds.every((v, i) => v === bounds[i])) return;\n\n this.setState({ bounds: nextBounds });\n\n if (bounds.some(v => utils.isValueOutOfRange(v, nextProps))) {\n const newValues = value.map((v) => {\n return utils.ensureValueInRange(v, nextProps);\n });\n this.props.onChange(newValues);\n }\n }\n\n onChange(state) {\n const props = this.props;\n const isNotControlled = !('value' in props);\n if (isNotControlled) {\n this.setState(state);\n } else if (state.handle !== undefined) {\n this.setState({ handle: state.handle });\n }\n\n const data = { ...this.state, ...state };\n const changedValue = data.bounds;\n props.onChange(changedValue);\n }\n\n onStart(position) {\n const props = this.props;\n const state = this.state;\n const bounds = this.getValue();\n props.onBeforeChange(bounds);\n\n const value = this.calcValueByPos(position);\n this.startValue = value;\n this.startPosition = position;\n\n const closestBound = this.getClosestBound(value);\n this.prevMovedHandleIndex = this.getBoundNeedMoving(value, closestBound);\n\n this.setState({\n handle: this.prevMovedHandleIndex,\n recent: this.prevMovedHandleIndex,\n });\n\n const prevValue = bounds[this.prevMovedHandleIndex];\n if (value === prevValue) return;\n\n const nextBounds = [...state.bounds];\n nextBounds[this.prevMovedHandleIndex] = value;\n this.onChange({ bounds: nextBounds });\n }\n\n onEnd = () => {\n this.removeDocumentEvents();\n this.props.onAfterChange(this.getValue());\n }\n\n onMove(e, position) {\n utils.pauseEvent(e);\n const state = this.state;\n\n const value = this.calcValueByPos(position);\n const oldValue = state.bounds[state.handle];\n if (value === oldValue) return;\n\n this.moveTo(value);\n }\n\n onKeyboard(e) {\n const valueMutator = utils.getKeyboardValueMutator(e);\n\n if (valueMutator) {\n utils.pauseEvent(e);\n const { state, props } = this;\n const { bounds, handle } = state;\n const oldValue = bounds[handle];\n const mutatedValue = valueMutator(oldValue, props);\n const value = this.trimAlignValue(mutatedValue);\n if (value === oldValue) return;\n const isFromKeyboardEvent = true;\n this.moveTo(value, isFromKeyboardEvent);\n }\n }\n\n getValue() {\n return this.state.bounds;\n }\n\n getClosestBound(value) {\n const { bounds } = this.state;\n let closestBound = 0;\n for (let i = 1; i < bounds.length - 1; ++i) {\n if (value > bounds[i]) { closestBound = i; }\n }\n if (Math.abs(bounds[closestBound + 1] - value) < Math.abs(bounds[closestBound] - value)) {\n closestBound = closestBound + 1;\n }\n return closestBound;\n }\n\n getBoundNeedMoving(value, closestBound) {\n const { bounds, recent } = this.state;\n let boundNeedMoving = closestBound;\n const isAtTheSamePoint = (bounds[closestBound + 1] === bounds[closestBound]);\n\n if (isAtTheSamePoint && bounds[recent] === bounds[closestBound]) {\n boundNeedMoving = recent;\n }\n\n if (isAtTheSamePoint && (value !== bounds[closestBound + 1])) {\n boundNeedMoving = value < bounds[closestBound + 1] ? closestBound : closestBound + 1;\n }\n return boundNeedMoving;\n }\n\n getLowerBound() {\n return this.state.bounds[0];\n }\n\n getUpperBound() {\n const { bounds } = this.state;\n return bounds[bounds.length - 1];\n }\n\n /**\n * Returns an array of possible slider points, taking into account both\n * `marks` and `step`. The result is cached.\n */\n getPoints() {\n const { marks, step, min, max } = this.props;\n const cache = this._getPointsCache;\n if (!cache || cache.marks !== marks || cache.step !== step) {\n const pointsObject = { ...marks };\n if (step !== null) {\n for (let point = min; point <= max; point += step) {\n pointsObject[point] = point;\n }\n }\n const points = Object.keys(pointsObject).map(parseFloat);\n points.sort((a, b) => a - b);\n this._getPointsCache = { marks, step, points };\n }\n return this._getPointsCache.points;\n }\n\n moveTo(value, isFromKeyboardEvent) {\n const { state, props } = this;\n const nextBounds = [...state.bounds];\n nextBounds[state.handle] = value;\n let nextHandle = state.handle;\n if (props.pushable !== false) {\n this.pushSurroundingHandles(nextBounds, nextHandle);\n } else if (props.allowCross) {\n nextBounds.sort((a, b) => a - b);\n nextHandle = nextBounds.indexOf(value);\n }\n this.onChange({\n handle: nextHandle,\n bounds: nextBounds,\n });\n if (isFromKeyboardEvent) {\n // known problem: because setState is async,\n // so trigger focus will invoke handler's onEnd and another handler's onStart too early,\n // cause onBeforeChange and onAfterChange receive wrong value.\n // here use setState callback to hack,but not elegant\n this.setState({}, () => {\n this.handlesRefs[nextHandle].focus();\n });\n }\n }\n\n pushSurroundingHandles(bounds, handle) {\n const value = bounds[handle];\n let { pushable: threshold } = this.props;\n threshold = Number(threshold);\n\n let direction = 0;\n if (bounds[handle + 1] - value < threshold) {\n direction = +1; // push to right\n }\n if (value - bounds[handle - 1] < threshold) {\n direction = -1; // push to left\n }\n\n if (direction === 0) { return; }\n\n const nextHandle = handle + direction;\n const diffToNext = direction * (bounds[nextHandle] - value);\n if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n // revert to original value if pushing is impossible\n bounds[handle] = bounds[nextHandle] - (direction * threshold);\n }\n }\n\n pushHandle(bounds, handle, direction, amount) {\n const originalValue = bounds[handle];\n let currentValue = bounds[handle];\n while (direction * (currentValue - originalValue) < amount) {\n if (!this.pushHandleOnePoint(bounds, handle, direction)) {\n // can't push handle enough to create the needed `amount` gap, so we\n // revert its position to the original value\n bounds[handle] = originalValue;\n return false;\n }\n currentValue = bounds[handle];\n }\n // the handle was pushed enough to create the needed `amount` gap\n return true;\n }\n\n pushHandleOnePoint(bounds, handle, direction) {\n const points = this.getPoints();\n const pointIndex = points.indexOf(bounds[handle]);\n const nextPointIndex = pointIndex + direction;\n if (nextPointIndex >= points.length || nextPointIndex < 0) {\n // reached the minimum or maximum available point, can't push anymore\n return false;\n }\n const nextHandle = handle + direction;\n const nextValue = points[nextPointIndex];\n const { pushable: threshold } = this.props;\n const diffToNext = direction * (bounds[nextHandle] - nextValue);\n if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n // couldn't push next handle, so we won't push this one either\n return false;\n }\n // push the handle\n bounds[handle] = nextValue;\n return true;\n }\n\n trimAlignValue(v, handle, nextProps = {}) {\n const mergedProps = { ...this.props, ...nextProps };\n const valInRange = utils.ensureValueInRange(v, mergedProps);\n const valNotConflict = this.ensureValueNotConflict(handle, valInRange, mergedProps);\n return utils.ensureValuePrecision(valNotConflict, mergedProps);\n }\n\n ensureValueNotConflict(handle, val, { allowCross, pushable: thershold }) {\n const state = this.state || {};\n const { bounds } = state;\n handle = handle === undefined ? state.handle : handle;\n thershold = Number(thershold);\n /* eslint-disable eqeqeq */\n if (!allowCross && handle != null && bounds !== undefined) {\n if (handle > 0 && val <= (bounds[handle - 1] + thershold)) {\n return bounds[handle - 1] + thershold;\n }\n if (handle < bounds.length - 1 && val >= (bounds[handle + 1] - thershold)) {\n return bounds[handle + 1] - thershold;\n }\n }\n /* eslint-enable eqeqeq */\n return val;\n }\n\n render() {\n const {\n handle,\n bounds,\n } = this.state;\n const {\n prefixCls,\n vertical,\n included,\n disabled,\n min,\n max,\n handle: handleGenerator,\n trackStyle,\n handleStyle,\n tabIndex,\n } = this.props;\n\n const offsets = bounds.map(v => this.calcOffset(v));\n\n const handleClassName = `${prefixCls}-handle`;\n const handles = bounds.map((v, i) => handleGenerator({\n className: classNames({\n [handleClassName]: true,\n [`${handleClassName}-${i + 1}`]: true,\n }),\n prefixCls,\n vertical,\n offset: offsets[i],\n value: v,\n dragging: handle === i,\n index: i,\n tabIndex: tabIndex[i] || 0,\n min,\n max,\n disabled,\n style: handleStyle[i],\n ref: h => this.saveHandle(i, h),\n }));\n\n const tracks = bounds.slice(0, -1).map((_, index) => {\n const i = index + 1;\n const trackClassName = classNames({\n [`${prefixCls}-track`]: true,\n [`${prefixCls}-track-${i}`]: true,\n });\n return (\n <Track\n className={trackClassName}\n vertical={vertical}\n included={included}\n offset={offsets[i - 1]}\n length={offsets[i] - offsets[i - 1]}\n style={trackStyle[index]}\n key={i}\n />\n );\n });\n\n return { tracks, handles };\n }\n}\n\nexport default createSlider(Range);\n","/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport warning from '../../_util/warning';\nimport Track from './common/Track';\nimport createSlider from './common/createSlider';\nimport * as utils from './utils';\n\nclass Slider extends Component {\n static propTypes = {\n defaultValue: PropTypes.number,\n value: PropTypes.number,\n disabled: PropTypes.bool,\n autoFocus: PropTypes.bool,\n tabIndex: PropTypes.number,\n };\n\n constructor(props) {\n super(props);\n\n const defaultValue = props.defaultValue !== undefined ?\n props.defaultValue : props.min;\n const value = props.value !== undefined ?\n props.value : defaultValue;\n\n this.state = {\n value: this.trimAlignValue(value),\n dragging: false,\n };\n if (process.env.NODE_ENV !== 'production') {\n warning(\n !('minimumTrackStyle' in props),\n 'minimumTrackStyle will be deprecate, please use trackStyle instead.'\n );\n warning(\n !('maximumTrackStyle' in props),\n 'maximumTrackStyle will be deprecate, please use railStyle instead.'\n );\n }\n }\n\n componentDidMount() {\n const { autoFocus, disabled } = this.props;\n if (autoFocus && !disabled) {\n this.focus();\n }\n }\n\n componentWillReceiveProps(nextProps) {\n if (!('value' in nextProps || 'min' in nextProps || 'max' in nextProps)) return;\n\n const prevValue = this.state.value;\n const value = nextProps.value !== undefined ?\n nextProps.value : prevValue;\n const nextValue = this.trimAlignValue(value, nextProps);\n if (nextValue === prevValue) return;\n\n this.setState({ value: nextValue });\n if (utils.isValueOutOfRange(value, nextProps)) {\n this.props.onChange(nextValue);\n }\n }\n\n onChange(state) {\n const props = this.props;\n const isNotControlled = !('value' in props);\n if (isNotControlled) {\n this.setState(state);\n }\n\n const changedValue = state.value;\n props.onChange(changedValue);\n }\n\n onStart(position) {\n this.setState({ dragging: true });\n const props = this.props;\n const prevValue = this.getValue();\n props.onBeforeChange(prevValue);\n\n const value = this.calcValueByPos(position);\n this.startValue = value;\n this.startPosition = position;\n\n if (value === prevValue) return;\n\n this.prevMovedHandleIndex = 0;\n\n this.onChange({ value });\n }\n\n onEnd = () => {\n this.setState({ dragging: false });\n this.removeDocumentEvents();\n this.props.onAfterChange(this.getValue());\n }\n\n onMove(e, position) {\n utils.pauseEvent(e);\n const { value: oldValue } = this.state;\n const value = this.calcValueByPos(position);\n if (value === oldValue) return;\n\n this.onChange({ value });\n }\n\n onKeyboard(e) {\n const valueMutator = utils.getKeyboardValueMutator(e);\n\n if (valueMutator) {\n utils.pauseEvent(e);\n const state = this.state;\n const oldValue = state.value;\n const mutatedValue = valueMutator(oldValue, this.props);\n const value = this.trimAlignValue(mutatedValue);\n if (value === oldValue) return;\n\n this.onChange({ value });\n }\n }\n\n getValue() {\n return this.state.value;\n }\n\n getLowerBound() {\n return this.props.min;\n }\n\n getUpperBound() {\n return this.state.value;\n }\n\n trimAlignValue(v, nextProps = {}) {\n const mergedProps = { ...this.props, ...nextProps };\n const val = utils.ensureValueInRange(v, mergedProps);\n return utils.ensureValuePrecision(val, mergedProps);\n }\n\n render() {\n const {\n prefixCls,\n vertical,\n included,\n disabled,\n minimumTrackStyle,\n trackStyle,\n handleStyle,\n tabIndex,\n min,\n max,\n handle: handleGenerator,\n } = this.props;\n const { value, dragging } = this.state;\n const offset = this.calcOffset(value);\n const handle = handleGenerator({\n className: `${prefixCls}-handle`,\n prefixCls,\n vertical,\n offset,\n value,\n dragging,\n disabled,\n min,\n max,\n index: 0,\n tabIndex,\n style: handleStyle[0] || handleStyle,\n ref: h => this.saveHandle(0, h),\n });\n\n const _trackStyle = trackStyle[0] || trackStyle;\n const track = (\n <Track\n className={`${prefixCls}-track`}\n vertical={vertical}\n included={included}\n offset={0}\n length={offset}\n style={{\n ...minimumTrackStyle,\n ..._trackStyle,\n }}\n />\n );\n\n return { tracks: track, handles: handle };\n }\n}\n\nexport default createSlider(Slider);\n","import React, { isValidElement } from 'react';\nimport classNames from 'classnames';\n\nconst Marks = ({\n className,\n vertical,\n marks,\n included,\n upperBound,\n lowerBound,\n max, min,\n onClickLabel,\n}) => {\n const marksKeys = Object.keys(marks);\n const marksCount = marksKeys.length;\n const unit = marksCount > 1 ? 100 / (marksCount - 1) : 100;\n const markWidth = unit * 0.9;\n\n const range = max - min;\n const elements = marksKeys.map(parseFloat).sort((a, b) => a - b).map(point => {\n const markPoint = marks[point];\n const markPointIsObject = typeof markPoint === 'object' &&\n !isValidElement(markPoint);\n const markLabel = markPointIsObject ? markPoint.label : markPoint;\n if (!markLabel && markLabel !== 0) {\n return null;\n }\n\n const isActive = (!included && point === upperBound) ||\n (included && point <= upperBound && point >= lowerBound);\n const markClassName = classNames({\n [`${className}-text`]: true,\n [`${className}-text-active`]: isActive,\n });\n\n const bottomStyle = {\n marginBottom: '-50%',\n bottom: `${(point - min) / range * 100}%`,\n };\n\n const leftStyle = {\n width: `${markWidth}%`,\n marginLeft: `${-markWidth / 2}%`,\n left: `${(point - min) / range * 100}%`,\n };\n\n const style = vertical ? bottomStyle : leftStyle;\n const markStyle = markPointIsObject ?\n { ...style, ...markPoint.style } : style;\n return (\n <span\n className={markClassName}\n style={markStyle}\n key={point}\n onMouseDown={(e) => onClickLabel(e, point)}\n onTouchStart={(e) => onClickLabel(e, point)}\n >\n {markLabel}\n </span>\n );\n });\n\n return <div className={className}>{elements}</div>;\n};\n\nexport default Marks;\n","import React from 'react';\nimport classNames from 'classnames';\nimport warning from '../../../_util/warning';\n\nconst calcPoints = (vertical, marks, dots, step, min, max) => {\n warning(\n dots ? step > 0 : true,\n '`Slider[step]` should be a positive number in order to make Slider[dots] work.'\n );\n const points = Object.keys(marks).map(parseFloat);\n if (dots) {\n for (let i = min; i <= max; i = i + step) {\n if (points.indexOf(i) >= 0) continue;\n points.push(i);\n }\n }\n return points;\n};\n\nconst Steps = ({ prefixCls, vertical, marks, dots, step, included,\n lowerBound, upperBound, max, min, dotStyle, activeDotStyle }) => {\n const range = max - min;\n const elements = calcPoints(vertical, marks, dots, step, min, max).map((point) => {\n const offset = `${Math.abs(point - min) / range * 100}%`;\n\n const isActived = (!included && point === upperBound) ||\n (included && point <= upperBound && point >= lowerBound);\n let style = vertical ? { bottom: offset, ...dotStyle } : { left: offset, ...dotStyle };\n if (isActived) {\n style = { ...style, ...activeDotStyle };\n }\n\n const pointClassName = classNames({\n [`${prefixCls}-dot`]: true,\n [`${prefixCls}-dot-active`]: isActived,\n });\n\n return <span className={pointClassName} style={style} key={point} />;\n });\n\n return <div className={`${prefixCls}-step`}>{elements}</div>;\n};\n\nexport default Steps;\n","/* eslint-disable react/prop-types */\nimport React from 'react';\n\nconst Track = (props) => {\n const { className, included, vertical, offset, length, style } = props;\n\n const positonStyle = vertical ? {\n bottom: `${offset}%`,\n height: `${length}%`,\n } : {\n left: `${offset}%`,\n width: `${length}%`,\n };\n\n const elStyle = {\n ...style,\n ...positonStyle,\n };\n return included ? <div className={className} style={elStyle} /> : null;\n};\n\nexport default Track;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport addEventListener from '../../../_util/addEventListener';\nimport classNames from 'classnames';\nimport noop from 'lodash/noop';\nimport warning from '../../../_util/warning';\nimport Steps from './Steps';\nimport Marks from './Marks';\nimport Handle from '../Handle';\nimport * as utils from '../utils';\n\nexport default function createSlider(Component) {\n return class ComponentEnhancer extends Component {\n static displayName = `ComponentEnhancer(${Component.displayName})`;\n static propTypes = {\n ...Component.propTypes,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n marks: PropTypes.object,\n included: PropTypes.bool,\n className: PropTypes.string,\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n children: PropTypes.any,\n onBeforeChange: PropTypes.func,\n onChange: PropTypes.func,\n onAfterChange: PropTypes.func,\n handle: PropTypes.func,\n dots: PropTypes.bool,\n vertical: PropTypes.bool,\n style: PropTypes.object,\n minimumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate\n maximumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate\n handleStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n trackStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n railStyle: PropTypes.object,\n dotStyle: PropTypes.object,\n activeDotStyle: PropTypes.object,\n autoFocus: PropTypes.bool,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n };\n\n static defaultProps = {\n ...Component.defaultProps,\n prefixCls: 'rc-slider',\n className: '',\n min: 0,\n max: 100,\n step: 1,\n marks: {},\n handle({ index, ...restProps }) {\n delete restProps.dragging;\n return <Handle {...restProps} key={index} />;\n },\n onBeforeChange: noop,\n onChange: noop,\n onAfterChange: noop,\n included: true,\n disabled: false,\n dots: false,\n vertical: false,\n trackStyle: [{}],\n handleStyle: [{}],\n railStyle: {},\n dotStyle: {},\n activeDotStyle: {},\n };\n\n constructor(props) {\n super(props);\n\n if (process.env.NODE_ENV !== 'production') {\n const { step, max, min } = props;\n warning(\n step && Math.floor(step) === step ? (max - min) % step === 0 : true,\n 'Slider[max] - Slider[min] (%s) should be a multiple of Slider[step] (%s)',\n max - min,\n step\n );\n }\n this.handlesRefs = {};\n }\n\n componentWillUnmount() {\n if (super.componentWillUnmount) super.componentWillUnmount();\n this.removeDocumentEvents();\n }\n\n componentDidMount() {\n // Snapshot testing cannot handle refs, so be sure to null-check this.\n this.document = this.sliderRef && this.sliderRef.ownerDocument;\n }\n\n onMouseDown = (e) => {\n if (e.button !== 0) { return; }\n\n const isVertical = this.props.vertical;\n let position = utils.getMousePosition(isVertical, e);\n if (!utils.isEventFromHandle(e, this.handlesRefs)) {\n this.dragOffset = 0;\n } else {\n const handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n this.dragOffset = position - handlePosition;\n position = handlePosition;\n }\n this.removeDocumentEvents();\n this.onStart(position);\n this.addDocumentMouseEvents();\n }\n\n onTouchStart = (e) => {\n if (utils.isNotTouchEvent(e)) return;\n\n const isVertical = this.props.vertical;\n let position = utils.getTouchPosition(isVertical, e);\n if (!utils.isEventFromHandle(e, this.handlesRefs)) {\n this.dragOffset = 0;\n } else {\n const handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n this.dragOffset = position - handlePosition;\n position = handlePosition;\n }\n this.onStart(position);\n this.addDocumentTouchEvents();\n utils.pauseEvent(e);\n }\n\n onFocus = (e) => {\n const { onFocus, vertical } = this.props;\n if (utils.isEventFromHandle(e, this.handlesRefs)) {\n const handlePosition = utils.getHandleCenterPosition(vertical, e.target);\n this.dragOffset = 0;\n this.onStart(handlePosition);\n utils.pauseEvent(e);\n if (onFocus) {\n onFocus(e);\n }\n }\n }\n\n onBlur = (e) => {\n const { onBlur } = this.props;\n this.onEnd(e);\n if (onBlur) {\n onBlur(e);\n }\n };\n\n addDocumentTouchEvents() {\n // just work for Chrome iOS Safari and Android Browser\n this.onTouchMoveListener = addEventListener(this.document, 'touchmove', this.onTouchMove);\n this.onTouchUpListener = addEventListener(this.document, 'touchend', this.onEnd);\n }\n\n addDocumentMouseEvents() {\n this.onMouseMoveListener = addEventListener(this.document, 'mousemove', this.onMouseMove);\n this.onMouseUpListener = addEventListener(this.document, 'mouseup', this.onEnd);\n }\n\n removeDocumentEvents() {\n /* eslint-disable no-unused-expressions */\n this.onTouchMoveListener && this.onTouchMoveListener.remove();\n this.onTouchUpListener && this.onTouchUpListener.remove();\n\n this.onMouseMoveListener && this.onMouseMoveListener.remove();\n this.onMouseUpListener && this.onMouseUpListener.remove();\n /* eslint-enable no-unused-expressions */\n }\n\n onMouseUp = () => {\n if (this.handlesRefs[this.prevMovedHandleIndex]) {\n this.handlesRefs[this.prevMovedHandleIndex].clickFocus();\n }\n }\n\n onMouseMove = (e) => {\n if (!this.sliderRef) {\n this.onEnd();\n return;\n }\n const position = utils.getMousePosition(this.props.vertical, e);\n this.onMove(e, position - this.dragOffset);\n }\n\n onTouchMove = (e) => {\n if (utils.isNotTouchEvent(e) || !this.sliderRef) {\n this.onEnd();\n return;\n }\n\n const position = utils.getTouchPosition(this.props.vertical, e);\n this.onMove(e, position - this.dragOffset);\n }\n\n onKeyDown = (e) => {\n if (this.sliderRef && utils.isEventFromHandle(e, this.handlesRefs)) {\n this.onKeyboard(e);\n }\n }\n\n focus() {\n if (!this.props.disabled) {\n this.handlesRefs[0].focus();\n }\n }\n\n blur() {\n if (!this.props.disabled) {\n this.handlesRefs[0].blur();\n }\n }\n\n getSliderStart() {\n const slider = this.sliderRef;\n const rect = slider.getBoundingClientRect();\n\n return this.props.vertical ? rect.top : rect.left;\n }\n\n getSliderLength() {\n const slider = this.sliderRef;\n if (!slider) {\n return 0;\n }\n\n const coords = slider.getBoundingClientRect();\n return this.props.vertical ? coords.height : coords.width;\n }\n\n calcValue(offset) {\n const { vertical, min, max } = this.props;\n const ratio = Math.abs(Math.max(offset, 0) / this.getSliderLength());\n const value = vertical ? (1 - ratio) * (max - min) + min : ratio * (max - min) + min;\n return value;\n }\n\n calcValueByPos(position) {\n const pixelOffset = position - this.getSliderStart();\n const nextValue = this.trimAlignValue(this.calcValue(pixelOffset));\n return nextValue;\n }\n\n calcOffset(value) {\n const { min, max } = this.props;\n const ratio = (value - min) / (max - min);\n return ratio * 100;\n }\n\n saveSlider = (slider) => {\n this.sliderRef = slider;\n }\n\n saveHandle(index, handle) {\n this.handlesRefs[index] = handle;\n }\n\n onClickMarkLabel = (e, value) => {\n e.stopPropagation();\n this.onChange({ value });\n }\n\n render() {\n const {\n prefixCls,\n className,\n marks,\n dots,\n step,\n included,\n disabled,\n vertical,\n min,\n max,\n children,\n maximumTrackStyle,\n style,\n railStyle,\n dotStyle,\n activeDotStyle,\n } = this.props;\n const { tracks, handles } = super.render();\n\n const sliderClassName = classNames(prefixCls, {\n [`${prefixCls}-with-marks`]: Object.keys(marks).length,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-vertical`]: vertical,\n [className]: className,\n });\n return (\n <div\n ref={this.saveSlider}\n className={sliderClassName}\n onTouchStart={disabled ? noop : this.onTouchStart}\n onMouseDown={disabled ? noop : this.onMouseDown}\n onMouseUp={disabled ? noop : this.onMouseUp}\n onKeyDown={disabled ? noop : this.onKeyDown}\n onFocus={disabled ? noop : this.onFocus}\n onBlur={disabled ? noop : this.onBlur}\n style={style}\n >\n <div\n className={`${prefixCls}-rail`}\n style={{\n ...maximumTrackStyle,\n ...railStyle,\n }}\n />\n {tracks}\n <Steps\n prefixCls={prefixCls}\n vertical={vertical}\n marks={marks}\n dots={dots}\n step={step}\n included={included}\n lowerBound={this.getLowerBound()}\n upperBound={this.getUpperBound()}\n max={max}\n min={min}\n dotStyle={dotStyle}\n activeDotStyle={activeDotStyle}\n />\n {handles}\n <Marks\n className={`${prefixCls}-mark`}\n onClickLabel={disabled ? noop : this.onClickMarkLabel}\n vertical={vertical}\n marks={marks}\n included={included}\n lowerBound={this.getLowerBound()}\n upperBound={this.getUpperBound()}\n max={max}\n min={min}\n />\n {children}\n </div>\n );\n }\n };\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from '../tooltip';\nimport Handle from './Handle';\n\nexport default function createSliderWithTooltip(Component) {\n return class ComponentWrapper extends Component {\n static propTypes = {\n tipFormatter: PropTypes.func,\n handleStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n tipProps: PropTypes.object,\n };\n static defaultProps = {\n tipFormatter(value) {\n return value;\n },\n handleStyle: [{}],\n tipProps: {},\n };\n\n constructor(props) {\n super(props);\n this.state = { visibles: {} };\n }\n\n handleTooltipVisibleChange = (index, visible) => {\n this.setState(prevState => {\n return {\n visibles: {\n ...prevState.visibles,\n [index]: visible,\n },\n };\n });\n };\n handleWithTooltip = ({ value, dragging, index, disabled, ...restProps }) => {\n const { tipFormatter, tipProps, handleStyle } = this.props;\n\n const {\n prefixCls = 'rc-slider-tooltip',\n overlay = tipFormatter(value),\n placement = 'top',\n visible = visible || false,\n ...restTooltipProps\n } = tipProps;\n\n let handleStyleWithIndex;\n if (Array.isArray(handleStyle)) {\n handleStyleWithIndex = handleStyle[index] || handleStyle[0];\n } else {\n handleStyleWithIndex = handleStyle;\n }\n\n return (\n <Tooltip\n {...restTooltipProps}\n prefixCls={prefixCls}\n overlay={overlay}\n placement={placement}\n visible={(!disabled && (this.state.visibles[index] || dragging)) || visible}\n key={index}\n >\n <Handle\n {...restProps}\n style={{\n ...handleStyleWithIndex,\n }}\n value={value}\n onMouseEnter={() => this.handleTooltipVisibleChange(index, true)}\n onMouseLeave={() => this.handleTooltipVisibleChange(index, false)}\n />\n </Tooltip>\n );\n };\n\n render() {\n return <Component {...this.props} handle={this.handleWithTooltip} />;\n }\n };\n}\n","import Slider from './Slider';\nimport Range from './Range';\nimport Handle from './Handle';\nimport createSliderWithTooltip from './createSliderWithTooltip';\n\nSlider.Range = Range;\nSlider.Handle = Handle;\nSlider.createSliderWithTooltip = createSliderWithTooltip;\nexport default Slider;\nexport { Range, Handle, createSliderWithTooltip };\n","import { findDOMNode } from 'react-dom';\nimport keyCode from '../../_util/KeyCode';\n\nexport function isEventFromHandle(e, handles) {\n return Object.keys(handles)\n .some(key => e.target === findDOMNode(handles[key]));\n}\n\nexport function isValueOutOfRange(value, { min, max }) {\n return value < min || value > max;\n}\n\nexport function isNotTouchEvent(e) {\n return e.touches.length > 1 ||\n (e.type.toLowerCase() === 'touchend' && e.touches.length > 0);\n}\n\nexport function getClosestPoint(val, { marks, step, min }) {\n const points = Object.keys(marks).map(parseFloat);\n if (step !== null) {\n const closestStep =\n Math.round((val - min) / step) * step + min;\n points.push(closestStep);\n }\n const diffs = points.map(point => Math.abs(val - point));\n return points[diffs.indexOf(Math.min(...diffs))];\n}\n\nexport function getPrecision(step) {\n const stepString = step.toString();\n let precision = 0;\n if (stepString.indexOf('.') >= 0) {\n precision = stepString.length - stepString.indexOf('.') - 1;\n }\n return precision;\n}\n\nexport function getMousePosition(vertical, e) {\n return vertical ? e.clientY : e.pageX;\n}\n\nexport function getTouchPosition(vertical, e) {\n return vertical ? e.touches[0].clientY : e.touches[0].pageX;\n}\n\nexport function getHandleCenterPosition(vertical, handle) {\n const coords = handle.getBoundingClientRect();\n return vertical ?\n coords.top + (coords.height * 0.5) :\n coords.left + (coords.width * 0.5);\n}\n\nexport function ensureValueInRange(val, { max, min }) {\n if (val <= min) {\n return min;\n }\n if (val >= max) {\n return max;\n }\n return val;\n}\n\nexport function ensureValuePrecision(val, props) {\n const { step } = props;\n const closestPoint = getClosestPoint(val, props);\n return step === null ? closestPoint :\n parseFloat(closestPoint.toFixed(getPrecision(step)));\n}\n\nexport function pauseEvent(e) {\n e.stopPropagation();\n e.preventDefault();\n}\n\nexport function getKeyboardValueMutator(e) {\n switch (e.keyCode) {\n case keyCode.UP:\n case keyCode.RIGHT:\n return (value, props) => value + props.step;\n\n case keyCode.DOWN:\n case keyCode.LEFT:\n return (value, props) => value - props.step;\n\n case keyCode.END: return (value, props) => props.max;\n case keyCode.HOME: return (value, props) => props.min;\n case keyCode.PAGE_UP: return (value, props) => value + props.step * 2;\n case keyCode.PAGE_DOWN: return (value, props) => value - props.step * 2;\n\n default: return undefined;\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nfunction isString(str) {\n return typeof str === 'string';\n}\n\nexport default class Step extends Component {\n static propTypes = {\n className: PropTypes.string,\n prefixCls: PropTypes.string,\n style: PropTypes.object,\n wrapperStyle: PropTypes.object,\n itemWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n status: PropTypes.string,\n iconPrefix: PropTypes.string,\n icon: PropTypes.node,\n adjustMarginRight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n stepNumber: PropTypes.string,\n description: PropTypes.any,\n title: PropTypes.any,\n progressDot: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n tailContent: PropTypes.any,\n };\n\n renderIconNode() {\n const {\n prefixCls,\n progressDot,\n stepNumber,\n status,\n title,\n description,\n icon,\n iconPrefix,\n } = this.props;\n let iconNode;\n const iconClassName = classNames(`${iconPrefix}`, {\n [`${iconPrefix}-${icon}`]: icon && isString(icon),\n [`${iconPrefix}-check`]: !icon && status === 'finish',\n [`${iconPrefix}-close`]: !icon && status === 'error',\n });\n const iconDot = <span className={`${prefixCls}-icon-dot`}></span>;\n // `progressDot` enjoy the highest priority\n if (progressDot) {\n if (typeof progressDot === 'function') {\n iconNode = (\n <span className={`${prefixCls}-icon`}>\n {progressDot(iconDot, { index: stepNumber - 1, status, title, description })}\n </span>\n );\n } else {\n iconNode = <span className={`${prefixCls}-icon`}>{iconDot}</span>;\n }\n } else if (icon && !isString(icon)) {\n iconNode = <span className={`${prefixCls}-icon`}>{icon}</span>;\n } else if (icon || status === 'finish' || status === 'error') {\n iconNode = <span className={iconClassName} />;\n } else {\n iconNode = <span className={`${prefixCls}-icon`}>{stepNumber}</span>;\n }\n return iconNode;\n }\n\n render() {\n const {\n className,\n prefixCls,\n style,\n itemWidth,\n status = 'wait',\n iconPrefix,\n icon,\n wrapperStyle,\n adjustMarginRight,\n stepNumber,\n description,\n title,\n progressDot,\n tailContent,\n ...restProps\n } = this.props;\n\n const classString = classNames(`${prefixCls}-item`, `${prefixCls}-item-${status}`, className, {\n [`${prefixCls}-item-custom`]: icon,\n });\n const stepItemStyle = { ...style };\n if (itemWidth) {\n stepItemStyle.width = itemWidth;\n }\n if (adjustMarginRight) {\n stepItemStyle.marginRight = adjustMarginRight;\n }\n return (\n <div {...restProps} className={classString} style={stepItemStyle}>\n <div className={`${prefixCls}-item-tail`}>{tailContent}</div>\n <div className={`${prefixCls}-item-icon`}>{this.renderIconNode()}</div>\n <div className={`${prefixCls}-item-content`}>\n <div className={`${prefixCls}-item-title`}>{title}</div>\n {description && <div className={`${prefixCls}-item-description`}>{description}</div>}\n </div>\n </div>\n );\n }\n}\n","/* eslint react/no-did-mount-set-state: 0 */\nimport React, { Children, cloneElement, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { findDOMNode } from 'react-dom';\nimport classNames from 'classnames';\nimport debounce from 'lodash/debounce';\nimport { isFlexSupported } from './utils';\n\nexport default class Steps extends Component {\n static propTypes = {\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n iconPrefix: PropTypes.string,\n direction: PropTypes.string,\n labelPlacement: PropTypes.string,\n children: PropTypes.any,\n status: PropTypes.string,\n size: PropTypes.string,\n progressDot: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n style: PropTypes.object,\n current: PropTypes.number,\n };\n static defaultProps = {\n prefixCls: 'rc-steps',\n iconPrefix: 'rc',\n direction: 'horizontal',\n labelPlacement: 'horizontal',\n current: 0,\n status: 'process',\n size: '',\n progressDot: false,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n flexSupported: true,\n lastStepOffsetWidth: 0,\n };\n this.calcStepOffsetWidth = debounce(this.calcStepOffsetWidth, 150);\n }\n\n componentDidMount() {\n this.calcStepOffsetWidth();\n if (!isFlexSupported()) {\n this.setState({\n flexSupported: false,\n });\n }\n }\n\n componentDidUpdate() {\n this.calcStepOffsetWidth();\n }\n\n componentWillUnmount() {\n if (this.calcTimeout) {\n clearTimeout(this.calcTimeout);\n }\n if (this.calcStepOffsetWidth && this.calcStepOffsetWidth.cancel) {\n this.calcStepOffsetWidth.cancel();\n }\n }\n\n calcStepOffsetWidth = () => {\n if (isFlexSupported()) {\n return;\n }\n // Just for IE9\n const domNode = findDOMNode(this);\n if (domNode.children.length > 0) {\n if (this.calcTimeout) {\n clearTimeout(this.calcTimeout);\n }\n this.calcTimeout = setTimeout(() => {\n // +1 for fit edge bug of digit width, like 35.4px\n const lastStepOffsetWidth = (domNode.lastChild.offsetWidth || 0) + 1;\n // Reduce shake bug\n if (\n this.state.lastStepOffsetWidth === lastStepOffsetWidth ||\n Math.abs(this.state.lastStepOffsetWidth - lastStepOffsetWidth) <= 3\n ) {\n return;\n }\n this.setState({ lastStepOffsetWidth });\n });\n }\n };\n\n render() {\n const {\n prefixCls,\n style = {},\n className,\n children,\n direction,\n labelPlacement,\n iconPrefix,\n status,\n size,\n current,\n progressDot,\n ...restProps\n } = this.props;\n const { lastStepOffsetWidth, flexSupported } = this.state;\n const filteredChildren = Children.toArray(children).filter(c => !!c);\n const lastIndex = filteredChildren.length - 1;\n const adjustedlabelPlacement = !!progressDot ? 'vertical' : labelPlacement;\n const classString = classNames(prefixCls, `${prefixCls}-${direction}`, className, {\n [`${prefixCls}-${size}`]: size,\n [`${prefixCls}-label-${adjustedlabelPlacement}`]: direction === 'horizontal',\n [`${prefixCls}-dot`]: !!progressDot,\n });\n\n return (\n <div className={classString} style={style} {...restProps}>\n {Children.map(filteredChildren, (child, index) => {\n if (!child) {\n return null;\n }\n const childProps = {\n stepNumber: `${index + 1}`,\n prefixCls,\n iconPrefix,\n wrapperStyle: style,\n progressDot,\n ...child.props,\n };\n if (!flexSupported && direction !== 'vertical' && index !== lastIndex) {\n childProps.itemWidth = `${100 / lastIndex}%`;\n childProps.adjustMarginRight = -Math.round(lastStepOffsetWidth / lastIndex + 1);\n }\n // fix tail color\n if (status === 'error' && index === current - 1) {\n childProps.className = `${prefixCls}-next-error`;\n }\n if (!child.props.status) {\n if (index === current) {\n childProps.status = status;\n } else if (index < current) {\n childProps.status = 'finish';\n } else {\n childProps.status = 'wait';\n }\n }\n return cloneElement(child, childProps);\n })}\n </div>\n );\n }\n}\n","import Steps from './Steps';\nimport Step from './Step';\n\nSteps.Step = Step;\n\nexport { Step };\nexport default Steps;\n","export function isFlexSupported() {\n if (typeof window !== 'undefined' && window.document && window.document.documentElement) {\n const { documentElement } = window.document;\n return 'flex' in documentElement.style ||\n 'webkitFlex' in documentElement.style ||\n 'Flex' in documentElement.style ||\n 'msFlex' in documentElement.style;\n }\n return false;\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport noop from 'lodash/noop';\nimport classNames from 'classnames';\n\nexport default class Switch extends Component {\n static propTypes = {\n className: PropTypes.string,\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n checkedChildren: PropTypes.any,\n unCheckedChildren: PropTypes.any,\n onChange: PropTypes.func,\n onMouseUp: PropTypes.func,\n onClick: PropTypes.func,\n tabIndex: PropTypes.number,\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n autoFocus: PropTypes.bool,\n };\n\n static defaultProps = {\n prefixCls: 'rc-switch',\n checkedChildren: null,\n unCheckedChildren: null,\n className: '',\n defaultChecked: false,\n onChange: noop,\n onClick: noop,\n };\n\n constructor(props) {\n super(props);\n\n let checked = false;\n if ('checked' in props) {\n checked = !!props.checked;\n } else {\n checked = !!props.defaultChecked;\n }\n this.state = { checked };\n }\n\n componentDidMount() {\n const { autoFocus, disabled } = this.props;\n if (autoFocus && !disabled) {\n this.focus();\n }\n }\n\n componentWillReceiveProps(nextProps) {\n if ('checked' in nextProps) {\n this.setState({\n checked: !!nextProps.checked,\n });\n }\n }\n\n setChecked(checked) {\n if (this.props.disabled) {\n return;\n }\n if (!('checked' in this.props)) {\n this.setState({\n checked,\n });\n }\n this.props.onChange(checked);\n }\n\n toggle = () => {\n const { onClick } = this.props;\n const checked = !this.state.checked;\n this.setChecked(checked);\n onClick(checked);\n };\n\n handleKeyDown = (e) => {\n if (e.keyCode === 37) { // Left\n this.setChecked(false);\n } else if (e.keyCode === 39) { // Right\n this.setChecked(true);\n } else if (e.keyCode === 32 || e.keyCode === 13) { // Space, Enter\n this.toggle();\n }\n };\n\n // Handle auto focus when click switch in Chrome\n handleMouseUp = (e) => {\n if (this.node) {\n this.node.blur();\n }\n if (this.props.onMouseUp) {\n this.props.onMouseUp(e);\n }\n };\n\n focus() {\n this.node.focus();\n }\n\n blur() {\n this.node.blur();\n }\n\n saveNode = (node) => {\n this.node = node;\n };\n\n render() {\n const {\n className, prefixCls, disabled,\n checkedChildren, tabIndex, unCheckedChildren, ...restProps\n } = this.props;\n const checked = this.state.checked;\n const switchTabIndex = disabled ? -1 : (tabIndex || 0);\n const switchClassName = classNames({\n [className]: !!className,\n [prefixCls]: true,\n [`${prefixCls}-checked`]: checked,\n [`${prefixCls}-disabled`]: disabled,\n });\n return (\n <span\n {...restProps}\n className={switchClassName}\n tabIndex={switchTabIndex}\n ref={this.saveNode}\n onKeyDown={this.handleKeyDown}\n onClick={this.toggle}\n onMouseUp={this.handleMouseUp}\n >\n <span className={`${prefixCls}-inner`}>\n {checked ? checkedChildren : unCheckedChildren}\n </span>\n </span>\n );\n }\n}\n","module.exports = require('./Switch');\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'mini-store';\nimport ColGroup from './ColGroup';\nimport TableHeader from './TableHeader';\nimport TableFooter from './TableFooter';\nimport TableRow from './TableRow';\nimport ExpandableRow from './ExpandableRow';\n\nclass BaseTable extends Component {\n static propTypes = {\n fixed: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n hasHead: PropTypes.bool.isRequired,\n hasBody: PropTypes.bool.isRequired,\n hasFoot: PropTypes.bool.isRequired,\n store: PropTypes.object.isRequired,\n expander: PropTypes.object.isRequired,\n getRowKey: PropTypes.func,\n isAnyColumnsFixed: PropTypes.bool,\n };\n\n static contextTypes = {\n table: PropTypes.any,\n };\n\n handleRowHover = (isHover, key) => {\n this.props.store.setState({\n currentHoverKey: isHover ? key : null,\n });\n };\n\n renderRows = (renderData, indent, ancestorKeys = []) => {\n const { table } = this.context;\n const { columnManager, components } = table;\n const {\n prefixCls,\n childrenColumnName,\n rowClassName,\n rowRef,\n onRowClick,\n onRowDoubleClick,\n onRowContextMenu,\n onRowMouseEnter,\n onRowMouseLeave,\n onRow,\n } = table.props;\n const { getRowKey, fixed, expander, isAnyColumnsFixed } = this.props;\n\n const rows = [];\n\n for (let i = 0; i < renderData.length; i++) {\n const record = renderData[i];\n const key = getRowKey(record, i);\n const className = typeof rowClassName === 'string'\n ? rowClassName\n : rowClassName(record, i, indent);\n\n const onHoverProps = {};\n if (columnManager.isAnyColumnsFixed()) {\n onHoverProps.onHover = this.handleRowHover;\n }\n\n let leafColumns;\n if (fixed === 'left') {\n leafColumns = columnManager.leftLeafColumns();\n } else if (fixed === 'right') {\n leafColumns = columnManager.rightLeafColumns();\n } else {\n leafColumns = columnManager.leafColumns();\n }\n\n const rowPrefixCls = `${prefixCls}-row`;\n\n const row = (\n <ExpandableRow\n {...expander.props}\n fixed={fixed}\n index={i}\n prefixCls={rowPrefixCls}\n record={record}\n key={key}\n rowKey={key}\n onRowClick={onRowClick}\n needIndentSpaced={expander.needIndentSpaced}\n onExpandedChange={expander.handleExpandChange}\n >\n {(expandableRow) => ( // eslint-disable-line\n <TableRow\n fixed={fixed}\n indent={indent}\n className={className}\n record={record}\n index={i}\n prefixCls={rowPrefixCls}\n childrenColumnName={childrenColumnName}\n columns={leafColumns}\n onRow={onRow}\n onRowDoubleClick={onRowDoubleClick}\n onRowContextMenu={onRowContextMenu}\n onRowMouseEnter={onRowMouseEnter}\n onRowMouseLeave={onRowMouseLeave}\n {...onHoverProps}\n rowKey={key}\n ancestorKeys={ancestorKeys}\n ref={rowRef(record, i, indent)}\n components={components}\n isAnyColumnsFixed={isAnyColumnsFixed}\n {...expandableRow}\n />\n )}\n </ExpandableRow>\n );\n\n rows.push(row);\n\n expander.renderRows(\n this.renderRows,\n rows,\n record,\n i,\n indent,\n fixed,\n key,\n ancestorKeys,\n );\n }\n return rows;\n };\n\n render() {\n const { table } = this.context;\n const { components } = table;\n const { prefixCls, scroll, data, getBodyWrapper } = table.props;\n const { expander, tableClassName, hasHead, hasBody, hasFoot, fixed, columns } = this.props;\n const tableStyle = {};\n\n if (!fixed && scroll.x) {\n // not set width, then use content fixed width\n if (scroll.x === true) {\n tableStyle.tableLayout = 'fixed';\n } else {\n tableStyle.width = scroll.x;\n }\n }\n\n const Table = hasBody ? components.table : 'table';\n const BodyWrapper = components.body.wrapper;\n\n let body;\n if (hasBody) {\n body = (\n <BodyWrapper className={`${prefixCls}-tbody`}>\n {this.renderRows(data, 0)}\n </BodyWrapper>\n );\n if (getBodyWrapper) {\n body = getBodyWrapper(body);\n }\n }\n\n return (\n <Table className={tableClassName} style={tableStyle} key=\"table\">\n <ColGroup columns={columns} fixed={fixed} />\n {hasHead && <TableHeader expander={expander} columns={columns} fixed={fixed} />}\n {body}\n {hasFoot && <TableFooter onHover={this.handleRowHover} columns={columns} fixed={fixed} />}\n </Table>\n );\n }\n}\n\nexport default connect()(BaseTable);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport measureScrollbar from '../../_util/measureScrollbar';\nimport BaseTable from './BaseTable';\n\nexport default function BodyTable(props, { table }) {\n const { prefixCls, scroll } = table.props;\n const {\n columns,\n fixed,\n tableClassName,\n getRowKey,\n handleBodyScroll,\n expander,\n isAnyColumnsFixed,\n } = props;\n const { saveRef, columnManager } = table;\n let { useFixedHeader } = table.props;\n const bodyStyle = { ...table.props.bodyStyle };\n const innerBodyStyle = {};\n\n if (scroll.x || fixed) {\n bodyStyle.overflowX = bodyStyle.overflowX || 'auto';\n // Fix weired webkit render bug\n bodyStyle.WebkitTransform = 'translate3d (0, 0, 0)';\n }\n\n if (scroll.y) {\n // maxHeight will make fixed-Table scrolling not working\n // so we only set maxHeight to body-Table here\n if (fixed) {\n innerBodyStyle.maxHeight = bodyStyle.maxHeight || scroll.y;\n innerBodyStyle.overflowY = bodyStyle.overflowY || 'scroll';\n } else {\n bodyStyle.maxHeight = bodyStyle.maxHeight || scroll.y;\n }\n bodyStyle.overflowY = bodyStyle.overflowY || 'scroll';\n useFixedHeader = true;\n\n // Add negative margin bottom for scroll bar overflow bug\n const scrollbarWidth = measureScrollbar();\n if (scrollbarWidth > 0 && fixed) {\n bodyStyle.marginBottom = `-${scrollbarWidth}px`;\n bodyStyle.paddingBottom = '0px';\n }\n }\n\n const hasFoot = !useFixedHeader && columnManager.hasFooter();\n\n const baseTable = (\n <BaseTable\n tableClassName={tableClassName}\n hasHead={!useFixedHeader}\n hasBody\n hasFoot={hasFoot}\n fixed={fixed}\n columns={columns}\n expander={expander}\n getRowKey={getRowKey}\n isAnyColumnsFixed={isAnyColumnsFixed}\n />\n );\n\n if (fixed && columns.length) {\n let refName;\n if (columns[0].fixed === 'left' || columns[0].fixed === true) {\n refName = 'fixedColumnsBodyLeft';\n } else if (columns[0].fixed === 'right') {\n refName = 'fixedColumnsBodyRight';\n }\n delete bodyStyle.overflowX;\n delete bodyStyle.overflowY;\n return (\n <div\n key=\"bodyTable\"\n className={`${prefixCls}-body-outer`}\n style={{ ...bodyStyle }}\n >\n <div\n className={`${prefixCls}-body-inner`}\n style={innerBodyStyle}\n ref={saveRef(refName)}\n onScroll={handleBodyScroll}\n >\n {baseTable}\n </div>\n </div>\n );\n }\n\n return (\n <div\n key=\"bodyTable\"\n className={`${prefixCls}-body`}\n style={bodyStyle}\n ref={saveRef('bodyTable')}\n onScroll={handleBodyScroll}\n >\n {baseTable}\n </div>\n );\n}\n\nBodyTable.propTypes = {\n fixed: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n handleBodyScroll: PropTypes.func.isRequired,\n getRowKey: PropTypes.func.isRequired,\n expander: PropTypes.object.isRequired,\n isAnyColumnsFixed: PropTypes.bool,\n};\n\nBodyTable.contextTypes = {\n table: PropTypes.any,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function ColGroup(props, { table }) {\n const { prefixCls, expandIconAsCell } = table.props;\n const { fixed } = props;\n\n let cols = [];\n\n if (expandIconAsCell && fixed !== 'right') {\n cols.push(\n <col\n className={`${prefixCls}-expand-icon-col`}\n key=\"rc-table-expand-icon-col\"\n />\n );\n }\n\n let leafColumns;\n\n if (fixed === 'left') {\n leafColumns = table.columnManager.leftLeafColumns();\n } else if (fixed === 'right') {\n leafColumns = table.columnManager.rightLeafColumns();\n } else {\n leafColumns = table.columnManager.leafColumns();\n }\n cols = cols.concat(\n leafColumns.map(c => {\n return (\n <col\n key={c.key || c.dataIndex}\n style={{ width: c.width, minWidth: c.width }}\n />\n );\n })\n );\n\n return (\n <colgroup>\n {cols}\n </colgroup>\n );\n}\n\nColGroup.propTypes = {\n fixed: PropTypes.string,\n};\n\nColGroup.contextTypes = {\n table: PropTypes.any,\n};\n","import { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Column extends Component {\n static propTypes = {\n className: PropTypes.string,\n colSpan: PropTypes.number,\n title: PropTypes.node,\n footer: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n dataIndex: PropTypes.string,\n width: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n fixed: PropTypes.oneOf([\n true,\n 'left',\n 'right',\n ]),\n render: PropTypes.func,\n onCellClick: PropTypes.func,\n onCell: PropTypes.func,\n onHeaderCell: PropTypes.func,\n }\n}\n","import { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class ColumnGroup extends Component {\n static propTypes = {\n title: PropTypes.node,\n }\n\n static isTableColumnGroup = true\n}\n","import React, { Children, isValidElement } from 'react';\n\nexport default class ColumnManager {\n _cached = {};\n\n constructor(columns, elements) {\n this.columns = columns || this.normalize(elements);\n }\n\n isAnyColumnsFixed() {\n return this._cache('isAnyColumnsFixed', () => {\n return this.columns.some(column => !!column.fixed);\n });\n }\n\n isAnyColumnsLeftFixed() {\n return this._cache('isAnyColumnsLeftFixed', () => {\n return this.columns.some(\n column => column.fixed === 'left' || column.fixed === true,\n );\n });\n }\n\n isAnyColumnsRightFixed() {\n return this._cache('isAnyColumnsRightFixed', () => {\n return this.columns.some(\n column => column.fixed === 'right',\n );\n });\n }\n\n hasFooter() {\n return this._cache('hasFooter', () => {\n return this.leafColumns().some(column => column.footer);\n });\n }\n\n leftColumns() {\n return this._cache('leftColumns', () => {\n return this.groupedColumns().filter(\n column => column.fixed === 'left' || column.fixed === true,\n );\n });\n }\n\n rightColumns() {\n return this._cache('rightColumns', () => {\n return this.groupedColumns().filter(\n column => column.fixed === 'right',\n );\n });\n }\n\n leafColumns() {\n return this._cache('leafColumns', () =>\n this._leafColumns(this.columns),\n );\n }\n\n leftLeafColumns() {\n return this._cache('leftLeafColumns', () =>\n this._leafColumns(this.leftColumns()),\n );\n }\n\n rightLeafColumns() {\n return this._cache('rightLeafColumns', () =>\n this._leafColumns(this.rightColumns()),\n );\n }\n\n // add appropriate rowspan and colspan to column\n groupedColumns() {\n return this._cache('groupedColumns', () => {\n const _groupColumns = (columns, currentRow = 0, parentColumn = {}, rows = []) => {\n // track how many rows we got\n rows[currentRow] = rows[currentRow] || [];\n const grouped = [];\n const setRowSpan = column => {\n const rowSpan = rows.length - currentRow;\n if (column &&\n !column.children && // parent columns are supposed to be one row\n rowSpan > 1 &&\n (!column.rowSpan || column.rowSpan < rowSpan)\n ) {\n column.rowSpan = rowSpan;\n }\n };\n columns.forEach((column, index) => {\n const newColumn = { ...column };\n rows[currentRow].push(newColumn);\n parentColumn.colSpan = parentColumn.colSpan || 0;\n if (newColumn.children && newColumn.children.length > 0) {\n newColumn.children = _groupColumns(newColumn.children, currentRow + 1, newColumn, rows);\n parentColumn.colSpan = parentColumn.colSpan + newColumn.colSpan;\n } else {\n parentColumn.colSpan++;\n }\n // update rowspan to all same row columns\n for (let i = 0; i < rows[currentRow].length - 1; ++i) {\n setRowSpan(rows[currentRow][i]);\n }\n // last column, update rowspan immediately\n if (index + 1 === columns.length) {\n setRowSpan(newColumn);\n }\n grouped.push(newColumn);\n });\n return grouped;\n };\n return _groupColumns(this.columns);\n });\n }\n\n normalize(elements) {\n const columns = [];\n Children.forEach(elements, element => {\n if (!isValidElement(element)) {\n return;\n }\n const column = { ...element.props };\n if (element.key) {\n column.key = element.key;\n }\n if (element.type.isTableColumnGroup) {\n column.children = this.normalize(column.children);\n }\n columns.push(column);\n });\n return columns;\n }\n\n reset(columns, elements) {\n this.columns = columns || this.normalize(elements);\n this._cached = {};\n }\n\n _cache(name, fn) {\n if (name in this._cached) {\n return this._cached[name];\n }\n this._cached[name] = fn();\n return this._cached[name];\n }\n\n _leafColumns(columns) {\n const leafColumns = [];\n columns.forEach(column => {\n if (!column.children) {\n leafColumns.push(column);\n } else {\n leafColumns.push(...this._leafColumns(column.children));\n }\n });\n return leafColumns;\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport shallowequal from 'lodash/isEqual';\n\nexport default class ExpandIcon extends Component {\n static propTypes = {\n record: PropTypes.object,\n prefixCls: PropTypes.string,\n expandable: PropTypes.any,\n expanded: PropTypes.bool,\n needIndentSpaced: PropTypes.bool,\n onExpand: PropTypes.func,\n };\n\n shouldComponentUpdate(nextProps) {\n return !shallowequal(nextProps, this.props);\n }\n\n render() {\n const { expandable, prefixCls, onExpand, needIndentSpaced, expanded, record } = this.props;\n if (expandable) {\n const expandClassName = expanded ? 'expanded' : 'collapsed';\n return (\n <span\n className={`${prefixCls}-expand-icon ${prefixCls}-${expandClassName}`}\n onClick={(e) => onExpand(record, e)}\n />\n );\n } else if (needIndentSpaced) {\n return <span className={`${prefixCls}-expand-icon ${prefixCls}-spaced`} />;\n }\n return null;\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'mini-store';\nimport ExpandIcon from './ExpandIcon';\n\nclass ExpandableRow extends Component {\n static propTypes = {\n prefixCls: PropTypes.string.isRequired,\n rowKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]).isRequired,\n fixed: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n record: PropTypes.object.isRequired,\n indentSize: PropTypes.number,\n needIndentSpaced: PropTypes.bool.isRequired,\n expandRowByClick: PropTypes.bool,\n expanded: PropTypes.bool.isRequired,\n expandIconAsCell: PropTypes.bool,\n expandIconColumnIndex: PropTypes.number,\n childrenColumnName: PropTypes.string,\n expandedRowRender: PropTypes.func,\n onExpandedChange: PropTypes.func.isRequired,\n onRowClick: PropTypes.func,\n children: PropTypes.func.isRequired,\n }\n\n componentWillUnmount() {\n this.handleDestroy();\n }\n\n hasExpandIcon = (columnIndex) => {\n const { expandRowByClick } = this.props;\n return !this.expandIconAsCell &&\n !expandRowByClick &&\n columnIndex === this.expandIconColumnIndex;\n }\n\n handleExpandChange = (record, event) => {\n const { onExpandedChange, expanded, rowKey } = this.props;\n if (this.expandable) {\n onExpandedChange(!expanded, record, event, rowKey);\n }\n }\n\n handleDestroy() {\n const { onExpandedChange, rowKey, record } = this.props;\n if (this.expandable) {\n onExpandedChange(false, record, null, rowKey, true);\n }\n }\n\n handleRowClick = (record, index, event) => {\n const { expandRowByClick, onRowClick } = this.props;\n if (expandRowByClick) {\n this.handleExpandChange(record, event);\n }\n if (onRowClick) {\n onRowClick(record, index, event);\n }\n }\n\n renderExpandIcon = () => {\n const { prefixCls, expanded, record, needIndentSpaced } = this.props;\n\n return (\n <ExpandIcon\n expandable={this.expandable}\n prefixCls={prefixCls}\n onExpand={this.handleExpandChange}\n needIndentSpaced={needIndentSpaced}\n expanded={expanded}\n record={record}\n />\n );\n }\n\n renderExpandIconCell = (cells) => {\n if (!this.expandIconAsCell) {\n return;\n }\n const { prefixCls } = this.props;\n\n cells.push(\n <td\n className={`${prefixCls}-expand-icon-cell`}\n key=\"rc-table-expand-icon-cell\"\n >\n {this.renderExpandIcon()}\n </td>\n );\n }\n\n render() {\n const {\n childrenColumnName,\n expandedRowRender,\n indentSize,\n record,\n fixed,\n } = this.props;\n\n this.expandIconAsCell = fixed !== 'right' ? this.props.expandIconAsCell : false;\n this.expandIconColumnIndex = fixed !== 'right' ? this.props.expandIconColumnIndex : -1;\n const childrenData = record[childrenColumnName];\n this.expandable = !!(childrenData || expandedRowRender);\n\n const expandableRowProps = {\n indentSize,\n onRowClick: this.handleRowClick,\n hasExpandIcon: this.hasExpandIcon,\n renderExpandIcon: this.renderExpandIcon,\n renderExpandIconCell: this.renderExpandIconCell,\n };\n\n return this.props.children(expandableRowProps);\n }\n}\n\nexport default connect(({ expandedRowKeys }, { rowKey }) => ({\n expanded: !!~expandedRowKeys.indexOf(rowKey),\n}))(ExpandableRow);\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'mini-store';\nimport TableRow from './TableRow';\n\nclass ExpandableTable extends Component {\n static propTypes = {\n expandIconAsCell: PropTypes.bool,\n expandedRowKeys: PropTypes.array,\n expandedRowClassName: PropTypes.func,\n defaultExpandAllRows: PropTypes.bool,\n defaultExpandedRowKeys: PropTypes.array,\n expandIconColumnIndex: PropTypes.number,\n expandedRowRender: PropTypes.func,\n childrenColumnName: PropTypes.string,\n indentSize: PropTypes.number,\n onExpand: PropTypes.func,\n onExpandedRowsChange: PropTypes.func,\n columnManager: PropTypes.object.isRequired,\n store: PropTypes.object.isRequired,\n prefixCls: PropTypes.string.isRequired,\n data: PropTypes.array,\n children: PropTypes.func.isRequired,\n };\n\n static defaultProps = {\n expandIconAsCell: false,\n expandedRowClassName: () => '',\n expandIconColumnIndex: 0,\n defaultExpandAllRows: false,\n defaultExpandedRowKeys: [],\n childrenColumnName: 'children',\n indentSize: 15,\n onExpand() {\n },\n onExpandedRowsChange() {\n },\n };\n\n constructor(props) {\n super(props);\n\n const {\n data,\n childrenColumnName,\n defaultExpandAllRows,\n expandedRowKeys,\n defaultExpandedRowKeys,\n getRowKey,\n } = props;\n\n let finnalExpandedRowKeys = [];\n let rows = [...data];\n\n if (defaultExpandAllRows) {\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n finnalExpandedRowKeys.push(getRowKey(row, i));\n rows = rows.concat(row[childrenColumnName] || []);\n }\n } else {\n finnalExpandedRowKeys = expandedRowKeys || defaultExpandedRowKeys;\n }\n\n this.columnManager = props.columnManager;\n this.store = props.store;\n\n this.store.setState({\n expandedRowsHeight: {},\n expandedRowKeys: finnalExpandedRowKeys,\n });\n }\n\n componentWillReceiveProps(nextProps) {\n if ('expandedRowKeys' in nextProps) {\n this.store.setState({\n expandedRowKeys: nextProps.expandedRowKeys,\n });\n }\n }\n\n handleExpandChange = (expanded, record, event, rowKey, destroy = false) => {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n const { onExpandedRowsChange, onExpand } = this.props;\n let { expandedRowKeys } = this.store.getState();\n\n if (expanded) {\n // row was expaned\n expandedRowKeys = [...expandedRowKeys, rowKey];\n } else {\n // row was collapse\n const expandedRowIndex = expandedRowKeys.indexOf(rowKey);\n if (expandedRowIndex !== -1) {\n expandedRowKeys.splice(expandedRowIndex, 1);\n }\n }\n\n if (!this.props.expandedRowKeys) {\n this.store.setState({ expandedRowKeys });\n }\n\n onExpandedRowsChange(expandedRowKeys);\n if (!destroy) {\n onExpand(expanded, record);\n }\n };\n\n renderExpandIndentCell = (rows, fixed) => {\n const { prefixCls, expandIconAsCell } = this.props;\n if (!expandIconAsCell || fixed === 'right' || !rows.length) {\n return;\n }\n\n const iconColumn = {\n key: 'rc-table-expand-icon-cell',\n className: `${prefixCls}-expand-icon-th`,\n title: '',\n rowSpan: rows.length,\n };\n\n rows[0].unshift({ ...iconColumn, column: iconColumn });\n };\n\n renderExpandedRow(record, index, render, className, ancestorKeys, indent, fixed) {\n const { prefixCls, expandIconAsCell, indentSize } = this.props;\n let colCount;\n if (fixed === 'left') {\n colCount = this.columnManager.leftLeafColumns().length;\n } else if (fixed === 'right') {\n colCount = this.columnManager.rightLeafColumns().length;\n } else {\n colCount = this.columnManager.leafColumns().length;\n }\n const columns = [{\n key: 'extra-row',\n render: () => ({\n props: {\n colSpan: colCount,\n },\n children: fixed !== 'right' ? render(record, index, indent) : '&nbsp;',\n }),\n }];\n if (expandIconAsCell && fixed !== 'right') {\n columns.unshift({\n key: 'expand-icon-placeholder',\n render: () => null,\n });\n }\n const parentKey = ancestorKeys[ancestorKeys.length - 1];\n const rowKey = `${parentKey}-extra-row`;\n const components = {\n body: {\n row: 'tr',\n cell: 'td',\n },\n };\n\n return (\n <TableRow\n key={rowKey}\n columns={columns}\n className={className}\n rowKey={rowKey}\n ancestorKeys={ancestorKeys}\n prefixCls={`${prefixCls}-expanded-row`}\n indentSize={indentSize}\n indent={indent}\n fixed={fixed}\n components={components}\n expandedRow\n />\n );\n }\n\n renderRows = (renderRows, rows, record, index, indent, fixed, parentKey, ancestorKeys) => {\n const { expandedRowClassName, expandedRowRender, childrenColumnName } = this.props;\n const childrenData = record[childrenColumnName];\n const nextAncestorKeys = [...ancestorKeys, parentKey];\n const nextIndent = indent + 1;\n\n if (expandedRowRender) {\n rows.push(\n this.renderExpandedRow(\n record,\n index,\n expandedRowRender,\n expandedRowClassName(record, index, indent),\n nextAncestorKeys,\n nextIndent,\n fixed,\n ),\n );\n }\n\n if (childrenData) {\n rows.push(\n ...renderRows(\n childrenData,\n nextIndent,\n nextAncestorKeys,\n )\n );\n }\n };\n\n render() {\n const { data, childrenColumnName, children } = this.props;\n const needIndentSpaced = data.some(record => record[childrenColumnName]);\n\n return children({\n props: this.props,\n needIndentSpaced,\n renderRows: this.renderRows,\n handleExpandChange: this.handleExpandChange,\n renderExpandIndentCell: this.renderExpandIndentCell,\n });\n }\n}\n\nexport default connect()(ExpandableTable);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport measureScrollbar from '../../_util/measureScrollbar';\nimport BaseTable from './BaseTable';\n\nexport default function FootTable(props, { table }) {\n const { prefixCls, scroll } = table.props;\n const { columns, fixed, tableClassName, handleBodyScrollLeft, expander } = props;\n const { saveRef, columnManager } = table;\n let { useFixedHeader } = table.props;\n const footStyle = {};\n\n if (scroll.y) {\n useFixedHeader = true;\n // Add negative margin bottom for scroll bar overflow bug\n const scrollbarWidth = measureScrollbar('horizontal');\n if (scrollbarWidth > 0 && !fixed) {\n footStyle.marginBottom = `-${scrollbarWidth}px`;\n footStyle.paddingBottom = '0px';\n }\n }\n\n if (!useFixedHeader || !columnManager.hasFooter()) {\n return null;\n }\n\n return (\n <div\n key=\"footTable\"\n ref={fixed ? null : saveRef('footTable')}\n className={`${prefixCls}-column-footer`}\n style={footStyle}\n onScroll={handleBodyScrollLeft}\n >\n <BaseTable\n tableClassName={tableClassName}\n hasHead={false}\n hasBody={false}\n hasFoot\n fixed={fixed}\n columns={columns}\n expander={expander}\n />\n </div>\n );\n}\n\nFootTable.propTypes = {\n fixed: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n handleBodyScrollLeft: PropTypes.func.isRequired,\n expander: PropTypes.object.isRequired,\n};\n\nFootTable.contextTypes = {\n table: PropTypes.any,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport measureScrollbar from '../../_util/measureScrollbar';\nimport BaseTable from './BaseTable';\n\nexport default function HeadTable(props, { table }) {\n const { prefixCls, scroll, showHeader } = table.props;\n const { columns, fixed, tableClassName, handleBodyScrollLeft, expander } = props;\n const { saveRef } = table;\n let { useFixedHeader } = table.props;\n const headStyle = {};\n\n if (scroll.y) {\n useFixedHeader = true;\n // Add negative margin bottom for scroll bar overflow bug\n const scrollbarWidth = measureScrollbar('horizontal');\n if (scrollbarWidth > 0 && !fixed) {\n headStyle.marginBottom = `-${scrollbarWidth}px`;\n headStyle.paddingBottom = '0px';\n }\n }\n\n if (!useFixedHeader || !showHeader) {\n return null;\n }\n\n return (\n <div\n key=\"headTable\"\n ref={fixed ? null : saveRef('headTable')}\n className={`${prefixCls}-header`}\n style={headStyle}\n onScroll={handleBodyScrollLeft}\n >\n <BaseTable\n tableClassName={tableClassName}\n hasHead\n hasBody={false}\n hasFoot={false}\n fixed={fixed}\n columns={columns}\n expander={expander}\n />\n </div>\n );\n}\n\nHeadTable.propTypes = {\n fixed: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n handleBodyScrollLeft: PropTypes.func.isRequired,\n expander: PropTypes.object.isRequired,\n};\n\nHeadTable.contextTypes = {\n table: PropTypes.any,\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash/debounce';\nimport isEqual from 'lodash/isEqual';\nimport merge from 'lodash/merge';\nimport { create, Provider } from 'mini-store';\nimport classes from 'component-classes';\nimport warning from '../../_util/warning';\nimport addEventListener from '../../_util/addEventListener';\nimport ColumnManager from './ColumnManager';\nimport HeadTable from './HeadTable';\nimport BodyTable from './BodyTable';\nimport FootTable from './FootTable';\nimport ExpandableTable from './ExpandableTable';\n\nexport default class Table extends Component {\n static propTypes = {\n data: PropTypes.array,\n useFixedHeader: PropTypes.bool,\n columns: PropTypes.array,\n prefixCls: PropTypes.string,\n bodyStyle: PropTypes.object,\n style: PropTypes.object,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n rowClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n onRow: PropTypes.func,\n onHeaderRow: PropTypes.func,\n onRowClick: PropTypes.func,\n onRowDoubleClick: PropTypes.func,\n onRowContextMenu: PropTypes.func,\n onRowMouseEnter: PropTypes.func,\n onRowMouseLeave: PropTypes.func,\n showHeader: PropTypes.bool,\n title: PropTypes.func,\n id: PropTypes.string,\n footer: PropTypes.func,\n emptyText: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n scroll: PropTypes.object,\n rowRef: PropTypes.func,\n getBodyWrapper: PropTypes.func,\n children: PropTypes.node,\n components: PropTypes.shape({\n table: PropTypes.any,\n header: PropTypes.shape({\n wrapper: PropTypes.any,\n row: PropTypes.any,\n cell: PropTypes.any,\n }),\n body: PropTypes.shape({\n wrapper: PropTypes.any,\n row: PropTypes.any,\n cell: PropTypes.any,\n }),\n footer: PropTypes.shape({\n wrapper: PropTypes.any,\n row: PropTypes.any,\n cell: PropTypes.any,\n }),\n }),\n ...ExpandableTable.PropTypes,\n };\n\n static childContextTypes = {\n table: PropTypes.any,\n components: PropTypes.any,\n };\n\n static defaultProps = {\n data: [],\n useFixedHeader: false,\n rowKey: 'key',\n rowClassName: () => '',\n onRow() {\n },\n onHeaderRow() {\n },\n prefixCls: 'rc-table',\n bodyStyle: {},\n style: {},\n showHeader: true,\n scroll: {},\n rowRef: () => null,\n emptyText: () => 'No Data',\n };\n\n constructor(props) {\n super(props);\n\n [\n 'onRowClick',\n 'onRowDoubleClick',\n 'onRowContextMenu',\n 'onRowMouseEnter',\n 'onRowMouseLeave',\n ].forEach(name => {\n warning(\n props[name] === undefined,\n `${name} is deprecated, please use onRow instead.`,\n );\n });\n\n warning(\n props.getBodyWrapper === undefined,\n 'getBodyWrapper is deprecated, please use custom components instead.',\n );\n\n this.columnManager = new ColumnManager(props.columns, props.children);\n\n this.store = create({\n currentHoverKey: null,\n fixedColumnsHeadRowsHeight: [],\n fixedColumnsFootRowsHeight: [],\n fixedColumnsBodyRowsHeight: [],\n });\n\n this.setScrollPosition('left');\n\n this.debouncedWindowResize = debounce(this.handleWindowResize, 150);\n }\n\n getChildContext() {\n return {\n table: {\n props: this.props,\n columnManager: this.columnManager,\n saveRef: this.saveRef,\n components: merge({\n table: 'table',\n header: {\n wrapper: 'thead',\n row: 'tr',\n cell: 'th',\n },\n body: {\n wrapper: 'tbody',\n row: 'tr',\n cell: 'td',\n },\n footer: {\n wrapper: 'tfoot',\n row: 'tr',\n cell: 'td',\n },\n }, this.props.components),\n },\n };\n }\n\n componentDidMount() {\n if (this.columnManager.isAnyColumnsFixed()) {\n this.handleWindowResize();\n this.resizeEvent = addEventListener(\n window, 'resize', this.debouncedWindowResize,\n );\n }\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.columns && nextProps.columns !== this.props.columns) {\n this.columnManager.reset(nextProps.columns);\n } else if (nextProps.children !== this.props.children) {\n this.columnManager.reset(null, nextProps.children);\n }\n }\n\n componentDidUpdate(prevProps) {\n if (this.columnManager.isAnyColumnsFixed()) {\n this.handleWindowResize();\n if (!this.resizeEvent) {\n this.resizeEvent = addEventListener(\n window, 'resize', this.debouncedWindowResize,\n );\n }\n }\n // when table changes to empty, reset scrollLeft\n if (prevProps.data.length > 0 && this.props.data.length === 0 && this.hasScrollX()) {\n this.resetScrollX();\n }\n }\n\n componentWillUnmount() {\n if (this.resizeEvent) {\n this.resizeEvent.remove();\n }\n if (this.debouncedWindowResize) {\n this.debouncedWindowResize.cancel();\n }\n }\n\n getRowKey = (record, index) => {\n const rowKey = this.props.rowKey;\n const key = (typeof rowKey === 'function') ? rowKey(record, index) : record[rowKey];\n warning(\n key !== undefined,\n 'Each record in table should have a unique `key` prop,' +\n 'or set `rowKey` to an unique primary key.',\n );\n return key === undefined ? index : key;\n };\n\n setScrollPosition(position) {\n this.scrollPosition = position;\n if (this.tableNode) {\n const { prefixCls } = this.props;\n if (position === 'both') {\n classes(this.tableNode)\n .remove(new RegExp(`^${prefixCls}-scroll-position-.+$`))\n .add(`${prefixCls}-scroll-position-left`)\n .add(`${prefixCls}-scroll-position-right`);\n } else {\n classes(this.tableNode)\n .remove(new RegExp(`^${prefixCls}-scroll-position-.+$`))\n .add(`${prefixCls}-scroll-position-${position}`);\n }\n }\n }\n\n setScrollPositionClassName() {\n const node = this.bodyTable;\n const scrollToLeft = node.scrollLeft === 0;\n const scrollToRight = node.scrollLeft + 1 >=\n node.children[0].getBoundingClientRect().width -\n node.getBoundingClientRect().width;\n if (scrollToLeft && scrollToRight) {\n this.setScrollPosition('both');\n } else if (scrollToLeft) {\n this.setScrollPosition('left');\n } else if (scrollToRight) {\n this.setScrollPosition('right');\n } else if (this.scrollPosition !== 'middle') {\n this.setScrollPosition('middle');\n }\n }\n\n handleWindowResize = () => {\n this.syncFixedTableRowHeight();\n this.setScrollPositionClassName();\n };\n\n syncFixedTableRowHeight = () => {\n const tableRect = this.tableNode.getBoundingClientRect();\n // If tableNode's height less than 0, suppose it is hidden and don't recalculate rowHeight.\n if (tableRect.height !== undefined && tableRect.height <= 0) {\n return;\n }\n const { prefixCls } = this.props;\n const headRows = this.headTable ? this.headTable.querySelectorAll('thead') : this.bodyTable.querySelectorAll('thead');\n const footRows = this.footTable ? this.footTable.querySelectorAll('tfoot') : this.bodyTable.querySelectorAll('tfoot');\n const bodyRows = this.bodyTable.querySelectorAll(`.${prefixCls}-row`) || [];\n const fixedColumnsHeadRowsHeight = [].map.call(\n headRows, row => row.getBoundingClientRect().height || 'auto',\n );\n const fixedColumnsFootRowsHeight = [].map.call(\n footRows, row => row.getBoundingClientRect().height || 'auto',\n );\n const fixedColumnsBodyRowsHeight = [].map.call(\n bodyRows, row => row.getBoundingClientRect().height || 'auto',\n );\n const state = this.store.getState();\n if (isEqual(state.fixedColumnsHeadRowsHeight, fixedColumnsHeadRowsHeight) &&\n isEqual(state.fixedColumnsFootRowsHeight, fixedColumnsFootRowsHeight) &&\n isEqual(state.fixedColumnsBodyRowsHeight, fixedColumnsBodyRowsHeight)) {\n return;\n }\n\n this.store.setState({\n fixedColumnsHeadRowsHeight,\n fixedColumnsFootRowsHeight,\n fixedColumnsBodyRowsHeight,\n });\n };\n\n resetScrollX() {\n if (this.headTable) {\n this.headTable.scrollLeft = 0;\n }\n if (this.bodyTable) {\n this.bodyTable.scrollLeft = 0;\n }\n if (this.footTable) {\n this.footTable.scrollLeft = 0;\n }\n }\n\n hasScrollX() {\n const { scroll = {} } = this.props;\n return 'x' in scroll;\n }\n\n handleBodyScrollLeft = (e) => {\n if (e.currentTarget !== e.target) {\n return;\n }\n const target = e.target;\n const { scroll = {} } = this.props;\n const { headTable, bodyTable, footTable } = this;\n if (target.scrollLeft !== this.lastScrollLeft && scroll.x) {\n if (target === bodyTable) {\n if (headTable) headTable.scrollLeft = target.scrollLeft;\n if (footTable) footTable.scrollLeft = target.scrollLeft;\n } else if (target === headTable) {\n if (bodyTable) bodyTable.scrollLeft = target.scrollLeft;\n if (footTable) footTable.scrollLeft = target.scrollLeft;\n } else if (target === footTable) {\n if (bodyTable) bodyTable.scrollLeft = target.scrollLeft;\n if (headTable) headTable.scrollLeft = target.scrollLeft;\n }\n this.setScrollPositionClassName();\n }\n // Remember last scrollLeft for scroll direction detecting.\n this.lastScrollLeft = target.scrollLeft;\n };\n\n handleBodyScrollTop = (e) => {\n const target = e.target;\n const { scroll = {} } = this.props;\n const { headTable, bodyTable, fixedColumnsBodyLeft, fixedColumnsBodyRight } = this;\n if (target.scrollTop !== this.lastScrollTop && scroll.y && target !== headTable) {\n const scrollTop = target.scrollTop;\n if (fixedColumnsBodyLeft && target !== fixedColumnsBodyLeft) {\n fixedColumnsBodyLeft.scrollTop = scrollTop;\n }\n if (fixedColumnsBodyRight && target !== fixedColumnsBodyRight) {\n fixedColumnsBodyRight.scrollTop = scrollTop;\n }\n if (bodyTable && target !== bodyTable) {\n bodyTable.scrollTop = scrollTop;\n }\n }\n // Remember last scrollTop for scroll direction detecting.\n this.lastScrollTop = target.scrollTop;\n };\n\n handleBodyScroll = (e) => {\n this.handleBodyScrollLeft(e);\n this.handleBodyScrollTop(e);\n };\n\n saveRef = (name) => (node) => {\n this[name] = node;\n };\n\n renderMainTable() {\n const { scroll, prefixCls } = this.props;\n const isAnyColumnsFixed = this.columnManager.isAnyColumnsFixed();\n const scrollable = isAnyColumnsFixed || scroll.x || scroll.y;\n\n const table = [\n this.renderTable({\n columns: this.columnManager.groupedColumns(),\n isAnyColumnsFixed,\n }),\n this.renderEmptyText(),\n this.renderFooter(),\n ];\n\n return scrollable ? (\n <div className={`${prefixCls}-scroll`}>{table}</div>\n ) : table;\n }\n\n renderLeftFixedTable() {\n const { prefixCls } = this.props;\n\n return (\n <div className={`${prefixCls}-fixed-left`}>\n {this.renderTable({\n columns: this.columnManager.leftColumns(),\n fixed: 'left',\n })}\n </div>\n );\n }\n\n renderRightFixedTable() {\n const { prefixCls } = this.props;\n\n return (\n <div className={`${prefixCls}-fixed-right`}>\n {this.renderTable({\n columns: this.columnManager.rightColumns(),\n fixed: 'right',\n })}\n </div>\n );\n }\n\n renderTable(options) {\n const { columns, fixed, isAnyColumnsFixed } = options;\n const { prefixCls, scroll = {} } = this.props;\n const tableClassName = (scroll.x || fixed) ? `${prefixCls}-fixed` : '';\n\n const headTable = (\n <HeadTable\n key=\"head\"\n columns={columns}\n fixed={fixed}\n tableClassName={tableClassName}\n handleBodyScrollLeft={this.handleBodyScrollLeft}\n expander={this.expander}\n />\n );\n\n const bodyTable = (\n <BodyTable\n key=\"body\"\n columns={columns}\n fixed={fixed}\n tableClassName={tableClassName}\n getRowKey={this.getRowKey}\n handleBodyScroll={this.handleBodyScroll}\n expander={this.expander}\n isAnyColumnsFixed={isAnyColumnsFixed}\n />\n );\n\n const footTable = (\n <FootTable\n key=\"foot\"\n columns={columns}\n fixed={fixed}\n tableClassName={tableClassName}\n handleBodyScrollLeft={this.handleBodyScrollLeft}\n expander={this.expander}\n />\n );\n\n return [headTable, bodyTable, footTable];\n }\n\n renderTitle() {\n const { title, prefixCls } = this.props;\n return title ? (\n <div className={`${prefixCls}-title`} key=\"title\">\n {title(this.props.data)}\n </div>\n ) : null;\n }\n\n renderFooter() {\n const { footer, prefixCls } = this.props;\n return footer ? (\n <div className={`${prefixCls}-footer`} key=\"footer\">\n {footer(this.props.data)}\n </div>\n ) : null;\n }\n\n renderEmptyText() {\n const { emptyText, prefixCls, data } = this.props;\n if (data.length) {\n return null;\n }\n const emptyClassName = `${prefixCls}-placeholder`;\n return (\n <div className={emptyClassName} key=\"emptyText\">\n {(typeof emptyText === 'function') ? emptyText() : emptyText}\n </div>\n );\n }\n\n render() {\n const props = this.props;\n const prefixCls = props.prefixCls;\n\n let className = props.prefixCls;\n if (props.className) {\n className += ` ${props.className}`;\n }\n if (props.useFixedHeader || (props.scroll && props.scroll.y)) {\n className += ` ${prefixCls}-fixed-header`;\n }\n if (this.scrollPosition === 'both') {\n className += ` ${prefixCls}-scroll-position-left ${prefixCls}-scroll-position-right`;\n } else {\n className += ` ${prefixCls}-scroll-position-${this.scrollPosition}`;\n }\n const hasLeftFixed = this.columnManager.isAnyColumnsLeftFixed();\n const hasRightFixed = this.columnManager.isAnyColumnsRightFixed();\n\n return (\n <Provider store={this.store}>\n <ExpandableTable\n {...props}\n columnManager={this.columnManager}\n getRowKey={this.getRowKey}\n >\n {(expander) => {\n this.expander = expander;\n return (\n <div\n ref={this.saveRef('tableNode')}\n className={className}\n style={props.style}\n id={props.id}\n >\n {this.renderTitle()}\n <div className={`${prefixCls}-content`}>\n {this.renderMainTable()}\n {hasLeftFixed && this.renderLeftFixedTable()}\n {hasRightFixed && this.renderRightFixedTable()}\n </div>\n </div>\n );\n }}\n </ExpandableTable>\n </Provider>\n );\n }\n}\n","import React, { Component, isValidElement } from 'react';\nimport PropTypes from 'prop-types';\nimport get from 'lodash/get';\n\nexport default class TableCell extends Component {\n static propTypes = {\n record: PropTypes.object,\n prefixCls: PropTypes.string,\n index: PropTypes.number,\n indent: PropTypes.number,\n indentSize: PropTypes.number,\n column: PropTypes.object,\n expandIcon: PropTypes.node,\n component: PropTypes.any,\n };\n\n isInvalidRenderCellText(text) {\n return text && !isValidElement(text) &&\n Object.prototype.toString.call(text) === '[object Object]';\n }\n\n handleClick = (e) => {\n const { record, column: { onCellClick } } = this.props;\n if (onCellClick) {\n onCellClick(record, e);\n }\n };\n\n render() {\n const {\n record,\n indentSize,\n prefixCls,\n indent,\n index,\n expandIcon,\n column,\n component: BodyCell,\n } = this.props;\n const { dataIndex, render, className = '' } = column;\n\n // We should return undefined if no dataIndex is specified, but in order to\n // be compatible with object-path's behavior, we return the record object instead.\n let text;\n if (typeof dataIndex === 'number') {\n text = get(record, dataIndex);\n } else if (!dataIndex || dataIndex.length === 0) {\n text = record;\n } else {\n text = get(record, dataIndex);\n }\n let tdProps = {\n tabIndex: -1,\n };\n let colSpan;\n let rowSpan;\n\n if (render) {\n text = render(text, record, index);\n if (this.isInvalidRenderCellText(text)) {\n tdProps = text.props || tdProps;\n colSpan = tdProps.colSpan;\n rowSpan = tdProps.rowSpan;\n text = text.children;\n }\n }\n\n if (column.onCell) {\n tdProps = { ...tdProps, ...column.onCell(record) };\n }\n if (this.isInvalidRenderCellText(text)) {\n text = null;\n }\n\n const indentText = expandIcon ? (\n <span\n style={{ paddingLeft: `${indentSize * indent}px` }}\n className={`${prefixCls}-indent indent-level-${indent}`}\n />\n ) : null;\n\n if (rowSpan === 0 || colSpan === 0) {\n return null;\n }\n\n if (column.align) {\n tdProps.style = { textAlign: column.align };\n }\n\n return (\n <BodyCell\n className={className}\n onClick={this.handleClick}\n {...tdProps}\n >\n {indentText}\n {expandIcon}\n {text}\n </BodyCell>\n );\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport TableFooterRow from './TableFooterRow';\n\nfunction appendExpandIconColumn(columns) {\n const expandIconCol = {\n key: 'expand-icon-placeholder',\n render: () => null,\n };\n return [expandIconCol, ...columns];\n}\n\nexport default function TableFooter(props, { table }) {\n const { columnManager, components } = table;\n const { prefixCls, data, expandIconAsCell } = table.props;\n const { fixed, onHover } = props;\n\n let leafColumns;\n if (fixed === 'left') {\n leafColumns = columnManager.leftLeafColumns();\n if (expandIconAsCell) {\n leafColumns = appendExpandIconColumn(leafColumns);\n }\n } else if (fixed === 'right') {\n leafColumns = columnManager.rightLeafColumns();\n } else {\n leafColumns = columnManager.leafColumns();\n if (expandIconAsCell) {\n leafColumns = appendExpandIconColumn(leafColumns);\n }\n }\n\n const FooterWrapper = components.footer.wrapper;\n\n return (\n <FooterWrapper className={`${prefixCls}-tfoot`}>\n <TableFooterRow\n prefixCls={prefixCls}\n columns={leafColumns}\n components={components}\n fixed={fixed}\n data={data}\n onHover={columnManager.isAnyColumnsFixed() ? onHover : null}\n />\n </FooterWrapper>\n );\n}\n\nTableFooter.propTypes = {\n fixed: PropTypes.string,\n columns: PropTypes.array.isRequired,\n onHover: PropTypes.func,\n};\n\nTableFooter.contextTypes = {\n table: PropTypes.any,\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'mini-store';\n\nconst FOOTER_ROW_KEY = `rc_table_footer_key_${Date.now()}`;\n\nfunction getColumnFooter(col) {\n if (typeof col.footer === 'function') return col.footer;\n return () => col.footer;\n}\n\nclass TableFooterRow extends Component {\n static propTypes = {\n columns: PropTypes.array,\n data: PropTypes.array,\n components: PropTypes.any,\n prefixCls: PropTypes.string,\n onHover: PropTypes.func,\n hovered: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n };\n\n handleMouseEnter = () => {\n const { onHover } = this.props;\n if (onHover) {\n onHover(true, FOOTER_ROW_KEY);\n }\n };\n\n handleMouseLeave = () => {\n const { onHover } = this.props;\n if (onHover) {\n onHover(false, FOOTER_ROW_KEY);\n }\n };\n\n render() {\n const { columns, data, components, prefixCls, hovered, height } = this.props;\n const FooterRow = components.footer.row;\n const FooterCell = components.footer.cell;\n\n let className = `${prefixCls}-footer-row`;\n if (hovered) {\n className += ` ${prefixCls}-row-hover`;\n }\n\n return (\n <FooterRow\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n className={className}\n style={{ height }}\n >\n {columns.map(col =>\n <FooterCell\n key={col.key || col.dataIndex}\n >\n {col.footer ? getColumnFooter(col)(data) : null}\n </FooterCell>,\n )}\n </FooterRow>\n );\n }\n}\n\nfunction getRowHeight(state, props) {\n const { fixedColumnsFootRowsHeight } = state;\n const { fixed } = props;\n return fixed ? fixedColumnsFootRowsHeight[0] : null;\n}\n\nexport default connect((state, props) => ({\n hovered: state.currentHoverKey === FOOTER_ROW_KEY,\n height: getRowHeight(state, props),\n}))(TableFooterRow);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport TableHeaderRow from './TableHeaderRow';\n\nfunction getHeaderRows(columns, currentRow = 0, rows) {\n rows = rows || [];\n rows[currentRow] = rows[currentRow] || [];\n\n columns.forEach(column => {\n if (column.rowSpan && rows.length < column.rowSpan) {\n while (rows.length < column.rowSpan) {\n rows.push([]);\n }\n }\n const cell = {\n key: column.key,\n className: column.className || '',\n children: column.title,\n tabIndex: -1,\n column,\n };\n if (column.children) {\n getHeaderRows(column.children, currentRow + 1, rows);\n }\n if ('colSpan' in column) {\n cell.colSpan = column.colSpan;\n }\n if ('rowSpan' in column) {\n cell.rowSpan = column.rowSpan;\n }\n if (cell.colSpan !== 0) {\n rows[currentRow].push(cell);\n }\n });\n return rows.filter(row => row.length > 0);\n}\n\nexport default function TableHeader(props, { table }) {\n const { components } = table;\n const { prefixCls, showHeader, onHeaderRow } = table.props;\n const { expander, columns, fixed } = props;\n\n if (!showHeader) {\n return null;\n }\n\n const rows = getHeaderRows(columns);\n\n expander.renderExpandIndentCell(rows, fixed);\n\n const HeaderWrapper = components.header.wrapper;\n\n return (\n <HeaderWrapper className={`${prefixCls}-thead`}>\n {\n rows.map((row, index) => (\n <TableHeaderRow\n key={index}\n index={index}\n fixed={fixed}\n columns={columns}\n rows={rows}\n row={row}\n components={components}\n onHeaderRow={onHeaderRow}\n />\n ))\n }\n </HeaderWrapper>\n );\n}\n\nTableHeader.propTypes = {\n fixed: PropTypes.string,\n columns: PropTypes.array.isRequired,\n expander: PropTypes.object.isRequired,\n onHeaderRow: PropTypes.func,\n};\n\nTableHeader.contextTypes = {\n table: PropTypes.any,\n};\n","import React from 'react';\nimport { connect } from 'mini-store';\n\nfunction TableHeaderRow({ row, index, height, components, onHeaderRow }) {\n const HeaderRow = components.header.row;\n const HeaderCell = components.header.cell;\n const rowProps = onHeaderRow(row.map(cell => cell.column), index);\n const customStyle = rowProps ? rowProps.style : {};\n const style = { height, ...customStyle };\n\n return (\n <HeaderRow {...rowProps} style={style}>\n {row.map((cell, i) => {\n const { column, ...cellProps } = cell;\n const customProps = column.onHeaderCell ? column.onHeaderCell(column) : {};\n if (column.align) {\n cellProps.style = { textAlign: column.align };\n }\n return (\n <HeaderCell\n {...cellProps}\n {...customProps}\n key={column.key || column.dataIndex || i}\n />\n );\n })}\n </HeaderRow>\n );\n}\n\nfunction getRowHeight(state, props) {\n const { fixedColumnsHeadRowsHeight } = state;\n const { columns, rows, fixed } = props;\n const headerHeight = fixedColumnsHeadRowsHeight[0];\n\n if (!fixed) {\n return null;\n }\n\n if (headerHeight && columns) {\n if (headerHeight === 'auto') {\n return 'auto';\n }\n return headerHeight / rows.length;\n }\n return null;\n}\n\nexport default connect((state, props) => {\n return {\n height: getRowHeight(state, props),\n };\n})(TableHeaderRow);\n","import React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { connect } from 'mini-store';\nimport TableCell from './TableCell';\nimport warning from '../../_util/warning';\n\nclass TableRow extends Component {\n static propTypes = {\n onRow: PropTypes.func,\n onRowClick: PropTypes.func,\n onRowDoubleClick: PropTypes.func,\n onRowContextMenu: PropTypes.func,\n onRowMouseEnter: PropTypes.func,\n onRowMouseLeave: PropTypes.func,\n record: PropTypes.object,\n prefixCls: PropTypes.string,\n onHover: PropTypes.func,\n columns: PropTypes.array,\n height: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n index: PropTypes.number,\n rowKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]).isRequired,\n className: PropTypes.string,\n indent: PropTypes.number,\n indentSize: PropTypes.number,\n hasExpandIcon: PropTypes.func.isRequired,\n hovered: PropTypes.bool.isRequired,\n visible: PropTypes.bool.isRequired,\n store: PropTypes.object.isRequired,\n fixed: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n renderExpandIcon: PropTypes.func,\n renderExpandIconCell: PropTypes.func,\n components: PropTypes.any,\n expandedRow: PropTypes.bool,\n isAnyColumnsFixed: PropTypes.bool,\n ancestorKeys: PropTypes.array.isRequired,\n }\n\n static defaultProps = {\n onRow() {},\n expandIconColumnIndex: 0,\n expandRowByClick: false,\n onHover() {},\n hasExpandIcon() {},\n renderExpandIcon() {},\n renderExpandIconCell() {},\n }\n\n constructor(props) {\n super(props);\n\n this.shouldRender = props.visible;\n }\n\n componentDidMount() {\n if (this.shouldRender) {\n this.saveRowRef();\n }\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.props.visible || (!this.props.visible && nextProps.visible)) {\n this.shouldRender = true;\n }\n }\n\n shouldComponentUpdate(nextProps) {\n return !!(this.props.visible || nextProps.visible);\n }\n\n componentDidUpdate() {\n if (this.shouldRender && !this.rowRef) {\n this.saveRowRef();\n }\n }\n\n onRowClick = (event) => {\n const { record, index, onRowClick } = this.props;\n if (onRowClick) {\n onRowClick(record, index, event);\n }\n }\n\n onRowDoubleClick = (event) => {\n const { record, index, onRowDoubleClick } = this.props;\n if (onRowDoubleClick) {\n onRowDoubleClick(record, index, event);\n }\n }\n\n onContextMenu = (event) => {\n const { record, index, onRowContextMenu } = this.props;\n if (onRowContextMenu) {\n onRowContextMenu(record, index, event);\n }\n }\n\n onMouseEnter = (event) => {\n const { record, index, onRowMouseEnter, onHover, rowKey } = this.props;\n onHover(true, rowKey);\n if (onRowMouseEnter) {\n onRowMouseEnter(record, index, event);\n }\n }\n\n onMouseLeave = (event) => {\n const { record, index, onRowMouseLeave, onHover, rowKey } = this.props;\n onHover(false, rowKey);\n if (onRowMouseLeave) {\n onRowMouseLeave(record, index, event);\n }\n }\n\n setExpanedRowHeight() {\n const { store, rowKey } = this.props;\n let { expandedRowsHeight } = store.getState();\n const height = this.rowRef.getBoundingClientRect().height;\n expandedRowsHeight = {\n ...expandedRowsHeight,\n [rowKey]: height,\n };\n store.setState({ expandedRowsHeight });\n }\n\n setRowHeight() {\n const { store, index } = this.props;\n const fixedColumnsBodyRowsHeight = store.getState().fixedColumnsBodyRowsHeight.slice();\n const height = this.rowRef.getBoundingClientRect().height;\n fixedColumnsBodyRowsHeight[index] = height;\n store.setState({ fixedColumnsBodyRowsHeight });\n }\n\n getStyle() {\n const { height, visible } = this.props;\n\n if (height && height !== this.style.height) {\n this.style = { ...this.style, height };\n }\n\n if (!visible && !this.style.display) {\n this.style = { ...this.style, display: 'none' };\n }\n\n return this.style;\n }\n\n saveRowRef() {\n this.rowRef = ReactDOM.findDOMNode(this);\n\n const { isAnyColumnsFixed, fixed, expandedRow, ancestorKeys } = this.props;\n\n if (!isAnyColumnsFixed) {\n return;\n }\n\n if (!fixed && expandedRow) {\n this.setExpanedRowHeight();\n }\n\n if (!fixed && ancestorKeys.length >= 0) {\n this.setRowHeight();\n }\n }\n\n render() {\n if (!this.shouldRender) {\n return null;\n }\n\n const {\n prefixCls,\n columns,\n record,\n index,\n onRow,\n indent,\n indentSize,\n hovered,\n height,\n visible,\n components,\n hasExpandIcon,\n renderExpandIcon,\n renderExpandIconCell,\n } = this.props;\n\n const BodyRow = components.body.row;\n const BodyCell = components.body.cell;\n\n let { className } = this.props;\n\n if (hovered) {\n className += ` ${prefixCls}-hover`;\n }\n\n const cells = [];\n\n renderExpandIconCell(cells);\n\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i];\n\n warning(\n column.onCellClick === undefined,\n 'column[onCellClick] is deprecated, please use column[onCell] instead.',\n );\n\n cells.push(\n <TableCell\n prefixCls={prefixCls}\n record={record}\n indentSize={indentSize}\n indent={indent}\n index={index}\n column={column}\n key={column.key || column.dataIndex}\n expandIcon={hasExpandIcon(i) && renderExpandIcon()}\n component={BodyCell}\n />\n );\n }\n\n const rowClassName =\n `${prefixCls} ${className} ${prefixCls}-level-${indent}`.trim();\n\n const rowProps = onRow(record, index);\n const customStyle = rowProps ? rowProps.style : {};\n let style = { height };\n\n if (!visible) {\n style.display = 'none';\n }\n\n style = { ...style, ...customStyle };\n\n return (\n <BodyRow\n onClick={this.onRowClick}\n onDoubleClick={this.onRowDoubleClick}\n onMouseEnter={this.onMouseEnter}\n onMouseLeave={this.onMouseLeave}\n onContextMenu={this.onContextMenu}\n className={rowClassName}\n {...rowProps}\n style={style}\n >\n {cells}\n </BodyRow>\n );\n }\n}\n\nfunction getRowHeight(state, props) {\n const { expandedRowsHeight, fixedColumnsBodyRowsHeight } = state;\n const { fixed, index, rowKey } = props;\n\n if (!fixed) {\n return null;\n }\n\n if (expandedRowsHeight[rowKey]) {\n return expandedRowsHeight[rowKey];\n }\n\n if (fixedColumnsBodyRowsHeight[index]) {\n return fixedColumnsBodyRowsHeight[index];\n }\n\n return null;\n}\n\nexport default connect((state, props) => {\n const { currentHoverKey, expandedRowKeys } = state;\n const { rowKey, ancestorKeys } = props;\n const visible = ancestorKeys.length === 0 || ancestorKeys.every(k => ~expandedRowKeys.indexOf(k));\n\n return ({\n visible,\n hovered: currentHoverKey === rowKey,\n height: getRowHeight(state, props),\n });\n})(TableRow);\n","import Table from './Table';\nimport Column from './Column';\nimport ColumnGroup from './ColumnGroup';\n\nTable.Column = Column;\nTable.ColumnGroup = ColumnGroup;\n\nexport default Table;\nexport { Column, ColumnGroup };\n","import { isTransformSupported, setTransform } from './utils';\nimport React from 'react';\nimport classnames from 'classnames';\n\nconst isDev = process.env.NODE_ENV !== 'production';\n\nexport function getScroll(w, top) {\n let ret = w[`page${top ? 'Y' : 'X'}Offset`];\n const method = `scroll${top ? 'Top' : 'Left'}`;\n if (typeof ret !== 'number') {\n const 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 offset(elem) {\n let box;\n let x;\n let y;\n const doc = elem.ownerDocument;\n const body = doc.body;\n const docElem = doc && doc.documentElement;\n box = elem.getBoundingClientRect();\n x = box.left;\n y = box.top;\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n const w = doc.defaultView || doc.parentWindow;\n x += getScroll(w);\n y += getScroll(w, true);\n return {\n left: x, top: y,\n };\n}\n\nfunction componentDidUpdate(component, init) {\n const { styles } = component.props;\n const rootNode = component.root;\n const wrapNode = component.nav || rootNode;\n const containerOffset = offset(wrapNode);\n const inkBarNode = component.inkBar;\n const activeTab = component.activeTab;\n const inkBarNodeStyle = inkBarNode.style;\n const tabBarPosition = component.props.tabBarPosition;\n if (init) {\n // prevent mount animation\n inkBarNodeStyle.display = 'none';\n }\n if (activeTab) {\n const tabNode = activeTab;\n const tabOffset = offset(tabNode);\n const transformSupported = isTransformSupported(inkBarNodeStyle);\n if (tabBarPosition === 'top' || tabBarPosition === 'bottom') {\n let left = tabOffset.left - containerOffset.left;\n let width = tabNode.offsetWidth;\n\n // If tabNode'width width equal to wrapNode'width when tabBarPosition is top or bottom\n // It means no css working, then ink bar should not have width until css is loaded\n if (width === rootNode.offsetWidth) {\n width = 0;\n } else if (styles.inkBar && styles.inkBar.width !== undefined) {\n width = parseFloat(styles.inkBar.width, 10);\n if (width) {\n left = left + (tabNode.offsetWidth - width) / 2;\n }\n }\n // use 3d gpu to optimize render\n if (transformSupported) {\n setTransform(inkBarNodeStyle, `translate3d(${left}px,0,0)`);\n inkBarNodeStyle.width = `${width}px`;\n inkBarNodeStyle.height = '';\n } else {\n inkBarNodeStyle.left = `${left}px`;\n inkBarNodeStyle.top = '';\n inkBarNodeStyle.bottom = '';\n inkBarNodeStyle.right = `${wrapNode.offsetWidth - left - width}px`;\n }\n } else {\n let top = tabOffset.top - containerOffset.top;\n let height = tabNode.offsetHeight;\n if (styles.inkBar && styles.inkBar.height !== undefined) {\n height = parseFloat(styles.inkBar.height, 10);\n if (height) {\n top = top + (tabNode.offsetHeight - height) / 2;\n }\n }\n if (transformSupported) {\n setTransform(inkBarNodeStyle, `translate3d(0,${top}px,0)`);\n inkBarNodeStyle.height = `${height}px`;\n inkBarNodeStyle.width = '';\n } else {\n inkBarNodeStyle.left = '';\n inkBarNodeStyle.right = '';\n inkBarNodeStyle.top = `${top}px`;\n inkBarNodeStyle.bottom = `${wrapNode.offsetHeight - top - height}px`;\n }\n }\n }\n inkBarNodeStyle.display = activeTab ? 'block' : 'none';\n}\n\nexport default {\n getDefaultProps() {\n return {\n inkBarAnimated: true,\n };\n },\n\n componentDidUpdate() {\n componentDidUpdate(this);\n },\n\n componentDidMount() {\n if (isDev) {\n this.timeout = setTimeout(() => {\n componentDidUpdate(this, true);\n }, 0);\n } else {\n componentDidUpdate(this, true);\n }\n },\n\n componentWillUnmount() {\n clearTimeout(this.timeout);\n },\n\n getInkBarNode() {\n const { prefixCls, styles, inkBarAnimated } = this.props;\n const className = `${prefixCls}-ink-bar`;\n const classes = classnames({\n [className]: true,\n [\n inkBarAnimated ?\n `${className}-animated` :\n `${className}-no-animated`\n ]: true,\n });\n return (\n <div\n style={styles.inkBar}\n className={classes}\n key=\"inkBar\"\n ref={this.saveRef('inkBar')}\n />\n );\n },\n};\n","export default {\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","export default {\n saveRef(name) {\n return node => {\n this[name] = node;\n };\n },\n};\n","import createReactClass from 'create-react-class';\nimport InkTabBarMixin from './InkTabBarMixin';\nimport ScrollableTabBarMixin from './ScrollableTabBarMixin';\nimport TabBarMixin from './TabBarMixin';\nimport RefMixin from './RefMixin';\n\nconst ScrollableInkTabBar = createReactClass({\n displayName: 'ScrollableInkTabBar',\n mixins: [RefMixin, TabBarMixin, InkTabBarMixin, ScrollableTabBarMixin],\n render() {\n const inkBarNode = this.getInkBarNode();\n const tabs = this.getTabs();\n const scrollbarNode = this.getScrollBarNode([inkBarNode, tabs]);\n return this.getRootNode(scrollbarNode);\n },\n});\n\nexport default ScrollableInkTabBar;\n","import classnames from 'classnames';\nimport { isTransformSupported, setTransform } from './utils';\nimport React from 'react';\nimport addEventListener from '../../_util/addEventListener';\nimport debounce from 'lodash/debounce';\n\nexport default {\n getDefaultProps() {\n return {\n scrollAnimated: true,\n onPrevClick() {},\n onNextClick() {},\n };\n },\n\n getInitialState() {\n this.offset = 0;\n return {\n next: false,\n prev: false,\n };\n },\n\n componentDidMount() {\n this.componentDidUpdate();\n this.debouncedResize = debounce(() => {\n this.setNextPrev();\n this.scrollToActiveTab();\n }, 200);\n this.resizeEvent = addEventListener(window, 'resize', this.debouncedResize);\n },\n\n componentDidUpdate(prevProps) {\n const props = this.props;\n if (prevProps && prevProps.tabBarPosition !== props.tabBarPosition) {\n this.setOffset(0);\n return;\n }\n const nextPrev = this.setNextPrev();\n // wait next, prev show hide\n /* eslint react/no-did-update-set-state:0 */\n if (this.isNextPrevShown(this.state) !== this.isNextPrevShown(nextPrev)) {\n this.setState({}, this.scrollToActiveTab);\n } else if (!prevProps || props.activeKey !== prevProps.activeKey) {\n // can not use props.activeKey\n this.scrollToActiveTab();\n }\n },\n\n componentWillUnmount() {\n if (this.resizeEvent) {\n this.resizeEvent.remove();\n }\n if (this.debouncedResize && this.debouncedResize.cancel) {\n this.debouncedResize.cancel();\n }\n },\n\n setNextPrev() {\n const navNode = this.nav;\n const navNodeWH = this.getScrollWH(navNode);\n const containerWH = this.getOffsetWH(this.container);\n const navWrapNodeWH = this.getOffsetWH(this.navWrap);\n let { offset } = this;\n const minOffset = containerWH - navNodeWH;\n let { next, prev } = this.state;\n if (minOffset >= 0) {\n next = false;\n this.setOffset(0, false);\n offset = 0;\n } else if (minOffset < offset) {\n next = true;\n } else {\n next = false;\n // Test with container offset which is stable\n // and set the offset of the nav wrap node\n const realOffset = navWrapNodeWH - navNodeWH;\n this.setOffset(realOffset, false);\n offset = realOffset;\n }\n\n if (offset < 0) {\n prev = true;\n } else {\n prev = false;\n }\n\n this.setNext(next);\n this.setPrev(prev);\n return {\n next,\n prev,\n };\n },\n\n getOffsetWH(node) {\n const tabBarPosition = this.props.tabBarPosition;\n let prop = 'offsetWidth';\n if (tabBarPosition === 'left' || tabBarPosition === 'right') {\n prop = 'offsetHeight';\n }\n return node[prop];\n },\n\n getScrollWH(node) {\n const tabBarPosition = this.props.tabBarPosition;\n let prop = 'scrollWidth';\n if (tabBarPosition === 'left' || tabBarPosition === 'right') {\n prop = 'scrollHeight';\n }\n return node[prop];\n },\n\n\n getOffsetLT(node) {\n const tabBarPosition = this.props.tabBarPosition;\n let prop = 'left';\n if (tabBarPosition === 'left' || tabBarPosition === 'right') {\n prop = 'top';\n }\n return node.getBoundingClientRect()[prop];\n },\n\n setOffset(offset, checkNextPrev = true) {\n const target = Math.min(0, offset);\n if (this.offset !== target) {\n this.offset = target;\n let navOffset = {};\n const tabBarPosition = this.props.tabBarPosition;\n const navStyle = this.nav.style;\n const transformSupported = isTransformSupported(navStyle);\n if (tabBarPosition === 'left' || tabBarPosition === 'right') {\n if (transformSupported) {\n navOffset = {\n value: `translate3d(0,${target}px,0)`,\n };\n } else {\n navOffset = {\n name: 'top',\n value: `${target}px`,\n };\n }\n } else {\n if (transformSupported) {\n navOffset = {\n value: `translate3d(${target}px,0,0)`,\n };\n } else {\n navOffset = {\n name: 'left',\n value: `${target}px`,\n };\n }\n }\n if (transformSupported) {\n setTransform(navStyle, navOffset.value);\n } else {\n navStyle[navOffset.name] = navOffset.value;\n }\n if (checkNextPrev) {\n this.setNextPrev();\n }\n }\n },\n\n setPrev(v) {\n if (this.state.prev !== v) {\n this.setState({\n prev: v,\n });\n }\n },\n\n setNext(v) {\n if (this.state.next !== v) {\n this.setState({\n next: v,\n });\n }\n },\n\n isNextPrevShown(state) {\n if (state) {\n return state.next || state.prev;\n }\n return this.state.next || this.state.prev;\n },\n\n prevTransitionEnd(e) {\n if (e.propertyName !== 'opacity') {\n return;\n }\n const { container } = this;\n this.scrollToActiveTab({\n target: container,\n currentTarget: container,\n });\n },\n\n scrollToActiveTab(e) {\n const { activeTab, navWrap } = this;\n if (e && e.target !== e.currentTarget || !activeTab) {\n return;\n }\n\n // when not scrollable or enter scrollable first time, don't emit scrolling\n const needToSroll = this.isNextPrevShown() && this.lastNextPrevShown;\n this.lastNextPrevShown = this.isNextPrevShown();\n if (!needToSroll) {\n return;\n }\n\n const activeTabWH = this.getScrollWH(activeTab);\n const navWrapNodeWH = this.getOffsetWH(navWrap);\n let { offset } = this;\n const wrapOffset = this.getOffsetLT(navWrap);\n const activeTabOffset = this.getOffsetLT(activeTab);\n if (wrapOffset > activeTabOffset) {\n offset += (wrapOffset - activeTabOffset);\n this.setOffset(offset);\n } else if ((wrapOffset + navWrapNodeWH) < (activeTabOffset + activeTabWH)) {\n offset -= (activeTabOffset + activeTabWH) - (wrapOffset + navWrapNodeWH);\n this.setOffset(offset);\n }\n },\n\n prev(e) {\n this.props.onPrevClick(e);\n const navWrapNode = this.navWrap;\n const navWrapNodeWH = this.getOffsetWH(navWrapNode);\n const { offset } = this;\n this.setOffset(offset + navWrapNodeWH);\n },\n\n next(e) {\n this.props.onNextClick(e);\n const navWrapNode = this.navWrap;\n const navWrapNodeWH = this.getOffsetWH(navWrapNode);\n const { offset } = this;\n this.setOffset(offset - navWrapNodeWH);\n },\n\n getScrollBarNode(content) {\n const { next, prev } = this.state;\n const { prefixCls, scrollAnimated } = this.props;\n const showNextPrev = prev || next;\n\n const prevButton = (\n <span\n onClick={prev ? this.prev : null}\n unselectable=\"unselectable\"\n className={classnames({\n [`${prefixCls}-tab-prev`]: 1,\n [`${prefixCls}-tab-btn-disabled`]: !prev,\n [`${prefixCls}-tab-arrow-show`]: showNextPrev,\n })}\n onTransitionEnd={this.prevTransitionEnd}\n >\n <span className={`${prefixCls}-tab-prev-icon`} />\n </span>\n );\n\n const nextButton = (\n <span\n onClick={next ? this.next : null}\n unselectable=\"unselectable\"\n className={classnames({\n [`${prefixCls}-tab-next`]: 1,\n [`${prefixCls}-tab-btn-disabled`]: !next,\n [`${prefixCls}-tab-arrow-show`]: showNextPrev,\n })}\n >\n <span className={`${prefixCls}-tab-next-icon`} />\n </span>\n );\n\n const navClassName = `${prefixCls}-nav`;\n const navClasses = classnames({\n [navClassName]: true,\n [\n scrollAnimated ?\n `${navClassName}-animated` :\n `${navClassName}-no-animated`\n ]: true,\n });\n\n return (\n <div\n className={classnames({\n [`${prefixCls}-nav-container`]: 1,\n [`${prefixCls}-nav-container-scrolling`]: showNextPrev,\n })}\n key=\"container\"\n ref={this.saveRef('container')}\n >\n {prevButton}\n {nextButton}\n <div className={`${prefixCls}-nav-wrap`} ref={this.saveRef('navWrap')}>\n <div className={`${prefixCls}-nav-scroll`}>\n <div className={navClasses} ref={this.saveRef('nav')}>\n {content}\n </div>\n </div>\n </div>\n </div>\n );\n },\n};\n","import React, { Children, cloneElement } from 'react';\nimport classnames from 'classnames';\nimport { generateKey, getDataAttr } from './utils';\nimport warning from '../../_util/warning';\nimport Ripple from '../../ripple';\n\nexport default {\n getDefaultProps() {\n return {\n styles: {},\n };\n },\n onTabClick(key) {\n this.props.onTabClick(key);\n },\n getTabs() {\n const { panels: children, activeKey, prefixCls, tabBarGutter } = this.props;\n const rst = [];\n\n Children.forEach(children, (child, index) => {\n if (!child) {\n return;\n }\n const key = generateKey(child.key, index);\n const { disabled, tab } = child.props;\n let cls = activeKey === key ? `${prefixCls}-tab-active` : '';\n cls += ` ${prefixCls}-tab`;\n let events = {};\n if (disabled) {\n cls += ` ${prefixCls}-tab-disabled`;\n } else {\n events = {\n onClick: this.onTabClick.bind(this, key),\n };\n }\n const ref = {};\n if (activeKey === key) {\n ref.ref = this.saveRef('activeTab');\n }\n warning('tab' in child.props, 'There must be `tab` property on children of Tabs.');\n rst.push(\n <Ripple disabled={disabled} key={key}>\n <div\n role=\"tab\"\n aria-disabled={disabled ? 'true' : 'false'}\n aria-selected={activeKey === key ? 'true' : 'false'}\n {...events}\n className={cls}\n style={{\n marginRight: tabBarGutter && index === children.length - 1 ? 0 : tabBarGutter,\n }}\n {...ref}\n >\n {tab}\n </div>\n </Ripple>,\n );\n });\n\n return rst;\n },\n getRootNode(contents) {\n const {\n prefixCls,\n onKeyDown,\n className,\n extraContent,\n style,\n tabBarPosition,\n ...restProps\n } = this.props;\n const cls = classnames(`${prefixCls}-bar`, {\n [className]: !!className,\n });\n const topOrBottom = tabBarPosition === 'top' || tabBarPosition === 'bottom';\n const tabBarExtraContentStyle = topOrBottom ? { float: 'right' } : {};\n const extraContentStyle = extraContent && extraContent.props ? extraContent.props.style : {};\n let children = contents;\n if (extraContent) {\n children = [\n cloneElement(extraContent, {\n key: 'extra',\n style: {\n ...tabBarExtraContentStyle,\n ...extraContentStyle,\n },\n }),\n cloneElement(contents, { key: 'content' }),\n ];\n children = topOrBottom ? children : children.reverse();\n }\n return (\n <div\n role=\"tablist\"\n className={cls}\n tabIndex=\"0\"\n ref={this.saveRef('root')}\n onKeyDown={onKeyDown}\n style={style}\n {...getDataAttr(restProps)}\n >\n {children}\n </div>\n );\n },\n};\n","import React, { Children, cloneElement } from 'react';\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { generateKey, getActiveIndex, getMarginStyle, getTransformByIndex, getTransformPropValue } from './utils';\n\nconst TabContent = createReactClass({\n displayName: 'TabContent',\n propTypes: {\n animated: PropTypes.bool,\n animatedWithMargin: PropTypes.bool,\n prefixCls: PropTypes.string,\n children: PropTypes.any,\n activeKey: PropTypes.string,\n style: PropTypes.any,\n tabBarPosition: PropTypes.string,\n },\n getDefaultProps() {\n return {\n animated: true,\n };\n },\n getTabPanes() {\n const props = this.props;\n const activeKey = props.activeKey;\n const children = props.children;\n const newChildren = [];\n\n Children.forEach(children, (child, index) => {\n if (!child) {\n return;\n }\n const key = generateKey(child.key, index);\n const active = activeKey === key;\n newChildren.push(cloneElement(child, {\n key,\n active,\n destroyInactiveTabPane: props.destroyInactiveTabPane,\n rootPrefixCls: props.prefixCls,\n }));\n });\n\n return newChildren;\n },\n render() {\n const { props } = this;\n const {\n prefixCls, children, activeKey,\n tabBarPosition, animated, animatedWithMargin,\n } = props;\n let { style } = props;\n const classes = classnames({\n [`${prefixCls}-content`]: true,\n [animated ? `${prefixCls}-content-animated` : `${prefixCls}-content-no-animated`]: true,\n });\n if (animated) {\n const activeIndex = getActiveIndex(children, activeKey);\n if (activeIndex !== -1) {\n const animatedStyle = animatedWithMargin ? getMarginStyle(activeIndex, tabBarPosition) : getTransformPropValue(getTransformByIndex(activeIndex, tabBarPosition));\n style = {\n ...style,\n ...animatedStyle,\n };\n } else {\n style = {\n ...style,\n display: 'none',\n };\n }\n }\n return (\n <div\n className={classes}\n style={style}\n >\n {this.getTabPanes()}\n </div>\n );\n },\n});\n\nexport default TabContent;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport createReactClass from 'create-react-class';\nimport classnames from 'classnames';\nimport { getDataAttr } from './utils';\n\nconst TabPane = createReactClass({\n displayName: 'TabPane',\n propTypes: {\n className: PropTypes.string,\n active: PropTypes.bool,\n style: PropTypes.any,\n destroyInactiveTabPane: PropTypes.bool,\n forceRender: PropTypes.bool,\n placeholder: PropTypes.node,\n },\n getDefaultProps() {\n return { placeholder: null };\n },\n render() {\n const {\n className,\n destroyInactiveTabPane,\n active,\n forceRender,\n rootPrefixCls,\n style,\n children,\n placeholder,\n ...restProps\n } = this.props;\n this._isActived = this._isActived || active;\n const prefixCls = `${rootPrefixCls}-tabpane`;\n const cls = classnames({\n [prefixCls]: 1,\n [`${prefixCls}-inactive`]: !active,\n [`${prefixCls}-active`]: active,\n [className]: className,\n });\n const isRender = destroyInactiveTabPane ? active : this._isActived;\n return (\n <div\n style={style}\n role=\"tabpanel\"\n aria-hidden={active ? 'false' : 'true'}\n className={cls}\n {...getDataAttr(restProps)}\n >\n {isRender || forceRender ? children : placeholder}\n </div>\n );\n },\n});\n\nexport default TabPane;\n","import React, { Children, cloneElement, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport noop from 'lodash/noop';\nimport classnames from 'classnames';\nimport KeyCode from './KeyCode';\nimport TabPane from './TabPane';\nimport { generateKey, getDataAttr } from './utils';\n\nfunction getDefaultActiveKey(props) {\n let activeKey;\n Children.forEach(props.children, (child, index) => {\n if (child && !activeKey && !child.props.disabled) {\n activeKey = generateKey(child.key, index);\n }\n });\n return activeKey;\n}\n\nfunction activeKeyIsValid(props, key) {\n const keys = Children.map(\n props.children,\n (child, index) => child && generateKey(child.key, index),\n );\n return keys.indexOf(key) >= 0;\n}\n\nexport default class Tabs extends Component {\n static propTypes = {\n destroyInactiveTabPane: PropTypes.bool,\n renderTabBar: PropTypes.func.isRequired,\n renderTabContent: PropTypes.func.isRequired,\n onChange: PropTypes.func,\n children: PropTypes.any,\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n tabBarPosition: PropTypes.string,\n style: PropTypes.object,\n activeKey: PropTypes.string,\n defaultActiveKey: PropTypes.string,\n };\n\n static defaultProps = {\n prefixCls: 'rc-tabs',\n destroyInactiveTabPane: false,\n onChange: noop,\n tabBarPosition: 'top',\n style: {},\n };\n\n static TabPane = TabPane;\n\n constructor(props) {\n super(props);\n\n let activeKey;\n if ('activeKey' in props) {\n activeKey = props.activeKey;\n } else if ('defaultActiveKey' in props) {\n activeKey = props.defaultActiveKey;\n } else {\n activeKey = getDefaultActiveKey(props);\n }\n\n this.state = {\n activeKey,\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if ('activeKey' in nextProps) {\n this.setState({\n activeKey: nextProps.activeKey,\n });\n } else if (!activeKeyIsValid(nextProps, this.state.activeKey)) {\n this.setState({\n activeKey: getDefaultActiveKey(nextProps),\n });\n }\n }\n\n onTabClick = activeKey => {\n if (this.tabBar.props.onTabClick) {\n this.tabBar.props.onTabClick(activeKey);\n }\n this.setActiveKey(activeKey);\n };\n\n onNavKeyDown = e => {\n const eventKeyCode = e.keyCode;\n if (eventKeyCode === KeyCode.RIGHT || eventKeyCode === KeyCode.DOWN) {\n e.preventDefault();\n const nextKey = this.getNextActiveKey(true);\n this.onTabClick(nextKey);\n } else if (eventKeyCode === KeyCode.LEFT || eventKeyCode === KeyCode.UP) {\n e.preventDefault();\n const previousKey = this.getNextActiveKey(false);\n this.onTabClick(previousKey);\n }\n };\n\n setActiveKey = activeKey => {\n if (this.state.activeKey !== activeKey) {\n if (!('activeKey' in this.props)) {\n this.setState({\n activeKey,\n });\n }\n this.props.onChange(activeKey);\n }\n };\n\n getNextActiveKey = next => {\n const activeKey = this.state.activeKey;\n const children = [];\n Children.forEach(this.props.children, c => {\n if (c && !c.props.disabled) {\n if (next) {\n children.push(c);\n } else {\n children.unshift(c);\n }\n }\n });\n const length = children.length;\n let ret = length && generateKey(children[0].key, 0);\n children.forEach((child, i) => {\n if (generateKey(child.key, i) === activeKey) {\n if (i === length - 1) {\n ret = generateKey(children[0].key, 0);\n } else {\n ret = generateKey(children[i + 1].key, i + 1);\n }\n }\n });\n return ret;\n };\n\n render() {\n const props = this.props;\n const {\n prefixCls,\n tabBarPosition,\n className,\n renderTabContent,\n renderTabBar,\n destroyInactiveTabPane,\n ...restProps\n } = props;\n const cls = classnames({\n [prefixCls]: 1,\n [`${prefixCls}-${tabBarPosition}`]: 1,\n [className]: !!className,\n });\n\n this.tabBar = renderTabBar();\n const contents = [\n cloneElement(this.tabBar, {\n prefixCls,\n key: 'tabBar',\n onKeyDown: this.onNavKeyDown,\n tabBarPosition,\n onTabClick: this.onTabClick,\n panels: props.children,\n activeKey: this.state.activeKey,\n }),\n cloneElement(renderTabContent(), {\n prefixCls,\n tabBarPosition,\n activeKey: this.state.activeKey,\n destroyInactiveTabPane,\n children: props.children,\n onChange: this.setActiveKey,\n key: 'tabContent',\n }),\n ];\n if (tabBarPosition === 'bottom') {\n contents.reverse();\n }\n return (\n <div className={cls} style={props.style} {...getDataAttr(restProps)}>\n {contents}\n </div>\n );\n }\n}\n","import Tabs from './Tabs';\nimport TabPane from './TabPane';\nimport TabContent from './TabContent';\n\nexport default Tabs;\nexport { TabPane, TabContent };\n","import { Children } from 'react';\nimport isNil from 'lodash/isNil';\n\nexport function toArray(children) {\n const c = [];\n Children.forEach(children, child => {\n if (child) {\n c.push(child);\n }\n });\n return c;\n}\n\nexport function generateKey(key, index) {\n return String(isNil(key) ? index : key);\n}\n\nexport function getActiveIndex(children, activeKey) {\n const c = toArray(children);\n return c.findIndex((child, index) => generateKey(child.key, index) === activeKey);\n}\n\nexport function getActiveKey(children, index) {\n const c = toArray(children);\n return generateKey(c[index].key, index);\n}\n\nexport function setTransform(style, v) {\n style.transform = v;\n style.webkitTransform = v;\n style.mozTransform = v;\n}\n\nexport function isTransformSupported(style) {\n return 'transform' in style ||\n 'webkitTransform' in style ||\n 'MozTransform' in style;\n}\n\nexport function setTransition(style, v) {\n style.transition = v;\n style.webkitTransition = v;\n style.MozTransition = v;\n}\n\nexport function getTransformPropValue(v) {\n return {\n transform: v,\n WebkitTransform: v,\n MozTransform: v,\n };\n}\n\nexport function isVertical(tabBarPosition) {\n return tabBarPosition === 'left' || tabBarPosition === 'right';\n}\n\nexport function getTransformByIndex(index, tabBarPosition) {\n const translate = isVertical(tabBarPosition) ? 'translateY' : 'translateX';\n return `${translate}(${-index * 100}%) translateZ(0)`;\n}\n\nexport function getMarginStyle(index, tabBarPosition) {\n const marginDirection = isVertical(tabBarPosition) ? 'marginTop' : 'marginLeft';\n return {\n [marginDirection]: `${-index * 100}%`,\n };\n}\n\nexport function getStyle(el, property) {\n return +getComputedStyle(el).getPropertyValue(property).replace('px', '');\n}\n\nexport function setPxStyle(el, value, vertical) {\n value = vertical ? `0px, ${value}px, 0px` : `${value}px, 0px, 0px`;\n setTransform(el.style, `translate3d(${value})`);\n}\n\nexport function getDataAttr(props) {\n return Object.keys(props).reduce((prev, key) => {\n if (key.substr(0, 5) === 'aria-' || key.substr(0, 5) === 'data-' || key === 'role') {\n prev[key] = props[key];\n }\n return prev;\n }, {});\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Select from './Select';\n\nconst formatOption = (option, disabledOptions) => {\n let value = `${option}`;\n if (option < 10) {\n value = `0${option}`;\n }\n\n let disabled = false;\n if (disabledOptions && disabledOptions.indexOf(option) >= 0) {\n disabled = true;\n }\n\n return {\n value,\n disabled,\n };\n};\n\nclass Combobox extends Component {\n static propTypes = {\n format: PropTypes.string,\n defaultOpenValue: PropTypes.object,\n prefixCls: PropTypes.string,\n value: PropTypes.object,\n onChange: PropTypes.func,\n showHour: PropTypes.bool,\n showMinute: PropTypes.bool,\n showSecond: PropTypes.bool,\n hourOptions: PropTypes.array,\n minuteOptions: PropTypes.array,\n secondOptions: PropTypes.array,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n onCurrentSelectPanelChange: PropTypes.func,\n use12Hours: PropTypes.bool,\n isAM: PropTypes.bool,\n };\n\n onItemChange = (type, itemValue) => {\n const { onChange, defaultOpenValue, use12Hours } = this.props;\n const value = (this.props.value || defaultOpenValue).clone();\n\n if (type === 'hour') {\n if (use12Hours) {\n if (this.props.isAM) {\n value.hour(+itemValue % 12);\n } else {\n value.hour((+itemValue % 12) + 12);\n }\n } else {\n value.hour(+itemValue);\n }\n } else if (type === 'minute') {\n value.minute(+itemValue);\n } else if (type === 'ampm') {\n const ampm = itemValue.toUpperCase();\n if (use12Hours) {\n if (ampm === 'PM' && value.hour() < 12) {\n value.hour((value.hour() % 12) + 12);\n }\n\n if (ampm === 'AM') {\n if (value.hour() >= 12) {\n value.hour(value.hour() - 12);\n }\n }\n }\n } else {\n value.second(+itemValue);\n }\n onChange(value);\n }\n\n onEnterSelectPanel = (range) => {\n this.props.onCurrentSelectPanelChange(range);\n }\n\n getHourSelect(hour) {\n const { prefixCls, hourOptions, disabledHours, showHour, use12Hours } = this.props;\n if (!showHour) {\n return null;\n }\n const disabledOptions = disabledHours();\n let hourOptionsAdj;\n let hourAdj;\n if (use12Hours) {\n hourOptionsAdj = [12].concat(hourOptions.filter(h => h < 12 && h > 0));\n hourAdj = (hour % 12) || 12;\n } else {\n hourOptionsAdj = hourOptions;\n hourAdj = hour;\n }\n\n return (\n <Select\n prefixCls={prefixCls}\n options={hourOptionsAdj.map(option => formatOption(option, disabledOptions))}\n selectedIndex={hourOptionsAdj.indexOf(hourAdj)}\n type=\"hour\"\n onSelect={this.onItemChange}\n onMouseEnter={this.onEnterSelectPanel.bind(this, 'hour')}\n />\n );\n }\n\n getMinuteSelect(minute) {\n const { prefixCls, minuteOptions, disabledMinutes, defaultOpenValue, showMinute } = this.props;\n if (!showMinute) {\n return null;\n }\n const value = this.props.value || defaultOpenValue;\n const disabledOptions = disabledMinutes(value.hour());\n\n return (\n <Select\n prefixCls={prefixCls}\n options={minuteOptions.map(option => formatOption(option, disabledOptions))}\n selectedIndex={minuteOptions.indexOf(minute)}\n type=\"minute\"\n onSelect={this.onItemChange}\n onMouseEnter={this.onEnterSelectPanel.bind(this, 'minute')}\n />\n );\n }\n\n getSecondSelect(second) {\n const { prefixCls, secondOptions, disabledSeconds, showSecond, defaultOpenValue } = this.props;\n if (!showSecond) {\n return null;\n }\n const value = this.props.value || defaultOpenValue;\n const disabledOptions = disabledSeconds(value.hour(), value.minute());\n\n return (\n <Select\n prefixCls={prefixCls}\n options={secondOptions.map(option => formatOption(option, disabledOptions))}\n selectedIndex={secondOptions.indexOf(second)}\n type=\"second\"\n onSelect={this.onItemChange}\n onMouseEnter={this.onEnterSelectPanel.bind(this, 'second')}\n />\n );\n }\n\n getAMPMSelect() {\n const { prefixCls, use12Hours, format } = this.props;\n if (!use12Hours) {\n return null;\n }\n\n const AMPMOptions = ['am', 'pm'] // If format has A char, then we should uppercase AM/PM\n .map(c => format.match(/\\sA/) ? c.toUpperCase() : c)\n .map(c => ({ value: c }));\n\n const selected = this.props.isAM ? 0 : 1;\n\n return (\n <Select\n prefixCls={prefixCls}\n options={AMPMOptions}\n selectedIndex={selected}\n type=\"ampm\"\n onSelect={this.onItemChange}\n onMouseEnter={this.onEnterSelectPanel.bind(this, 'ampm')}\n />\n );\n }\n\n render() {\n const { prefixCls, defaultOpenValue } = this.props;\n const value = this.props.value || defaultOpenValue;\n return (\n <div className={`${prefixCls}-combobox`}>\n {this.getHourSelect(value.hour())}\n {this.getMinuteSelect(value.minute())}\n {this.getSecondSelect(value.second())}\n {this.getAMPMSelect(value.hour())}\n </div>\n );\n }\n}\n\nexport default Combobox;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\n\nclass Header extends Component {\n static propTypes = {\n format: PropTypes.string,\n prefixCls: PropTypes.string,\n disabledDate: PropTypes.func,\n placeholder: PropTypes.string,\n clearText: PropTypes.string,\n value: PropTypes.object,\n inputReadOnly: PropTypes.bool,\n hourOptions: PropTypes.array,\n minuteOptions: PropTypes.array,\n secondOptions: PropTypes.array,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n onChange: PropTypes.func,\n onClear: PropTypes.func,\n onEsc: PropTypes.func,\n allowEmpty: PropTypes.bool,\n defaultOpenValue: PropTypes.object,\n currentSelectPanel: PropTypes.string,\n focusOnOpen: PropTypes.bool,\n onKeyDown: PropTypes.func,\n };\n\n static defaultProps = {\n inputReadOnly: false,\n }\n\n constructor(props) {\n super(props);\n const { value, format } = props;\n this.state = {\n str: value && value.format(format) || '',\n invalid: false,\n };\n }\n\n componentDidMount() {\n if (this.props.focusOnOpen) {\n // Wait one frame for the panel to be positioned before focusing\n const requestAnimationFrame = (window.requestAnimationFrame || window.setTimeout);\n requestAnimationFrame(() => {\n this.refs.input.focus();\n this.refs.input.select();\n });\n }\n }\n\n componentWillReceiveProps(nextProps) {\n const { value, format } = nextProps;\n this.setState({\n str: value && value.format(format) || '',\n invalid: false,\n });\n }\n\n onInputChange = (event) => {\n const str = event.target.value;\n this.setState({\n str,\n });\n const {\n format, hourOptions, minuteOptions, secondOptions,\n disabledHours, disabledMinutes,\n disabledSeconds, onChange, allowEmpty,\n } = this.props;\n\n if (str) {\n const originalValue = this.props.value;\n const value = this.getProtoValue().clone();\n const parsed = moment(str, format, true);\n if (!parsed.isValid()) {\n this.setState({\n invalid: true,\n });\n return;\n }\n value.hour(parsed.hour()).minute(parsed.minute()).second(parsed.second());\n\n // if time value not allowed, response warning.\n if (\n hourOptions.indexOf(value.hour()) < 0 ||\n minuteOptions.indexOf(value.minute()) < 0 ||\n secondOptions.indexOf(value.second()) < 0\n ) {\n this.setState({\n invalid: true,\n });\n return;\n }\n\n // if time value is disabled, response warning.\n const disabledHourOptions = disabledHours();\n const disabledMinuteOptions = disabledMinutes(value.hour());\n const disabledSecondOptions = disabledSeconds(value.hour(), value.minute());\n if (\n (disabledHourOptions && disabledHourOptions.indexOf(value.hour()) >= 0) ||\n (disabledMinuteOptions && disabledMinuteOptions.indexOf(value.minute()) >= 0) ||\n (disabledSecondOptions && disabledSecondOptions.indexOf(value.second()) >= 0)\n ) {\n this.setState({\n invalid: true,\n });\n return;\n }\n\n if (originalValue) {\n if (\n originalValue.hour() !== value.hour() ||\n originalValue.minute() !== value.minute() ||\n originalValue.second() !== value.second()\n ) {\n // keep other fields for rc-calendar\n const changedValue = originalValue.clone();\n changedValue.hour(value.hour());\n changedValue.minute(value.minute());\n changedValue.second(value.second());\n onChange(changedValue);\n }\n } else if (originalValue !== value) {\n onChange(value);\n }\n } else if (allowEmpty) {\n onChange(null);\n } else {\n this.setState({\n invalid: true,\n });\n return;\n }\n\n this.setState({\n invalid: false,\n });\n }\n\n onKeyDown = (e) => {\n const { onEsc, onKeyDown } = this.props;\n if (e.keyCode === 27) {\n onEsc();\n }\n\n onKeyDown(e);\n }\n\n onClear = () => {\n this.setState({ str: '' });\n this.props.onClear();\n }\n\n getClearButton() {\n const { prefixCls, allowEmpty } = this.props;\n if (!allowEmpty) {\n return null;\n }\n return (<a\n className={`${prefixCls}-clear-btn`}\n role=\"button\"\n title={this.props.clearText}\n onMouseDown={this.onClear}\n />);\n }\n\n getProtoValue() {\n return this.props.value || this.props.defaultOpenValue;\n }\n\n getInput() {\n const { prefixCls, placeholder, inputReadOnly } = this.props;\n const { invalid, str } = this.state;\n const invalidClass = invalid ? `${prefixCls}-input-invalid` : '';\n return (\n <input\n className={`${prefixCls}-input ${invalidClass}`}\n ref=\"input\"\n onKeyDown={this.onKeyDown}\n value={str}\n placeholder={placeholder}\n onChange={this.onInputChange}\n readOnly={!!inputReadOnly}\n />\n );\n }\n\n render() {\n const { prefixCls } = this.props;\n return (\n <div className={`${prefixCls}-input-wrap`}>\n {this.getInput()}\n {this.getClearButton()}\n </div>\n );\n }\n}\n\nexport default Header;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport classNames from 'classnames';\nimport noop from 'lodash/noop';\nimport Header from './Header';\nimport Combobox from './Combobox';\n\nfunction generateOptions(length, disabledOptions, hideDisabledOptions, step = 1) {\n const arr = [];\n for (let value = 0; value < length; value += step) {\n if (!disabledOptions || disabledOptions.indexOf(value) < 0 || !hideDisabledOptions) {\n arr.push(value);\n }\n }\n return arr;\n}\n\nclass Panel extends Component {\n static propTypes = {\n clearText: PropTypes.string,\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n defaultOpenValue: PropTypes.object,\n value: PropTypes.object,\n placeholder: PropTypes.string,\n format: PropTypes.string,\n inputReadOnly: PropTypes.bool,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n hideDisabledOptions: PropTypes.bool,\n onChange: PropTypes.func,\n onEsc: PropTypes.func,\n allowEmpty: PropTypes.bool,\n showHour: PropTypes.bool,\n showMinute: PropTypes.bool,\n showSecond: PropTypes.bool,\n onClear: PropTypes.func,\n use12Hours: PropTypes.bool,\n hourStep: PropTypes.number,\n minuteStep: PropTypes.number,\n secondStep: PropTypes.number,\n addon: PropTypes.func,\n focusOnOpen: PropTypes.bool,\n onKeyDown: PropTypes.func,\n };\n\n static defaultProps = {\n prefixCls: 'rc-time-picker-panel',\n onChange: noop,\n onClear: noop,\n disabledHours: noop,\n disabledMinutes: noop,\n disabledSeconds: noop,\n defaultOpenValue: moment(),\n use12Hours: false,\n addon: noop,\n onKeyDown: noop,\n inputReadOnly: false,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n value: props.value,\n selectionRange: [],\n };\n }\n\n componentWillReceiveProps(nextProps) {\n const value = nextProps.value;\n if (value) {\n this.setState({\n value,\n });\n }\n }\n\n onChange = (newValue) => {\n this.setState({ value: newValue });\n this.props.onChange(newValue);\n };\n\n onCurrentSelectPanelChange = (currentSelectPanel) => {\n this.setState({ currentSelectPanel });\n };\n\n close() {\n this.props.onEsc();\n }\n\n disabledHours = () => {\n const { use12Hours, disabledHours } = this.props;\n let disabledOptions = disabledHours();\n if (use12Hours && Array.isArray(disabledOptions)) {\n if (this.isAM()) {\n disabledOptions = disabledOptions.filter(h => h < 12).map(h => (h === 0 ? 12 : h));\n } else {\n disabledOptions = disabledOptions.map(h => (h === 12 ? 12 : h - 12));\n }\n }\n return disabledOptions;\n };\n\n isAM() {\n const value = (this.state.value || this.props.defaultOpenValue);\n return value.hour() >= 0 && value.hour() < 12;\n }\n\n render() {\n const {\n prefixCls, className, placeholder, disabledMinutes,\n disabledSeconds, hideDisabledOptions, allowEmpty, showHour, showMinute, showSecond,\n format, defaultOpenValue, clearText, onEsc, addon, use12Hours, onClear,\n focusOnOpen, onKeyDown, hourStep, minuteStep, secondStep, inputReadOnly,\n } = this.props;\n const {\n value, currentSelectPanel,\n } = this.state;\n const disabledHourOptions = this.disabledHours();\n const disabledMinuteOptions = disabledMinutes(value ? value.hour() : null);\n const disabledSecondOptions = disabledSeconds(value ? value.hour() : null,\n value ? value.minute() : null);\n const hourOptions = generateOptions(\n 24, disabledHourOptions, hideDisabledOptions, hourStep,\n );\n const minuteOptions = generateOptions(\n 60, disabledMinuteOptions, hideDisabledOptions, minuteStep,\n );\n const secondOptions = generateOptions(\n 60, disabledSecondOptions, hideDisabledOptions, secondStep,\n );\n\n return (\n <div className={classNames({ [`${prefixCls}-inner`]: true, [className]: !!className })}>\n <Header\n clearText={clearText}\n prefixCls={prefixCls}\n defaultOpenValue={defaultOpenValue}\n value={value}\n currentSelectPanel={currentSelectPanel}\n onEsc={onEsc}\n format={format}\n placeholder={placeholder}\n hourOptions={hourOptions}\n minuteOptions={minuteOptions}\n secondOptions={secondOptions}\n disabledHours={this.disabledHours}\n disabledMinutes={disabledMinutes}\n disabledSeconds={disabledSeconds}\n onChange={this.onChange}\n onClear={onClear}\n allowEmpty={allowEmpty}\n focusOnOpen={focusOnOpen}\n onKeyDown={onKeyDown}\n inputReadOnly={inputReadOnly}\n />\n <Combobox\n prefixCls={prefixCls}\n value={value}\n defaultOpenValue={defaultOpenValue}\n format={format}\n onChange={this.onChange}\n showHour={showHour}\n showMinute={showMinute}\n showSecond={showSecond}\n hourOptions={hourOptions}\n minuteOptions={minuteOptions}\n secondOptions={secondOptions}\n disabledHours={this.disabledHours}\n disabledMinutes={disabledMinutes}\n disabledSeconds={disabledSeconds}\n onCurrentSelectPanelChange={this.onCurrentSelectPanelChange}\n use12Hours={use12Hours}\n isAM={this.isAM()}\n />\n {addon(this)}\n </div>\n );\n }\n}\n\nexport default Panel;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDom from 'react-dom';\nimport classnames from 'classnames';\n\nconst scrollTo = (element, to, duration) => {\n const requestAnimationFrame = window.requestAnimationFrame ||\n function requestAnimationFrameTimeout() {\n return setTimeout(arguments[0], 10);\n };\n // jump to target if duration zero\n if (duration <= 0) {\n element.scrollTop = to;\n return;\n }\n const difference = to - element.scrollTop;\n const perTick = difference / duration * 10;\n\n requestAnimationFrame(() => {\n element.scrollTop = element.scrollTop + perTick;\n if (element.scrollTop === to) return;\n scrollTo(element, to, duration - 10);\n });\n};\n\nclass Select extends Component {\n static propTypes = {\n prefixCls: PropTypes.string,\n options: PropTypes.array,\n selectedIndex: PropTypes.number,\n type: PropTypes.string,\n onSelect: PropTypes.func,\n onMouseEnter: PropTypes.func,\n };\n\n state = {\n active: false,\n };\n\n componentDidMount() {\n // jump to selected option\n this.scrollToSelected(0);\n }\n\n componentDidUpdate(prevProps) {\n // smooth scroll to selected option\n if (prevProps.selectedIndex !== this.props.selectedIndex) {\n this.scrollToSelected(120);\n }\n }\n\n onSelect = (value) => {\n const { onSelect, type } = this.props;\n onSelect(type, value);\n }\n\n getOptions() {\n const { options, selectedIndex, prefixCls } = this.props;\n return options.map((item, index) => {\n const cls = classnames({\n [`${prefixCls}-select-option-selected`]: selectedIndex === index,\n [`${prefixCls}-select-option-disabled`]: item.disabled,\n });\n let onclick = null;\n if (!item.disabled) {\n onclick = this.onSelect.bind(this, item.value);\n }\n return (<li\n className={cls}\n key={index}\n onClick={onclick}\n disabled={item.disabled}\n >\n {item.value}\n </li>);\n });\n }\n\n scrollToSelected(duration) {\n // move to selected item\n const select = ReactDom.findDOMNode(this);\n const list = ReactDom.findDOMNode(this.list);\n if (!list) {\n return;\n }\n let index = this.props.selectedIndex;\n if (index < 0) {\n index = 0;\n }\n const topOption = list.children[index];\n const to = topOption.offsetTop;\n scrollTo(select, to, duration);\n }\n\n handleMouseEnter = (e) => {\n this.setState({ active: true });\n this.props.onMouseEnter(e);\n }\n\n handleMouseLeave = () => {\n this.setState({ active: false });\n }\n\n saveList = (node) => {\n this.list = node;\n }\n\n render() {\n if (this.props.options.length === 0) {\n return null;\n }\n\n const { prefixCls } = this.props;\n const cls = classnames({\n [`${prefixCls}-select`]: 1,\n [`${prefixCls}-select-active`]: this.state.active,\n });\n\n return (\n <div\n className={cls}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <ul ref={this.saveList}>{this.getOptions()}</ul>\n </div>\n );\n }\n}\n\nexport default Select;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport noop from 'lodash/noop';\nimport moment from 'moment';\nimport Trigger from '../trigger';\nimport Panel from './Panel';\nimport placements, { getPlacements } from './placements';\nimport Icon from '../../icon';\nimport Input from '../../input';\n\nfunction refFn(field, component) {\n this[field] = component;\n}\n\nexport default class Picker extends Component {\n static propTypes = {\n prefixCls: PropTypes.string,\n clearText: PropTypes.string,\n value: PropTypes.object,\n defaultOpenValue: PropTypes.object,\n inputReadOnly: PropTypes.bool,\n disabled: PropTypes.bool,\n allowEmpty: PropTypes.bool,\n defaultValue: PropTypes.object,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n align: PropTypes.object,\n placement: PropTypes.any,\n transitionName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n placeholder: PropTypes.string,\n format: PropTypes.string,\n showHour: PropTypes.bool,\n showMinute: PropTypes.bool,\n showSecond: PropTypes.bool,\n style: PropTypes.object,\n className: PropTypes.string,\n popupClassName: PropTypes.string,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n hideDisabledOptions: PropTypes.bool,\n onChange: PropTypes.func,\n onOpen: PropTypes.func,\n onClose: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n addon: PropTypes.func,\n name: PropTypes.string,\n autoComplete: PropTypes.string,\n use12Hours: PropTypes.bool,\n hourStep: PropTypes.number,\n minuteStep: PropTypes.number,\n secondStep: PropTypes.number,\n focusOnOpen: PropTypes.bool,\n onKeyDown: PropTypes.func,\n autoFocus: PropTypes.bool,\n id: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.string,\n ]),\n };\n\n static defaultProps = {\n clearText: 'clear',\n prefixCls: 'rc-time-picker',\n defaultOpen: false,\n inputReadOnly: false,\n style: {},\n className: '',\n popupClassName: '',\n id: '',\n align: {},\n defaultOpenValue: moment(),\n allowEmpty: true,\n showHour: true,\n showMinute: true,\n showSecond: true,\n disabledHours: noop,\n disabledMinutes: noop,\n disabledSeconds: noop,\n hideDisabledOptions: false,\n placement: 'bottomLeft',\n onChange: noop,\n onOpen: noop,\n onClose: noop,\n onFocus: noop,\n onBlur: noop,\n addon: noop,\n use12Hours: false,\n focusOnOpen: false,\n onKeyDown: noop,\n };\n\n constructor(props) {\n super(props);\n this.saveInputRef = refFn.bind(this, 'picker');\n this.savePanelRef = refFn.bind(this, 'panelInstance');\n const { defaultOpen, defaultValue, open = defaultOpen, value = defaultValue } = props;\n this.state = {\n open,\n value,\n };\n }\n\n componentWillReceiveProps(nextProps) {\n const { value, open } = nextProps;\n if ('value' in nextProps) {\n this.setState({\n value,\n });\n }\n if (open !== undefined) {\n this.setState({ open });\n }\n }\n\n onPanelChange = (value) => {\n this.setValue(value);\n }\n\n onPanelClear = () => {\n this.setValue(null);\n this.setOpen(false);\n }\n\n onVisibleChange = (open) => {\n this.setOpen(open);\n }\n\n onEsc = () => {\n this.setOpen(false);\n this.focus();\n }\n\n onKeyDown = (e) => {\n if (e.keyCode === 40) {\n this.setOpen(true);\n }\n }\n\n setValue(value) {\n if (!('value' in this.props)) {\n this.setState({\n value,\n });\n }\n this.props.onChange(value);\n }\n\n getFormat() {\n const { format, showHour, showMinute, showSecond, use12Hours } = this.props;\n if (format) {\n return format;\n }\n\n if (use12Hours) {\n const fmtString = ([\n showHour ? 'h' : '',\n showMinute ? 'mm' : '',\n showSecond ? 'ss' : '',\n ].filter(item => !!item).join(':'));\n\n return fmtString.concat(' a');\n }\n\n return [\n showHour ? 'HH' : '',\n showMinute ? 'mm' : '',\n showSecond ? 'ss' : '',\n ].filter(item => !!item).join(':');\n }\n\n getPanelElement() {\n const {\n prefixCls, placeholder, disabledHours,\n disabledMinutes, disabledSeconds, hideDisabledOptions, inputReadOnly,\n allowEmpty, showHour, showMinute, showSecond, defaultOpenValue, clearText,\n addon, use12Hours, focusOnOpen, onKeyDown, hourStep, minuteStep, secondStep,\n } = this.props;\n return (\n <Panel\n clearText={clearText}\n prefixCls={`${prefixCls}-panel`}\n ref={this.savePanelRef}\n value={this.state.value}\n inputReadOnly={inputReadOnly}\n onChange={this.onPanelChange}\n onClear={this.onPanelClear}\n defaultOpenValue={defaultOpenValue}\n showHour={showHour}\n showMinute={showMinute}\n showSecond={showSecond}\n onEsc={this.onEsc}\n allowEmpty={allowEmpty}\n format={this.getFormat()}\n placeholder={placeholder}\n disabledHours={disabledHours}\n disabledMinutes={disabledMinutes}\n disabledSeconds={disabledSeconds}\n hideDisabledOptions={hideDisabledOptions}\n use12Hours={use12Hours}\n hourStep={hourStep}\n minuteStep={minuteStep}\n secondStep={secondStep}\n addon={addon}\n focusOnOpen={focusOnOpen}\n onKeyDown={onKeyDown}\n />\n );\n }\n\n getPopupClassName() {\n const { showHour, showMinute, showSecond, use12Hours, prefixCls } = this.props;\n let popupClassName = this.props.popupClassName;\n // Keep it for old compatibility\n if ((!showHour || !showMinute || !showSecond) && !use12Hours) {\n popupClassName += ` ${prefixCls}-panel-narrow`;\n }\n let selectColumnCount = 0;\n if (showHour) {\n selectColumnCount += 1;\n }\n if (showMinute) {\n selectColumnCount += 1;\n }\n if (showSecond) {\n selectColumnCount += 1;\n }\n if (use12Hours) {\n selectColumnCount += 1;\n }\n popupClassName += ` ${prefixCls}-panel-column-${selectColumnCount}`;\n return popupClassName;\n }\n\n getBuiltInPlacements() {\n const { label } = this.props;\n const placement_haslabel = {\n 'bottomLeft': [0, -19],\n 'bottomRight': [0, -19],\n };\n if (label) {\n return getPlacements(placement_haslabel);\n }\n return placements;\n }\n\n setOpen(open) {\n const { onOpen, onClose } = this.props;\n if (this.state.open !== open) {\n if (!('open' in this.props)) {\n this.setState({ open });\n }\n if (open) {\n onOpen({ open });\n } else {\n onClose({ open });\n }\n }\n }\n\n focus() {\n this.picker.focus();\n }\n\n blur() {\n this.picker.blur();\n }\n\n render() {\n const {\n prefixCls, placeholder, placement, align, id,\n disabled, transitionName, style, className, getPopupContainer, name, autoComplete,\n onFocus, onBlur, autoFocus, inputReadOnly, label\n } = this.props;\n const { open, value } = this.state;\n const popupClassName = this.getPopupClassName();\n return (\n <Trigger\n prefixCls={`${prefixCls}-panel`}\n popupClassName={popupClassName}\n popup={this.getPanelElement()}\n popupAlign={align}\n builtinPlacements={this.getBuiltInPlacements()}\n popupPlacement={placement}\n action={disabled ? [] : ['click']}\n destroyPopupOnHide\n getPopupContainer={getPopupContainer}\n popupTransitionName={transitionName}\n popupVisible={open}\n onPopupVisibleChange={this.onVisibleChange}\n >\n <span className={`${prefixCls} ${className}`} style={style}>\n <Input\n className={`${prefixCls}-input`}\n ref={this.saveInputRef}\n type=\"text\"\n label={label}\n placeholder={placeholder}\n name={name}\n onKeyDown={this.onKeyDown}\n disabled={disabled}\n value={value && value.format(this.getFormat()) || ''}\n autoComplete={autoComplete}\n onFocus={onFocus}\n onBlur={onBlur}\n suffix={<Icon type=\"av_timer\" className={`${prefixCls}-icon`}/>}\n autoFocus={autoFocus}\n focused={open}\n onChange={noop}\n readOnly\n id={id}\n />\n </span>\n </Trigger>\n );\n }\n}\n","export { default } from './TimePicker';\n","import cloneDeep from 'lodash/cloneDeep';\n\nconst autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst targetOffset = [0, 0];\n\nconst placements = {\n bottomLeft: {\n points: ['tl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -3],\n targetOffset,\n },\n bottomRight: {\n points: ['tr', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -3],\n targetOffset,\n },\n topRight: {\n points: ['br', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 3],\n targetOffset,\n },\n topLeft: {\n points: ['bl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 3],\n targetOffset,\n },\n};\n\nexport const getPlacements = (placement) => {\n const copyPlacements = cloneDeep(placements);\n if (typeof placement === 'object') {\n for (let offset in placement) {\n if (copyPlacements[offset]) {\n copyPlacements[offset].targetOffset = placement[offset];\n }\n }\n }\n return copyPlacements;\n}\n\nexport default placements;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Trigger from '../trigger';\nimport { placements } from './placements';\n\nclass Tooltip extends Component {\n static propTypes = {\n trigger: PropTypes.any,\n children: PropTypes.any,\n defaultVisible: PropTypes.bool,\n visible: PropTypes.bool,\n placement: PropTypes.string,\n transitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n animation: PropTypes.any,\n onVisibleChange: PropTypes.func,\n afterVisibleChange: PropTypes.func,\n overlay: PropTypes.oneOfType([PropTypes.node, PropTypes.func]).isRequired,\n overlayStyle: PropTypes.object,\n overlayClassName: PropTypes.string,\n prefixCls: PropTypes.string,\n mouseEnterDelay: PropTypes.number,\n mouseLeaveDelay: PropTypes.number,\n getTooltipContainer: PropTypes.func,\n destroyTooltipOnHide: PropTypes.bool,\n align: PropTypes.object,\n arrowContent: PropTypes.any,\n id: PropTypes.string,\n };\n\n static defaultProps = {\n prefixCls: 'rc-tooltip',\n mouseEnterDelay: 0,\n destroyTooltipOnHide: false,\n mouseLeaveDelay: 0.1,\n align: {},\n placement: 'right',\n trigger: ['hover'],\n arrowContent: null,\n };\n\n getPopupElement = () => {\n const { arrowContent, overlay, prefixCls, id } = this.props;\n return [\n <div className={`${prefixCls}-arrow`} key=\"arrow\">\n {arrowContent}\n </div>,\n <div className={`${prefixCls}-inner`} key=\"content\" id={id}>\n {typeof overlay === 'function' ? overlay() : overlay}\n </div>,\n ];\n };\n\n getPopupDomNode() {\n return this.trigger.getPopupDomNode();\n }\n\n saveTrigger = node => {\n this.trigger = node;\n };\n\n render() {\n const {\n overlayClassName,\n trigger,\n mouseEnterDelay,\n mouseLeaveDelay,\n overlayStyle,\n prefixCls,\n children,\n onVisibleChange,\n afterVisibleChange,\n transitionName,\n animation,\n placement,\n align,\n destroyTooltipOnHide,\n defaultVisible,\n getTooltipContainer,\n ...restProps\n } = this.props;\n const extraProps = { ...restProps };\n if ('visible' in this.props) {\n extraProps.popupVisible = this.props.visible;\n }\n return (\n <Trigger\n popupClassName={overlayClassName}\n ref={this.saveTrigger}\n prefixCls={prefixCls}\n popup={this.getPopupElement}\n action={trigger}\n builtinPlacements={placements}\n popupPlacement={placement}\n popupAlign={align}\n getPopupContainer={getTooltipContainer}\n onPopupVisibleChange={onVisibleChange}\n afterPopupVisibleChange={afterVisibleChange}\n popupTransitionName={transitionName}\n popupAnimation={animation}\n defaultPopupVisible={defaultVisible}\n destroyPopupOnHide={destroyTooltipOnHide}\n mouseLeaveDelay={mouseLeaveDelay}\n popupStyle={overlayStyle}\n mouseEnterDelay={mouseEnterDelay}\n {...extraProps}\n >\n {children}\n </Trigger>\n );\n }\n}\n\nexport default Tooltip;\n","import Tooltip from './Tooltip';\n\nexport default Tooltip;\n","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst targetOffset = [0, 0];\n\nexport const placements = {\n left: {\n points: ['cr', 'cl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset,\n },\n right: {\n points: ['cl', 'cr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset,\n },\n top: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset,\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset,\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n rightBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset,\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n leftBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset,\n },\n};\n\nexport default placements;\n","import PropTypes from 'prop-types';\nimport { SHOW_ALL, SHOW_CHILD, SHOW_PARENT } from './strategies';\n\nfunction nonEmptyStringType(props, propsName) {\n const value = props[propsName];\n if (typeof value !== 'string' || !value) {\n return new Error(); // Just a flag, so don't need message.\n }\n}\n\nfunction valueType(props, propName, componentName) {\n const labelInValueShape = PropTypes.shape({\n value: nonEmptyStringType,\n label: PropTypes.node,\n });\n if (props.labelInValue) {\n const validate = PropTypes.oneOfType([\n PropTypes.arrayOf(labelInValueShape),\n labelInValueShape,\n ]);\n const error = validate(...arguments);\n if (error) {\n return new Error(\n `Invalid prop \\`${propName}\\` supplied to \\`${componentName}\\`, ` +\n `when \\`labelInValue\\` is \\`true\\`, \\`${propName}\\` should in ` +\n `shape of \\`{ value: string, label?: string }\\`.`\n );\n }\n } else if (props.treeCheckable && props.treeCheckStrictly) {\n const validate = PropTypes.oneOfType([\n PropTypes.arrayOf(labelInValueShape),\n labelInValueShape,\n ]);\n const error = validate(...arguments);\n if (error) {\n return new Error(\n `Invalid prop \\`${propName}\\` supplied to \\`${componentName}\\`, ` +\n `when \\`treeCheckable\\` and \\`treeCheckStrictly\\` are \\`true\\`, ` +\n `\\`${propName}\\` should in shape of \\`{ value: string, label?: string }\\`.`\n );\n }\n } else if (props.multiple && props[propName] === '') {\n return new Error(\n `Invalid prop \\`${propName}\\` of type \\`string\\` supplied to \\`${componentName}\\`, ` +\n `expected \\`array\\` when \\`multiple\\` is \\`true\\`.`\n );\n } else {\n const validate = PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.string,\n ]);\n return validate(...arguments);\n }\n}\n\nexport const SelectPropTypes = {\n className: PropTypes.string,\n prefixCls: PropTypes.string,\n multiple: PropTypes.bool,\n filterTreeNode: PropTypes.any,\n showSearch: PropTypes.bool,\n disabled: PropTypes.bool,\n showArrow: PropTypes.bool,\n allowClear: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n open: PropTypes.bool,\n transitionName: PropTypes.string,\n animation: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n onClick: PropTypes.func,\n onChange: PropTypes.func,\n onSelect: PropTypes.func,\n onDeselect: PropTypes.func,\n onSearch: PropTypes.func,\n searchPlaceholder: PropTypes.string,\n placeholder: PropTypes.any,\n inputValue: PropTypes.any,\n value: valueType,\n defaultValue: valueType,\n label: PropTypes.node,\n defaultLabel: PropTypes.any,\n labelInValue: PropTypes.bool,\n dropdownStyle: PropTypes.object,\n dropdownPopupAlign: PropTypes.object,\n onDropdownVisibleChange: PropTypes.func,\n maxTagTextLength: PropTypes.number,\n showCheckedStrategy: PropTypes.oneOf([\n SHOW_ALL, SHOW_PARENT, SHOW_CHILD,\n ]),\n treeCheckStrictly: PropTypes.bool,\n treeIcon: PropTypes.bool,\n treeLine: PropTypes.bool,\n treeDefaultExpandAll: PropTypes.bool,\n treeCheckable: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.node,\n ]),\n treeNodeLabelProp: PropTypes.string,\n treeNodeFilterProp: PropTypes.string,\n treeData: PropTypes.array,\n treeDataSimpleMode: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.object,\n ]),\n loadData: PropTypes.func,\n};\n","import React, { Children, Component } from 'react';\nimport { unmountComponentAtNode } from 'react-dom';\nimport classnames from 'classnames';\nimport noop from 'lodash/noop';\nimport KeyCode from '../../_util/KeyCode';\nimport Animate from '../../animate';\nimport {\n filterAllCheckedData,\n filterParentPosition,\n flatToHierarchy,\n getPropValue,\n getTreeNodesStates,\n getValuePropValue,\n isMultiple,\n isPositionPrefix,\n labelCompatible,\n loopAllChildren,\n preventDefaultEvent,\n processSimpleTreeData,\n saveRef,\n toArray,\n UNSELECTABLE_ATTRIBUTE,\n UNSELECTABLE_STYLE,\n} from './util';\nimport SelectTrigger from './SelectTrigger';\nimport _TreeNode from './TreeNode';\nimport { SHOW_ALL, SHOW_CHILD, SHOW_PARENT } from './strategies';\nimport { SelectPropTypes } from './PropTypes';\nimport Button from '../../button/Button';\nimport { getLabelFromPropsValue, getMapKey } from '../select/util';\n\nfunction filterFn(input, child) {\n return (\n String(getPropValue(child, labelCompatible(this.props.treeNodeFilterProp))).indexOf(input) > -1\n );\n}\n\nfunction loopTreeData(data, level = 0, treeCheckable) {\n return data.map((item, index) => {\n const pos = `${level}-${index}`;\n const {\n label,\n value,\n disabled,\n key,\n hasOwnProperty,\n selectable,\n children,\n isLeaf,\n ...otherProps\n } = item;\n const props = {\n value,\n title: label,\n // value: value || String(key || label), // cause onChange callback error\n key: key || value || pos,\n disabled: disabled || false,\n selectable: selectable === false ? selectable : !treeCheckable,\n ...otherProps,\n };\n let ret;\n if (children && children.length) {\n ret = <_TreeNode {...props}>{loopTreeData(children, pos, treeCheckable)}</_TreeNode>;\n } else {\n ret = <_TreeNode {...props} isLeaf={isLeaf} />;\n }\n return ret;\n });\n}\n\nexport default class Select extends Component {\n static propTypes = SelectPropTypes;\n\n static defaultProps = {\n prefixCls: 'rc-tree-select',\n filterTreeNode: filterFn,\n showSearch: true,\n allowClear: false,\n placeholder: '',\n searchPlaceholder: '',\n labelInValue: false,\n onClick: noop,\n onChange: noop,\n onSelect: noop,\n onDeselect: noop,\n onSearch: noop,\n showArrow: true,\n dropdownMatchSelectWidth: true,\n dropdownStyle: {},\n onDropdownVisibleChange: () => {\n return true;\n },\n optionLabelProp: 'value',\n notFoundContent: 'Not Found',\n showCheckedStrategy: SHOW_CHILD,\n // skipHandleInitValue: false, // Deprecated (use treeCheckStrictly)\n treeCheckStrictly: false,\n treeIcon: false,\n treeLine: false,\n treeDataSimpleMode: false,\n treeDefaultExpandAll: false,\n treeCheckable: false,\n treeNodeFilterProp: 'value',\n treeNodeLabelProp: 'title',\n };\n\n static SHOW_ALL = SHOW_ALL;\n static SHOW_PARENT = SHOW_PARENT;\n static SHOW_CHILD = SHOW_CHILD;\n\n constructor(props) {\n super(props);\n let value = [];\n if ('value' in props) {\n value = toArray(props.value);\n } else {\n value = toArray(props.defaultValue);\n }\n // save parsed treeData, for performance (treeData may be very big)\n this.renderedTreeData = this.renderTreeData();\n value = this.addLabelToValue(props, value);\n value = this.getValue(props, value, props.inputValue ? '__strict' : true);\n const inputValue = props.inputValue || '';\n // if (props.combobox) {\n // inputValue = value.length ? String(value[0].value) : '';\n // }\n this.state = {\n value,\n inputValue,\n open: props.open || props.defaultOpen,\n focused: false,\n };\n }\n\n componentDidMount() {\n const { autoFocus, disabled } = this.props;\n if (isMultiple(this.props)) {\n const inputNode = this.getInputDOMNode();\n if (inputNode.value) {\n inputNode.style.width = '';\n inputNode.style.width = `${this.inputMirrorInstance.clientWidth}px`;\n } else {\n inputNode.style.width = '';\n }\n }\n if (autoFocus && !disabled) {\n this.focus();\n }\n }\n\n componentWillReceiveProps(nextProps) {\n // save parsed treeData, for performance (treeData may be very big)\n this.renderedTreeData = this.renderTreeData(nextProps);\n // Detecting whether the object of `onChange`'s argument is old ref.\n // Better to do a deep equal later.\n this._cacheTreeNodesStates =\n this._cacheTreeNodesStates !== 'no' &&\n this._savedValue &&\n nextProps.value === this._savedValue;\n if (this.props.treeData !== nextProps.treeData || this.props.children !== nextProps.children) {\n // refresh this._treeNodesStates cache\n this._treeNodesStates = getTreeNodesStates(\n this.renderedTreeData || nextProps.children,\n this.state.value.map(item => item.value),\n );\n }\n if ('value' in nextProps) {\n let value = toArray(nextProps.value);\n value = this.addLabelToValue(nextProps, value);\n value = this.getValue(nextProps, value);\n this.setState({\n value,\n });\n // if (nextProps.combobox) {\n // this.setState({\n // inputValue: value.length ? String(value[0].key) : '',\n // });\n // }\n }\n if (nextProps.inputValue !== this.props.inputValue) {\n this.setState({\n inputValue: nextProps.inputValue,\n });\n }\n if ('open' in nextProps) {\n this.setState({\n open: nextProps.open,\n });\n }\n }\n\n componentWillUpdate(nextProps) {\n if (\n this._savedValue &&\n nextProps.value &&\n nextProps.value !== this._savedValue &&\n nextProps.value === this.props.value\n ) {\n this._cacheTreeNodesStates = false;\n this.getValue(nextProps, this.addLabelToValue(nextProps, toArray(nextProps.value)));\n }\n }\n\n componentDidUpdate() {\n const state = this.state;\n const props = this.props;\n if (state.open && isMultiple(props)) {\n const inputNode = this.getInputDOMNode();\n if (inputNode.value) {\n inputNode.style.width = '';\n inputNode.style.width = `${this.inputMirrorInstance.clientWidth}px`;\n } else {\n inputNode.style.width = '';\n }\n }\n }\n\n componentWillUnmount() {\n this.clearDelayTimer();\n if (this.dropdownContainer) {\n unmountComponentAtNode(this.dropdownContainer);\n document.body.removeChild(this.dropdownContainer);\n this.dropdownContainer = null;\n }\n }\n\n onInputChange = event => {\n const val = event.target.value;\n const { props } = this;\n this.setState({\n inputValue: val,\n open: true,\n });\n if (props.treeCheckable && !val) {\n this.setState({\n value: this.getValue(props, [...this.state.value], false),\n });\n }\n props.onSearch(val);\n };\n\n onDropdownVisibleChange = open => {\n // selection inside combobox cause click\n if (!open && document.activeElement === this.getInputDOMNode()) {\n // return;\n }\n // this.setOpenState(open);\n // setTimeout, then have animation. why?\n setTimeout(() => {\n this.setOpenState(open, undefined, !open);\n }, 10);\n };\n\n // combobox ignore\n onKeyDown = event => {\n const props = this.props;\n if (props.disabled) {\n return;\n }\n const keyCode = event.keyCode;\n if (this.state.open && !this.getInputDOMNode()) {\n this.onInputKeyDown(event);\n } else if (keyCode === KeyCode.ENTER || keyCode === KeyCode.DOWN) {\n this.setOpenState(true);\n event.preventDefault();\n }\n };\n\n onInputKeyDown = event => {\n const props = this.props;\n if (props.disabled) {\n return;\n }\n const state = this.state;\n const keyCode = event.keyCode;\n if (isMultiple(props) && !event.target.value && keyCode === KeyCode.BACKSPACE) {\n const value = state.value.concat();\n if (value.length) {\n const popValue = value.pop();\n this.removeSelected(this.isLabelInValue() ? popValue : popValue.value);\n }\n return;\n }\n if (keyCode === KeyCode.DOWN) {\n if (!state.open) {\n this.openIfHasChildren();\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n } else if (keyCode === KeyCode.ESC) {\n if (state.open) {\n this.setOpenState(false);\n event.preventDefault();\n event.stopPropagation();\n }\n return;\n }\n };\n\n onSelect = (selectedKeys, info) => {\n const item = info.node;\n let value = this.state.value;\n const props = this.props;\n const selectedValue = getValuePropValue(item);\n const selectedLabel = this.getLabelFromNode(item);\n const checkableSelect = props.treeCheckable && info.event === 'select';\n let event = selectedValue;\n if (this.isLabelInValue()) {\n event = {\n value: event,\n label: selectedLabel,\n };\n }\n if (info.selected === false) {\n this.onDeselect(info);\n if (!checkableSelect) return;\n }\n props.onSelect(event, item, info);\n\n const checkEvt = info.event === 'check';\n if (isMultiple(props)) {\n this.clearSearchInput();\n if (checkEvt) {\n value = this.getCheckedNodes(info, props).map(n => {\n return {\n value: getValuePropValue(n),\n label: this.getLabelFromNode(n),\n };\n });\n } else {\n if (value.some(i => i.value === selectedValue)) {\n return;\n }\n value = value.concat([\n {\n value: selectedValue,\n label: selectedLabel,\n },\n ]);\n }\n } else {\n if (value.length && value[0].value === selectedValue) {\n this.setOpenState(false);\n return;\n }\n value = [\n {\n value: selectedValue,\n label: selectedLabel,\n },\n ];\n this.setOpenState(false);\n }\n\n const extraInfo = {\n triggerValue: selectedValue,\n triggerNode: item,\n };\n if (checkEvt) {\n extraInfo.checked = info.checked;\n // if inputValue existing, tree is checkStrictly\n extraInfo.allCheckedNodes =\n props.treeCheckStrictly || this.state.inputValue\n ? info.checkedNodes\n : flatToHierarchy(info.checkedNodesPositions);\n this._checkedNodes = info.checkedNodesPositions;\n const _tree = this.trigger.popupEle;\n this._treeNodesStates = _tree.checkKeys;\n } else {\n extraInfo.selected = info.selected;\n }\n\n this.fireChange(value, extraInfo);\n if (props.inputValue === null) {\n this.setState({\n inputValue: '',\n });\n }\n };\n\n onDeselect = info => {\n this.removeSelected(getValuePropValue(info.node));\n if (!isMultiple(this.props)) {\n this.setOpenState(false);\n } else {\n this.clearSearchInput();\n }\n };\n\n onPlaceholderClick = () => {\n this.getInputDOMNode().focus();\n };\n\n onClearSelection = event => {\n const props = this.props;\n const state = this.state;\n if (props.disabled) {\n return;\n }\n event.stopPropagation();\n this._cacheTreeNodesStates = 'no';\n this._checkedNodes = [];\n if (state.inputValue || state.value.length) {\n this.setOpenState(false);\n if (typeof props.inputValue === 'undefined') {\n this.setState(\n {\n inputValue: '',\n },\n () => {\n this.fireChange([]);\n },\n );\n } else {\n this.fireChange([]);\n }\n }\n };\n\n onChoiceAnimationLeave = () => {\n this.trigger.trigger.forcePopupAlign();\n };\n\n getLabelFromNode(child) {\n return getPropValue(child, this.props.treeNodeLabelProp);\n }\n\n getLabelFromProps(props, value) {\n if (value === undefined) {\n return null;\n }\n let label = null;\n loopAllChildren(this.renderedTreeData || props.children, item => {\n if (getValuePropValue(item) === value) {\n label = this.getLabelFromNode(item);\n }\n });\n if (label === null) {\n return value;\n }\n return label;\n }\n\n getDropdownContainer() {\n if (!this.dropdownContainer) {\n this.dropdownContainer = document.createElement('div');\n document.body.appendChild(this.dropdownContainer);\n }\n return this.dropdownContainer;\n }\n\n getSearchPlaceholderElement(hidden) {\n const props = this.props;\n let placeholder;\n if (isMultiple(props)) {\n placeholder = props.placeholder || props.searchPlaceholder;\n } else {\n placeholder = props.searchPlaceholder;\n }\n if (placeholder) {\n return (\n <span\n style={{ display: hidden ? 'none' : 'block' }}\n onClick={this.onPlaceholderClick}\n className={`${props.prefixCls}-search__field__placeholder`}\n >\n {placeholder}\n </span>\n );\n }\n return null;\n }\n\n getInputElement() {\n const { inputValue } = this.state;\n const { prefixCls, disabled } = this.props;\n return (\n <span className={`${prefixCls}-search__field__wrap`}>\n <input\n ref={saveRef(this, 'inputInstance')}\n onChange={this.onInputChange}\n onKeyDown={this.onInputKeyDown}\n value={inputValue}\n disabled={disabled}\n className={`${prefixCls}-search__field`}\n role=\"textbox\"\n />\n <span\n ref={saveRef(this, 'inputMirrorInstance')}\n className={`${prefixCls}-search__field__mirror`}\n >\n {inputValue}&nbsp;\n </span>\n {isMultiple(this.props) ? null : this.getSearchPlaceholderElement(!!inputValue)}\n </span>\n );\n }\n\n getInputDOMNode() {\n return this.inputInstance;\n }\n\n getPopupDOMNode() {\n return this.trigger.getPopupDOMNode();\n }\n\n getPopupComponentRefs() {\n return this.trigger.getPopupEleRefs();\n }\n\n getValue(_props, val, init = true) {\n let value = val;\n // if inputValue existing, tree is checkStrictly\n const _strict =\n init === '__strict' ||\n (init &&\n ((this.state && this.state.inputValue) || this.props.inputValue !== _props.inputValue));\n if (_props.treeCheckable && (_props.treeCheckStrictly || _strict)) {\n this.halfCheckedValues = [];\n value = [];\n val.forEach(i => {\n if (!i.halfChecked) {\n value.push(i);\n } else {\n this.halfCheckedValues.push(i);\n }\n });\n }\n // if (!(_props.treeCheckable && !_props.treeCheckStrictly)) {\n if (\n !!!_props.treeCheckable ||\n (_props.treeCheckable && (_props.treeCheckStrictly || _strict))\n ) {\n return value;\n }\n let checkedTreeNodes;\n if (\n this._cachetreeData &&\n this._cacheTreeNodesStates &&\n this._checkedNodes &&\n this.state &&\n !this.state.inputValue\n ) {\n this.checkedTreeNodes = checkedTreeNodes = this._checkedNodes;\n } else {\n /**\n * Note: `this._treeNodesStates`'s treeNodesStates must correspond to nodes of the\n * final tree (`processTreeNode` function from SelectTrigger.jsx produce the final tree).\n *\n * And, `this._treeNodesStates` from `onSelect` is previous value,\n * so it perhaps only have a few nodes, but the newly filtered tree can have many nodes,\n * thus, you cannot use previous _treeNodesStates.\n */\n // getTreeNodesStates is not effective.\n this._treeNodesStates = getTreeNodesStates(\n this.renderedTreeData || _props.children,\n value.map(item => item.value),\n );\n this.checkedTreeNodes = checkedTreeNodes = this._treeNodesStates.checkedNodes;\n }\n const mapLabVal = arr =>\n arr.map(itemObj => {\n return {\n value: getValuePropValue(itemObj.node),\n label: getPropValue(itemObj.node, _props.treeNodeLabelProp),\n };\n });\n const props = this.props;\n let checkedValues = [];\n if (props.showCheckedStrategy === SHOW_ALL) {\n checkedValues = mapLabVal(checkedTreeNodes);\n } else if (props.showCheckedStrategy === SHOW_PARENT) {\n const posArr = filterParentPosition(checkedTreeNodes.map(itemObj => itemObj.pos));\n checkedValues = mapLabVal(\n checkedTreeNodes.filter(itemObj => posArr.indexOf(itemObj.pos) !== -1),\n );\n } else {\n checkedValues = mapLabVal(checkedTreeNodes.filter(itemObj => !itemObj.node.props.children));\n }\n return checkedValues;\n }\n\n getCheckedNodes(info, props) {\n // TODO treeCheckable does not support tags/dynamic\n let { checkedNodes } = info;\n // if inputValue existing, tree is checkStrictly\n if (props.treeCheckStrictly || this.state.inputValue) {\n return checkedNodes;\n }\n const checkedNodesPositions = info.checkedNodesPositions;\n if (props.showCheckedStrategy === SHOW_ALL) {\n checkedNodes = checkedNodes;\n } else if (props.showCheckedStrategy === SHOW_PARENT) {\n const posArr = filterParentPosition(checkedNodesPositions.map(itemObj => itemObj.pos));\n checkedNodes = checkedNodesPositions\n .filter(itemObj => posArr.indexOf(itemObj.pos) !== -1)\n .map(itemObj => itemObj.node);\n } else {\n checkedNodes = checkedNodes.filter(n => !n.props.children);\n }\n return checkedNodes;\n }\n\n getDeselectedValue(selectedValue) {\n const checkedTreeNodes = this.checkedTreeNodes;\n let unCheckPos;\n checkedTreeNodes.forEach(itemObj => {\n if (itemObj.node.props.value === selectedValue) {\n unCheckPos = itemObj.pos;\n }\n });\n const newVals = [];\n const newCkTns = [];\n checkedTreeNodes.forEach(itemObj => {\n if (isPositionPrefix(itemObj.pos, unCheckPos) || isPositionPrefix(unCheckPos, itemObj.pos)) {\n // Filter ancestral and children nodes when uncheck a node.\n return;\n }\n newCkTns.push(itemObj);\n newVals.push(itemObj.node.props.value);\n });\n this.checkedTreeNodes = this._checkedNodes = newCkTns;\n const nv = this.state.value.filter(val => newVals.indexOf(val.value) !== -1);\n this.fireChange(nv, { triggerValue: selectedValue, clear: true });\n }\n\n setOpenState(open, needFocus, documentClickClose = false) {\n this.clearDelayTimer();\n const { props } = this;\n // can not optimize, if children is empty\n // if (this.state.open === open) {\n // return;\n // }\n if (!this.props.onDropdownVisibleChange(open, { documentClickClose })) {\n return;\n }\n this.setState(\n {\n open,\n },\n () => {\n if (needFocus || open) {\n // Input dom init after first time component render\n // Add delay for this to get focus\n Promise.resolve().then(() => {\n if (open || isMultiple(props)) {\n const input = this.getInputDOMNode();\n if (input && document.activeElement !== input) {\n input.focus();\n }\n } else if (this.selection) {\n this.selection.focus();\n }\n });\n }\n },\n );\n }\n\n clearSearchInput() {\n this.getInputDOMNode().focus();\n if (!('inputValue' in this.props)) {\n this.setState({ inputValue: '' });\n }\n }\n\n addLabelToValue(props, value_) {\n let value = value_;\n if (this.isLabelInValue()) {\n value.forEach((v, i) => {\n if (Object.prototype.toString.call(value[i]) !== '[object Object]') {\n value[i] = {\n value: '',\n label: '',\n };\n return;\n }\n v.label = v.label || this.getLabelFromProps(props, v.value);\n });\n } else {\n value = value.map(v => {\n return {\n value: v,\n label: this.getLabelFromProps(props, v),\n };\n });\n }\n return value;\n }\n\n clearDelayTimer() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n }\n\n removeSelected(selectedVal) {\n const props = this.props;\n if (props.disabled) {\n return;\n }\n this._cacheTreeNodesStates = 'no';\n if (\n props.treeCheckable &&\n (props.showCheckedStrategy === SHOW_ALL || props.showCheckedStrategy === SHOW_PARENT) &&\n !(props.treeCheckStrictly || this.state.inputValue)\n ) {\n this.getDeselectedValue(selectedVal);\n return;\n }\n // click the node's `x`(in select box), likely trigger the TreeNode's `unCheck` event,\n // cautiously, they are completely different, think about it, the tree may not render at first,\n // but the nodes in select box are ready.\n let label;\n const value = this.state.value.filter(singleValue => {\n if (singleValue.value === selectedVal) {\n label = singleValue.label;\n }\n return singleValue.value !== selectedVal;\n });\n const canMultiple = isMultiple(props);\n\n if (canMultiple) {\n let event = selectedVal;\n if (this.isLabelInValue()) {\n event = {\n value: selectedVal,\n label,\n };\n }\n props.onDeselect(event);\n }\n if (props.treeCheckable) {\n if (this.checkedTreeNodes && this.checkedTreeNodes.length) {\n this.checkedTreeNodes = this._checkedNodes = this.checkedTreeNodes.filter(item => {\n return value.some(i => i.value === item.node.props.value);\n });\n }\n }\n this.fireChange(value, { triggerValue: selectedVal, clear: true });\n }\n\n openIfHasChildren() {\n const props = this.props;\n if (Children.count(props.children) || !isMultiple(props)) {\n this.setOpenState(true);\n }\n }\n\n fireChange(value, extraInfo = {}) {\n const props = this.props;\n const vals = value.map(i => i.value);\n const sv = this.state.value.map(i => i.value);\n if (vals.length !== sv.length || !vals.every((val, index) => sv[index] === val)) {\n const ex = {\n preValue: [...this.state.value],\n ...extraInfo,\n };\n let labs = null;\n let vls = value;\n if (!this.isLabelInValue()) {\n labs = value.map(i => i.label);\n vls = vls.map(v => v.value);\n } else if (this.halfCheckedValues && this.halfCheckedValues.length) {\n this.halfCheckedValues.forEach(i => {\n if (!vls.some(v => v.value === i.value)) {\n vls.push(i);\n }\n });\n }\n if (props.treeCheckable && ex.clear) {\n const treeData = this.renderedTreeData || props.children;\n ex.allCheckedNodes = flatToHierarchy(filterAllCheckedData(vals, treeData));\n }\n if (props.treeCheckable && this.state.inputValue) {\n const _vls = [...this.state.value];\n if (ex.checked) {\n value.forEach(i => {\n if (_vls.every(ii => ii.value !== i.value)) {\n _vls.push({ ...i });\n }\n });\n } else {\n let index;\n const includeVal = _vls.some((i, ind) => {\n if (i.value === ex.triggerValue) {\n index = ind;\n return true;\n }\n });\n if (includeVal) {\n _vls.splice(index, 1);\n }\n }\n vls = _vls;\n if (!this.isLabelInValue()) {\n labs = _vls.map(v => v.label);\n vls = _vls.map(v => v.value);\n }\n }\n this._savedValue = isMultiple(props) ? vls : vls[0];\n props.onChange(this._savedValue, labs, ex);\n if (!('value' in props)) {\n this._cacheTreeNodesStates = false;\n this.setState({\n value: this.getValue(\n props,\n toArray(this._savedValue).map((v, i) => {\n return this.isLabelInValue()\n ? v\n : {\n value: v,\n label: labs && labs[i],\n };\n }),\n ),\n });\n }\n }\n }\n\n isLabelInValue() {\n const { treeCheckable, treeCheckStrictly, labelInValue } = this.props;\n if (treeCheckable && treeCheckStrictly) {\n return true;\n }\n return labelInValue || false;\n }\n\n focus() {\n if (!isMultiple(this.props)) {\n this.selection.focus();\n } else {\n this.getInputDOMNode().focus();\n }\n }\n\n blur() {\n if (!isMultiple(this.props)) {\n this.selection.blur();\n } else {\n this.getInputDOMNode().blur();\n }\n }\n\n renderClear() {\n const { prefixCls, allowClear } = this.props;\n const { value, inputValue } = this.state;\n const clear = (\n <Button\n key=\"clear\"\n className={`${prefixCls}-clear`}\n style={UNSELECTABLE_STYLE}\n {...UNSELECTABLE_ATTRIBUTE}\n shape=\"circle\"\n icon=\"close\"\n size=\"small\"\n onClick={this.onClearSelection}\n onMouseDown={preventDefaultEvent}\n />\n );\n if (!allowClear) {\n return null;\n }\n if (inputValue || value.length) {\n return clear;\n }\n return null;\n }\n\n onArrowClick = e => {\n e.stopPropagation();\n e.preventDefault();\n if (!this.props.disabled) {\n this.onDropdownVisibleChange(!this.state.open);\n }\n };\n\n getPlaceholderElement = () => {\n const { props, state } = this;\n const placeholder = props.placeholder;\n if (placeholder) {\n return <div className={`${props.prefixCls}-selection__placeholder`}>{placeholder}</div>;\n }\n return null;\n };\n\n renderTopControlNode() {\n const { value } = this.state;\n const props = this.props;\n const { choiceTransitionName, prefixCls, maxTagTextLength, choiceRender } = props;\n const multiple = isMultiple(props);\n\n // single and not combobox, input is inside dropdown\n if (!multiple) {\n const singleValue = value && value[0];\n const { label } = singleValue || {};\n const innerNode = (\n <span key=\"value\" title={label} className={`${prefixCls}-selection-selected-value`}>\n {choiceRender ? choiceRender(label) : label}\n </span>\n );\n return (\n <div className={`${prefixCls}-selection__rendered`}>\n {this.getPlaceholderElement()}\n {innerNode}\n {this.renderClear()}\n {multiple || !props.showArrow ? null : (\n <span\n key=\"arrow\"\n className={`${prefixCls}-arrow`}\n style={UNSELECTABLE_STYLE}\n {...UNSELECTABLE_ATTRIBUTE}\n onClick={this.onArrowClick}\n >\n <i className=\"icon icon-arrow_drop_down\"></i>\n <b />\n </span>\n )}\n </div>\n );\n }\n\n const selectedValueNodes = value.map(singleValue => {\n let content = singleValue.label;\n const title = content;\n if (maxTagTextLength && typeof content === 'string' && content.length > maxTagTextLength) {\n content = `${content.slice(0, maxTagTextLength)}...`;\n }\n return (\n <li\n style={UNSELECTABLE_STYLE}\n {...UNSELECTABLE_ATTRIBUTE}\n onMouseDown={preventDefaultEvent}\n className={`${prefixCls}-selection__choice`}\n key={singleValue.value}\n title={title}\n >\n <span\n className={`${prefixCls}-selection__choice__remove`}\n onClick={this.removeSelected.bind(this, singleValue.value)}\n />\n <span className={`${prefixCls}-selection__choice__content`}>{content}</span>\n </li>\n );\n });\n\n selectedValueNodes.push(\n <li className={`${prefixCls}-search ${prefixCls}-search--inline`} key=\"__input\">\n {this.getInputElement()}\n </li>,\n );\n const className = `${prefixCls}-selection__rendered`;\n if (choiceTransitionName) {\n return (\n <Animate\n className={className}\n component=\"ul\"\n transitionName={choiceTransitionName}\n onLeave={this.onChoiceAnimationLeave}\n >\n {selectedValueNodes}\n </Animate>\n );\n }\n return <ul className={className}>{selectedValueNodes}</ul>;\n }\n\n renderTreeData(props) {\n const validProps = props || this.props;\n if (validProps.treeData) {\n if (props && props.treeData === this.props.treeData && this.renderedTreeData) {\n // cache and use pre data.\n this._cachetreeData = true;\n return this.renderedTreeData;\n }\n this._cachetreeData = false;\n let treeData = [...validProps.treeData];\n // process treeDataSimpleMode\n if (validProps.treeDataSimpleMode) {\n let simpleFormat = {\n id: 'id',\n pId: 'pId',\n rootPId: null,\n };\n if (Object.prototype.toString.call(validProps.treeDataSimpleMode) === '[object Object]') {\n simpleFormat = { ...simpleFormat, ...validProps.treeDataSimpleMode };\n }\n treeData = processSimpleTreeData(treeData, simpleFormat);\n }\n return loopTreeData(treeData, undefined, this.props.treeCheckable);\n }\n }\n\n getUnderLine() {\n const { prefixCls, className } = this.props;\n\n if (className && className.includes(`${prefixCls}-auto-complete`)) {\n return null;\n }\n\n return (\n <div className={`${prefixCls}-underline`}>\n <span className={`${prefixCls}-ripple`} />\n </div>\n );\n }\n\n render() {\n const props = this.props;\n const multiple = isMultiple(props);\n const { open, focused, inputValue, value } = this.state;\n const { className, disabled, label, prefixCls } = props;\n const ctrlNode = this.renderTopControlNode();\n let extraSelectionProps = {};\n if (!multiple) {\n extraSelectionProps = {\n onKeyDown: this.onKeyDown,\n tabIndex: 0,\n };\n }\n const rootCls = {\n [className]: !!className,\n [prefixCls]: 1,\n [`${prefixCls}-open`]: open,\n [`${prefixCls}-focused`]: open || focused,\n [`${prefixCls}-has-value`]: inputValue || (value.length && value[0]),\n [`${prefixCls}-has-label`]: label,\n // [`${prefixCls}-combobox`]: isCombobox(props),\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-enabled`]: !disabled,\n [`${prefixCls}-allow-clear`]: !!props.allowClear,\n };\n\n return (\n <SelectTrigger\n {...props}\n treeNodes={props.children}\n treeData={this.renderedTreeData}\n _cachetreeData={this._cachetreeData}\n _treeNodesStates={this._treeNodesStates}\n halfCheckedValues={this.halfCheckedValues}\n multiple={multiple}\n disabled={disabled}\n visible={open}\n inputValue={inputValue}\n inputElement={this.getInputElement()}\n value={value}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n getPopupContainer={props.getPopupContainer}\n onSelect={this.onSelect}\n ref={saveRef(this, 'trigger')}\n >\n <div\n style={props.style}\n onClick={props.onClick}\n className={classnames(rootCls)}\n onBlur={props.onBlur}\n onFocus={props.onFocus}\n >\n <div\n ref={saveRef(this, 'selection')}\n key=\"selection\"\n className={`${prefixCls}-selection\n ${prefixCls}-selection--${multiple ? 'multiple' : 'single'}`}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"true\"\n aria-expanded={open}\n {...extraSelectionProps}\n >\n {ctrlNode}\n {multiple ? this.getSearchPlaceholderElement(!!inputValue || value.length) : null}\n </div>\n {this.getUnderLine()}\n </div>\n </SelectTrigger>\n );\n }\n}\n","import React, { cloneElement, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport classnames from 'classnames';\nimport Trigger from '../trigger';\nimport Tree, { TreeNode } from '../../tree';\nimport { flatToHierarchy, getValuePropValue, labelCompatible, loopAllChildren, saveRef, } from './util';\nimport toArray from '../util/Children/toArray';\n\nconst BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n};\n\nclass SelectTrigger extends Component {\n static propTypes = {\n dropdownMatchSelectWidth: PropTypes.bool,\n dropdownPopupAlign: PropTypes.object,\n visible: PropTypes.bool,\n filterTreeNode: PropTypes.any,\n treeNodes: PropTypes.any,\n inputValue: PropTypes.string,\n prefixCls: PropTypes.string,\n popupClassName: PropTypes.string,\n children: PropTypes.any,\n };\n\n state = {\n _expandedKeys: [],\n fireOnExpand: false,\n dropdownWidth: null,\n };\n\n componentDidMount() {\n this.setDropdownWidth();\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.inputValue && nextProps.inputValue !== this.props.inputValue) {\n // set autoExpandParent to true\n this.setState({\n _expandedKeys: [],\n fireOnExpand: false,\n });\n }\n }\n\n componentDidUpdate() {\n this.setDropdownWidth();\n }\n\n onExpand = (expandedKeys) => {\n // rerender\n this.setState({\n _expandedKeys: expandedKeys,\n fireOnExpand: true,\n }, () => {\n if (this.trigger && this.trigger.forcePopupAlign) {\n this.trigger.forcePopupAlign();\n }\n });\n };\n\n setDropdownWidth() {\n const width = ReactDOM.findDOMNode(this).offsetWidth;\n if (width !== this.state.dropdownWidth) {\n this.setState({ dropdownWidth: width });\n }\n }\n\n getPopupEleRefs() {\n return this.popupEle;\n }\n\n getPopupDOMNode() {\n return this.trigger.getPopupDomNode();\n }\n\n getDropdownTransitionName() {\n const props = this.props;\n let transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = `${this.getDropdownPrefixCls()}-${props.animation}`;\n }\n return transitionName;\n }\n\n getDropdownPrefixCls() {\n return `${this.props.prefixCls}-dropdown`;\n }\n\n highlightTreeNode = (treeNode) => {\n const props = this.props;\n const filterVal = treeNode.props[labelCompatible(props.treeNodeFilterProp)];\n if (typeof filterVal === 'string') {\n return props.inputValue && filterVal.indexOf(props.inputValue) > -1;\n }\n return false;\n };\n\n filterTreeNode = (input, child) => {\n if (!input) {\n return true;\n }\n const filterTreeNode = this.props.filterTreeNode;\n if (!filterTreeNode) {\n return true;\n }\n if (child.props.disabled) {\n return false;\n }\n return filterTreeNode.call(this, input, child);\n };\n\n processTreeNode(treeNodes) {\n const filterPoss = [];\n this._expandedKeys = [];\n loopAllChildren(treeNodes, (child, index, pos) => {\n if (this.filterTreeNode(this.props.inputValue, child)) {\n filterPoss.push(pos);\n this._expandedKeys.push(child.key);\n }\n });\n\n // Include the filtered nodes's ancestral nodes.\n const processedPoss = [];\n filterPoss.forEach(pos => {\n const arr = pos.split('-');\n arr.reduce((pre, cur) => {\n const res = `${pre}-${cur}`;\n if (processedPoss.indexOf(res) < 0) {\n processedPoss.push(res);\n }\n return res;\n });\n });\n const filterNodesPositions = [];\n loopAllChildren(treeNodes, (child, index, pos) => {\n if (processedPoss.indexOf(pos) > -1) {\n filterNodesPositions.push({ node: child, pos });\n }\n });\n\n const hierarchyNodes = flatToHierarchy(filterNodesPositions);\n\n const recursive = children => {\n return children.map(child => {\n if (child.children) {\n return cloneElement(child.node, {}, recursive(child.children));\n }\n return child.node;\n });\n };\n return recursive(hierarchyNodes);\n }\n\n renderTree(keys, halfCheckedKeys, newTreeNodes, multiple) {\n const props = this.props;\n\n const trProps = {\n multiple,\n prefixCls: `${props.prefixCls}-tree`,\n showIcon: props.treeIcon,\n showLine: props.treeLine,\n defaultExpandAll: props.treeDefaultExpandAll,\n defaultExpandedKeys: props.treeDefaultExpandedKeys,\n filterTreeNode: this.highlightTreeNode,\n };\n\n if (props.treeCheckable) {\n trProps.selectable = false;\n trProps.checkable = props.treeCheckable;\n trProps.onCheck = props.onSelect;\n trProps.checkStrictly = props.treeCheckStrictly;\n if (props.inputValue) {\n // enable checkStrictly when search tree.\n trProps.checkStrictly = true;\n } else {\n trProps._treeNodesStates = props._treeNodesStates;\n }\n if (trProps.treeCheckStrictly && halfCheckedKeys.length) {\n trProps.checkedKeys = { checked: keys, halfChecked: halfCheckedKeys };\n } else {\n trProps.checkedKeys = keys;\n }\n } else {\n trProps.selectedKeys = keys;\n trProps.onSelect = props.onSelect;\n }\n\n // expand keys\n if (!trProps.defaultExpandAll && !trProps.defaultExpandedKeys && !props.loadData) {\n trProps.expandedKeys = keys;\n }\n trProps.autoExpandParent = true;\n trProps.onExpand = this.onExpand;\n if (this._expandedKeys && this._expandedKeys.length) {\n trProps.expandedKeys = this._expandedKeys;\n }\n if (this.state.fireOnExpand) {\n trProps.expandedKeys = this.state._expandedKeys;\n trProps.autoExpandParent = false;\n }\n\n // async loadData\n if (props.loadData) {\n trProps.loadData = props.loadData;\n }\n\n return (\n <Tree ref={saveRef(this, 'popupEle')} {...trProps}>\n {newTreeNodes}\n </Tree>\n );\n }\n\n render() {\n const props = this.props;\n const multiple = props.multiple;\n const dropdownPrefixCls = this.getDropdownPrefixCls();\n const popupClassName = {\n [props.dropdownClassName]: !!props.dropdownClassName,\n [`${dropdownPrefixCls}--${multiple ? 'multiple' : 'single'}`]: 1,\n };\n let visible = props.visible;\n const search = multiple || !props.showSearch ? null : (\n <span className={`${dropdownPrefixCls}-search`}>{props.inputElement}</span>\n );\n\n const recursive = children => {\n // Note: if use `React.Children.map`, the node's key will be modified.\n return toArray(children).map(function handler(child) { // eslint-disable-line\n if (!child) {\n return null;\n }\n if (child && child.props.children) {\n // null or String has no Prop\n return (\n <TreeNode {...child.props} key={child.key}>\n {recursive(child.props.children)}\n </TreeNode>\n );\n }\n return <TreeNode {...child.props} key={child.key} />;\n });\n };\n // const s = Date.now();\n let treeNodes;\n if (props._cachetreeData && this.treeNodes) {\n treeNodes = this.treeNodes;\n } else {\n treeNodes = recursive(props.treeData || props.treeNodes);\n this.treeNodes = treeNodes;\n }\n // console.log(Date.now()-s);\n\n if (props.inputValue) {\n treeNodes = this.processTreeNode(treeNodes);\n }\n\n const keys = [];\n const halfCheckedKeys = [];\n loopAllChildren(treeNodes, (child) => {\n if (props.value.some(item => item.value === getValuePropValue(child))) {\n keys.push(child.key);\n }\n if (props.halfCheckedValues &&\n props.halfCheckedValues.some(item => item.value === getValuePropValue(child))) {\n halfCheckedKeys.push(child.key);\n }\n });\n\n let notFoundContent;\n if (!treeNodes.length) {\n if (props.notFoundContent) {\n notFoundContent = (\n <span className={`${props.prefixCls}-not-found`}>\n {props.notFoundContent}\n </span>\n );\n } else if (!search) {\n visible = false;\n }\n }\n const popupElement = (\n <div>\n {search}\n {notFoundContent || this.renderTree(keys, halfCheckedKeys, treeNodes, multiple)}\n </div>\n );\n\n const popupStyle = { ...props.dropdownStyle };\n const widthProp = props.dropdownMatchSelectWidth ? 'width' : 'minWidth';\n if (this.state.dropdownWidth) {\n popupStyle[widthProp] = `${this.state.dropdownWidth}px`;\n }\n\n return (\n <Trigger\n action={props.disabled ? [] : ['click']}\n ref={saveRef(this, 'trigger')}\n popupPlacement=\"bottomLeft\"\n builtinPlacements={BUILT_IN_PLACEMENTS}\n popupAlign={props.dropdownPopupAlign}\n prefixCls={dropdownPrefixCls}\n popupTransitionName={this.getDropdownTransitionName()}\n onPopupVisibleChange={props.onDropdownVisibleChange}\n popup={popupElement}\n popupVisible={visible}\n getPopupContainer={props.getPopupContainer}\n popupClassName={classnames(popupClassName)}\n popupStyle={popupStyle}\n >\n {this.props.children}\n </Trigger>\n );\n }\n}\n\nexport default SelectTrigger;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class TreeNode extends Component {\n static propTypes = {\n value: PropTypes.string,\n };\n}\n","// export this package's api\nimport TreeSelect from './Select';\nimport TreeNode from './TreeNode';\n\nTreeSelect.TreeNode = TreeNode;\n\nexport default TreeSelect;\nexport { TreeNode };\nexport { SHOW_ALL, SHOW_PARENT, SHOW_CHILD } from './strategies';\n","export const SHOW_ALL = 'SHOW_ALL';\nexport const SHOW_PARENT = 'SHOW_PARENT';\nexport const SHOW_CHILD = 'SHOW_CHILD';\n","/* eslint no-loop-func: 0*/\nimport { Children, cloneElement } from 'react';\n\nexport function getValuePropValue(child) {\n const props = child.props;\n if ('value' in props) {\n return props.value;\n }\n if (child.key) {\n return child.key;\n }\n throw new Error(`no key or value for ${child}`);\n}\n\nexport function getPropValue(child, prop) {\n if (prop === 'value') {\n return getValuePropValue(child);\n }\n return child.props[prop];\n}\n\nexport function isMultiple(props) {\n return !!(props.multiple || props.treeCheckable);\n}\n\nexport function toArray(value) {\n let ret = value;\n if (value === undefined) {\n ret = [];\n } else if (!Array.isArray(value)) {\n ret = [value];\n }\n return ret;\n}\n\nexport function preventDefaultEvent(e) {\n e.preventDefault();\n}\n\nexport const UNSELECTABLE_STYLE = {\n userSelect: 'none',\n WebkitUserSelect: 'none',\n};\n\nexport const UNSELECTABLE_ATTRIBUTE = {\n unselectable: 'unselectable',\n};\n\n\nexport function labelCompatible(prop) {\n let newProp = prop;\n if (newProp === 'label') {\n newProp = 'title';\n }\n return newProp;\n}\n\n\nexport function isInclude(smallArray, bigArray) {\n // attention: [0,0,1] [0,0,10]\n return smallArray.every((ii, i) => {\n return ii === bigArray[i];\n });\n}\n\nexport function isPositionPrefix(smallPos, bigPos) {\n if (!bigPos || !smallPos) {\n // console.log(smallPos, bigPos);\n return false;\n }\n if (bigPos.length < smallPos.length) {\n return false;\n }\n // attention: \"0-0-1\" \"0-0-10\"\n if ((bigPos.length > smallPos.length) && (bigPos.charAt(smallPos.length) !== '-')) {\n return false;\n }\n return bigPos.substr(0, smallPos.length) === smallPos;\n}\n\n/*\nexport function getCheckedKeys(node, checkedKeys, allCheckedNodesKeys) {\n const nodeKey = node.props.eventKey;\n let newCks = [...checkedKeys];\n let nodePos;\n const unCheck = allCheckedNodesKeys.some(item => {\n if (item.key === nodeKey) {\n nodePos = item.pos;\n return true;\n }\n });\n if (unCheck) {\n newCks = [];\n allCheckedNodesKeys.forEach(item => {\n if (isPositionPrefix(item.pos, nodePos) || isPositionPrefix(nodePos, item.pos)) {\n return;\n }\n newCks.push(item.key);\n });\n } else {\n newCks.push(nodeKey);\n }\n return newCks;\n}\n*/\n\nfunction getChildrenlength(children) {\n let len = 1;\n if (Array.isArray(children)) {\n len = children.length;\n }\n return len;\n}\n\nfunction getSiblingPosition(index, len, siblingPosition) {\n if (len === 1) {\n siblingPosition.first = true;\n siblingPosition.last = true;\n } else {\n siblingPosition.first = index === 0;\n siblingPosition.last = index === len - 1;\n }\n return siblingPosition;\n}\n\nexport function loopAllChildren(childs, callback, parent) {\n const loop = (children, level, _parent) => {\n const len = getChildrenlength(children);\n Children.forEach(children, function handler(item, index) { // eslint-disable-line\n const pos = `${level}-${index}`;\n if (item && item.props.children && item.type) {\n loop(item.props.children, pos, { node: item, pos });\n }\n if (item) {\n callback(item, index, pos, item.key || pos, getSiblingPosition(index, len, {}), _parent);\n }\n });\n };\n loop(childs, 0, parent);\n}\n\nexport function flatToHierarchy(arr) {\n if (!arr.length) {\n return arr;\n }\n const hierarchyNodes = [];\n const levelObj = {};\n arr.forEach((item) => {\n if (!item.pos) {\n return;\n }\n const posLen = item.pos.split('-').length;\n if (!levelObj[posLen]) {\n levelObj[posLen] = [];\n }\n levelObj[posLen].push(item);\n });\n const levelArr = Object.keys(levelObj).sort((a, b) => b - a);\n // const s = Date.now();\n // todo: there are performance issues!\n levelArr.reduce((pre, cur) => {\n if (cur && cur !== pre) {\n levelObj[pre].forEach((item) => {\n let haveParent = false;\n levelObj[cur].forEach((ii) => {\n if (isPositionPrefix(ii.pos, item.pos)) {\n haveParent = true;\n if (!ii.children) {\n ii.children = [];\n }\n ii.children.push(item);\n }\n });\n if (!haveParent) {\n hierarchyNodes.push(item);\n }\n });\n }\n return cur;\n });\n // console.log(Date.now() - s);\n return levelObj[levelArr[levelArr.length - 1]].concat(hierarchyNodes);\n}\n\n\n// arr.length === 628, use time: ~20ms\nexport function filterParentPosition(arr) {\n const levelObj = {};\n arr.forEach((item) => {\n const posLen = item.split('-').length;\n if (!levelObj[posLen]) {\n levelObj[posLen] = [];\n }\n levelObj[posLen].push(item);\n });\n const levelArr = Object.keys(levelObj).sort();\n for (let i = 0; i < levelArr.length; i++) {\n if (levelArr[i + 1]) {\n levelObj[levelArr[i]].forEach(ii => {\n for (let j = i + 1; j < levelArr.length; j++) {\n levelObj[levelArr[j]].forEach((_i, index) => {\n if (isPositionPrefix(ii, _i)) {\n levelObj[levelArr[j]][index] = null;\n }\n });\n levelObj[levelArr[j]] = levelObj[levelArr[j]].filter(p => p);\n }\n });\n }\n }\n let nArr = [];\n levelArr.forEach(i => {\n nArr = nArr.concat(levelObj[i]);\n });\n return nArr;\n}\n\n// console.log(filterParentPosition(\n// ['0-2', '0-3-3', '0-10', '0-10-0', '0-0-1', '0-0', '0-1-1', '0-1']\n// ));\n\nfunction stripTail(str) {\n const arr = str.match(/(.+)(-[^-]+)$/);\n let st = '';\n if (arr && arr.length === 3) {\n st = arr[1];\n }\n return st;\n}\n\nfunction splitPosition(pos) {\n return pos.split('-');\n}\n\n// todo: do optimization.\nexport function handleCheckState(obj, checkedPositionArr, checkIt) {\n // console.log(stripTail('0-101-000'));\n // let s = Date.now();\n let objKeys = Object.keys(obj);\n\n objKeys.forEach((i, index) => {\n const iArr = splitPosition(i);\n let saved = false;\n checkedPositionArr.forEach((_pos) => {\n const _posArr = splitPosition(_pos);\n if (iArr.length > _posArr.length && isInclude(_posArr, iArr)) {\n obj[i].halfChecked = false;\n obj[i].checked = checkIt;\n objKeys[index] = null;\n }\n if (iArr[0] === _posArr[0] && iArr[1] === _posArr[1]) {\n saved = true;\n }\n });\n if (!saved) {\n objKeys[index] = null;\n }\n });\n objKeys = objKeys.filter(i => i); // filter non null;\n\n for (let pIndex = 0; pIndex < checkedPositionArr.length; pIndex++) {\n // loop to set ancestral nodes's `checked` or `halfChecked`\n const loop = (__pos) => {\n const _posLen = splitPosition(__pos).length;\n if (_posLen <= 2) { // e.g. '0-0', '0-1'\n return;\n }\n let sibling = 0;\n let siblingChecked = 0;\n const parentPosition = stripTail(__pos);\n objKeys.forEach((i /* , index*/) => {\n const iArr = splitPosition(i);\n if (iArr.length === _posLen && isInclude(splitPosition(parentPosition), iArr)) {\n sibling++;\n if (obj[i].checked) {\n siblingChecked++;\n const _i = checkedPositionArr.indexOf(i);\n if (_i > -1) {\n checkedPositionArr.splice(_i, 1);\n if (_i <= pIndex) {\n pIndex--;\n }\n }\n } else if (obj[i].halfChecked) {\n siblingChecked += 0.5;\n }\n // objKeys[index] = null;\n }\n });\n // objKeys = objKeys.filter(i => i); // filter non null;\n const parent = obj[parentPosition];\n // not check, checked, halfChecked\n if (siblingChecked === 0) {\n parent.checked = false;\n parent.halfChecked = false;\n } else if (siblingChecked === sibling) {\n parent.checked = true;\n parent.halfChecked = false;\n } else {\n parent.halfChecked = true;\n parent.checked = false;\n }\n loop(parentPosition);\n };\n loop(checkedPositionArr[pIndex], pIndex);\n }\n // console.log(Date.now()-s, objKeys.length, checkIt);\n}\n\nfunction getCheck(treeNodesStates, checkedPositions) {\n const halfCheckedKeys = [];\n const checkedKeys = [];\n const checkedNodes = [];\n Object.keys(treeNodesStates).forEach((item) => {\n const itemObj = treeNodesStates[item];\n if (itemObj.checked) {\n checkedKeys.push(itemObj.key);\n // checkedNodes.push(getValuePropValue(itemObj.node));\n checkedNodes.push({ ...itemObj, pos: item });\n } else if (itemObj.halfChecked) {\n halfCheckedKeys.push(itemObj.key);\n }\n });\n return {\n halfCheckedKeys, checkedKeys, checkedNodes, treeNodesStates, checkedPositions,\n };\n}\n\nexport function getTreeNodesStates(children, values) {\n const checkedPositions = [];\n const treeNodesStates = {};\n loopAllChildren(children, (item, index, pos, keyOrPos, siblingPosition) => {\n treeNodesStates[pos] = {\n node: item,\n key: keyOrPos,\n checked: false,\n halfChecked: false,\n siblingPosition,\n };\n if (values.indexOf(getValuePropValue(item)) !== -1) {\n treeNodesStates[pos].checked = true;\n checkedPositions.push(pos);\n }\n });\n\n handleCheckState(treeNodesStates, filterParentPosition(checkedPositions.sort()), true);\n\n return getCheck(treeNodesStates, checkedPositions);\n}\n\n// can add extra prop to every node.\nexport function recursiveCloneChildren(children, cb = ch => ch) {\n return Array.from(children).map(child => {\n const newChild = cb(child);\n if (newChild && newChild.props && newChild.props.children) {\n return cloneElement(newChild, {}, recursiveCloneChildren(newChild.props.children, cb));\n }\n return newChild;\n });\n}\n\nfunction recursiveGen(children, level = 0) {\n return Children.map(children, (child, index) => {\n const pos = `${level}-${index}`;\n const { title, label, value, children: subChildren, ...rest } = child.props;\n const o = {\n ...rest,\n title,\n label: label || title,\n value,\n key: child.key,\n _pos: pos,\n };\n if (subChildren) {\n o.children = recursiveGen(subChildren, pos);\n }\n return o;\n });\n}\n\nfunction recursive(children, cb) {\n children.forEach(item => {\n cb(item);\n if (item.children) {\n recursive(item.children, cb);\n }\n });\n}\n\n// Get the tree's checkedNodes (todo: can merge to the `handleCheckState` function)\n// If one node checked, it's all children nodes checked.\n// If sibling nodes all checked, the parent checked.\nexport function filterAllCheckedData(vs, treeNodes) {\n const vals = [...vs];\n if (!vals.length) {\n return vals;\n }\n\n const data = recursiveGen(treeNodes);\n const checkedNodesPositions = [];\n\n function checkChildren(children) {\n children.forEach(item => {\n if (item.__checked) {\n return;\n }\n const ci = vals.indexOf(item.value);\n const childs = item.children;\n if (ci > -1) {\n item.__checked = true;\n checkedNodesPositions.push({ node: item, pos: item._pos });\n vals.splice(ci, 1);\n if (childs) {\n recursive(childs, child => {\n child.__checked = true;\n checkedNodesPositions.push({ node: child, pos: child._pos });\n });\n }\n } else {\n if (childs) {\n checkChildren(childs);\n }\n }\n });\n }\n\n function checkParent(children, parent = { root: true }) {\n let siblingChecked = 0;\n children.forEach(item => {\n const childs = item.children;\n if (childs && !item.__checked && !item.__halfChecked) {\n const p = checkParent(childs, item);\n if (p.__checked) {\n siblingChecked++;\n } else if (p.__halfChecked) {\n siblingChecked += 0.5;\n }\n } else if (item.__checked) {\n siblingChecked++;\n } else if (item.__halfChecked) {\n siblingChecked += 0.5;\n }\n });\n const len = children.length;\n if (siblingChecked === len) {\n parent.__checked = true;\n checkedNodesPositions.push({ node: parent, pos: parent._pos });\n } else if (siblingChecked < len && siblingChecked > 0) {\n parent.__halfChecked = true;\n }\n if (parent.root) {\n return children;\n }\n return parent;\n }\n\n checkChildren(data);\n checkParent(data);\n\n checkedNodesPositions.forEach((i, index) => {\n // clear private metadata\n delete checkedNodesPositions[index].node.__checked;\n delete checkedNodesPositions[index].node._pos;\n // create the same structure of `onCheck`'s return.\n checkedNodesPositions[index].node.props = {\n title: checkedNodesPositions[index].node.title,\n label: checkedNodesPositions[index].node.label || checkedNodesPositions[index].node.title,\n value: checkedNodesPositions[index].node.value,\n };\n if (checkedNodesPositions[index].node.children) {\n checkedNodesPositions[index].node.props.children = checkedNodesPositions[index].node.children;\n }\n delete checkedNodesPositions[index].node.title;\n delete checkedNodesPositions[index].node.label;\n delete checkedNodesPositions[index].node.value;\n delete checkedNodesPositions[index].node.children;\n });\n return checkedNodesPositions;\n}\n\nexport function processSimpleTreeData(treeData, format) {\n function unflatten2(array, parent = { [format.id]: format.rootPId }) {\n const children = [];\n for (let i = 0; i < array.length; i++) {\n array[i] = { ...array[i] }; // copy, can not corrupts original data\n if (array[i][format.pId] === parent[format.id]) {\n array[i].key = array[i][format.id];\n children.push(array[i]);\n array.splice(i--, 1);\n }\n }\n if (children.length) {\n parent.children = children;\n children.forEach(child => unflatten2(array, child));\n }\n if (parent[format.id] === format.rootPId) {\n return children;\n }\n }\n\n return unflatten2(treeData);\n}\n\nexport function saveRef(instance, name) {\n if (!instance.saveRefs) {\n instance.saveRefs = {};\n }\n if (!instance.saveRefs[name]) {\n instance.saveRefs[name] = (node) => {\n instance[name] = node;\n };\n }\n return instance.saveRefs[name];\n}\n","import React, { Children, cloneElement, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport warning from '../../_util/warning';\nimport {\n arrAdd,\n arrDel,\n calcCheckedKeys,\n calcDropPosition,\n calcExpandedKeys,\n calcSelectedKeys,\n getDragNodesKeys,\n getFullKeyList,\n getPosition,\n getStrictlyValue,\n posToArr,\n traverseTreeNodes,\n} from './util';\n\n/**\n * Thought we still use `cloneElement` to pass `key`,\n * other props can pass with context for future refactor.\n */\nexport const contextTypes = {\n rcTree: PropTypes.shape({\n root: PropTypes.object,\n\n prefixCls: PropTypes.string,\n selectable: PropTypes.bool,\n showIcon: PropTypes.bool,\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n draggable: PropTypes.bool,\n checkable: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.node,\n ]),\n checkStrictly: PropTypes.bool,\n disabled: PropTypes.bool,\n openTransitionName: PropTypes.string,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n loadData: PropTypes.func,\n filterTreeNode: PropTypes.func,\n renderTreeNode: PropTypes.func,\n\n isKeyChecked: PropTypes.func,\n\n onNodeExpand: PropTypes.func,\n onNodeSelect: PropTypes.func,\n onNodeMouseEnter: PropTypes.func,\n onNodeMouseLeave: PropTypes.func,\n onNodeContextMenu: PropTypes.func,\n onNodeDragStart: PropTypes.func,\n onNodeDragEnter: PropTypes.func,\n onNodeDragOver: PropTypes.func,\n onNodeDragLeave: PropTypes.func,\n onNodeDragEnd: PropTypes.func,\n onNodeDrop: PropTypes.func,\n onBatchNodeCheck: PropTypes.func,\n onCheckConductFinished: PropTypes.func,\n }),\n};\n\nclass Tree extends Component {\n static propTypes = {\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.any,\n showLine: PropTypes.bool,\n showIcon: PropTypes.bool,\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n focusable: PropTypes.bool,\n selectable: PropTypes.bool,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n checkable: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.node,\n ]),\n checkStrictly: PropTypes.bool,\n draggable: PropTypes.bool,\n defaultExpandParent: PropTypes.bool,\n autoExpandParent: PropTypes.bool,\n defaultExpandAll: PropTypes.bool,\n defaultExpandedKeys: PropTypes.arrayOf(PropTypes.string),\n expandedKeys: PropTypes.arrayOf(PropTypes.string),\n defaultCheckedKeys: PropTypes.arrayOf(PropTypes.string),\n checkedKeys: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.object,\n ]),\n defaultSelectedKeys: PropTypes.arrayOf(PropTypes.string),\n selectedKeys: PropTypes.arrayOf(PropTypes.string),\n onExpand: PropTypes.func,\n onCheck: PropTypes.func,\n onSelect: PropTypes.func,\n loadData: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onRightClick: PropTypes.func,\n onDragStart: PropTypes.func,\n onDragEnter: PropTypes.func,\n onDragOver: PropTypes.func,\n onDragLeave: PropTypes.func,\n onDragEnd: PropTypes.func,\n onDrop: PropTypes.func,\n filterTreeNode: PropTypes.func,\n openTransitionName: PropTypes.string,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n switcherIcon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n };\n\n static childContextTypes = contextTypes;\n\n static defaultProps = {\n prefixCls: 'rc-tree',\n showLine: false,\n showIcon: true,\n selectable: true,\n multiple: false,\n checkable: false,\n disabled: false,\n checkStrictly: false,\n draggable: false,\n defaultExpandParent: true,\n autoExpandParent: false,\n defaultExpandAll: false,\n defaultExpandedKeys: [],\n defaultCheckedKeys: [],\n defaultSelectedKeys: [],\n onExpand: null,\n onCheck: null,\n onSelect: null,\n onDragStart: null,\n onDragEnter: null,\n onDragOver: null,\n onDragLeave: null,\n onDrop: null,\n onDragEnd: null,\n onMouseEnter: null,\n onMouseLeave: null,\n };\n\n constructor(props) {\n super(props);\n\n const {\n defaultExpandAll,\n defaultExpandParent,\n defaultExpandedKeys,\n defaultCheckedKeys,\n defaultSelectedKeys,\n expandedKeys,\n } = props;\n\n // Sync state with props\n const { checkedKeys = [], halfCheckedKeys = [] } =\n calcCheckedKeys(defaultCheckedKeys, props) || {};\n\n const state = {\n selectedKeys: calcSelectedKeys(defaultSelectedKeys, props),\n checkedKeys,\n halfCheckedKeys,\n };\n\n if (defaultExpandAll) {\n state.expandedKeys = getFullKeyList(props.children);\n } else if (defaultExpandParent) {\n state.expandedKeys = calcExpandedKeys(expandedKeys || defaultExpandedKeys, props);\n } else {\n state.expandedKeys = defaultExpandedKeys;\n }\n\n this.state = {\n ...state,\n ...(this.getSyncProps(props) || {}),\n };\n\n // Cache for check status to optimize\n this.checkedBatch = null;\n }\n\n getChildContext() {\n const {\n prefixCls, selectable, showIcon, icon, draggable, checkable, checkStrictly, disabled,\n loadData, filterTreeNode,\n openTransitionName, openAnimation,\n switcherIcon,\n } = this.props;\n\n return {\n rcTree: {\n // root: this,\n\n prefixCls,\n selectable,\n showIcon,\n icon,\n switcherIcon,\n draggable,\n checkable,\n checkStrictly,\n disabled,\n openTransitionName,\n openAnimation,\n\n loadData,\n filterTreeNode,\n renderTreeNode: this.renderTreeNode,\n isKeyChecked: this.isKeyChecked,\n\n onNodeExpand: this.onNodeExpand,\n onNodeSelect: this.onNodeSelect,\n onNodeMouseEnter: this.onNodeMouseEnter,\n onNodeMouseLeave: this.onNodeMouseLeave,\n onNodeContextMenu: this.onNodeContextMenu,\n onNodeDragStart: this.onNodeDragStart,\n onNodeDragEnter: this.onNodeDragEnter,\n onNodeDragOver: this.onNodeDragOver,\n onNodeDragLeave: this.onNodeDragLeave,\n onNodeDragEnd: this.onNodeDragEnd,\n onNodeDrop: this.onNodeDrop,\n onBatchNodeCheck: this.onBatchNodeCheck,\n onCheckConductFinished: this.onCheckConductFinished,\n },\n };\n }\n\n componentWillReceiveProps(nextProps) {\n // React 16 will not trigger update if new state is null\n this.setState(this.getSyncProps(nextProps, this.props));\n }\n\n onNodeDragStart = (event, node) => {\n const { expandedKeys } = this.state;\n const { onDragStart } = this.props;\n const { eventKey, children } = node.props;\n\n this.dragNode = node;\n\n this.setState({\n dragNodesKeys: getDragNodesKeys(children, node),\n expandedKeys: arrDel(expandedKeys, eventKey),\n });\n\n if (onDragStart) {\n onDragStart({ event, node });\n }\n };\n\n /**\n * [Legacy] Select handler is less small than node,\n * so that this will trigger when drag enter node or select handler.\n * This is a little tricky if customize css without padding.\n * Better for use mouse move event to refresh drag state.\n * But let's just keep it to avoid event trigger logic change.\n */\n onNodeDragEnter = (event, node) => {\n const { expandedKeys } = this.state;\n const { onDragEnter } = this.props;\n const { pos, eventKey } = node.props;\n\n const dropPosition = calcDropPosition(event, node);\n\n // Skip if drag node is self\n if (\n this.dragNode.props.eventKey === eventKey &&\n dropPosition === 0\n ) {\n this.setState({\n dragOverNodeKey: '',\n dropPosition: null,\n });\n return;\n }\n\n // Ref: https://github.com/react-component/tree/issues/132\n // Add timeout to let onDragLevel fire before onDragEnter,\n // so that we can clean drag props for onDragLeave node.\n // Macro task for this:\n // https://html.spec.whatwg.org/multipage/webappapis.html#clean-up-after-running-script\n setTimeout(() => {\n // Update drag over node\n this.setState({\n dragOverNodeKey: eventKey,\n dropPosition,\n });\n\n // Side effect for delay drag\n if (!this.delayedDragEnterLogic) {\n this.delayedDragEnterLogic = {};\n }\n Object.keys(this.delayedDragEnterLogic).forEach((key) => {\n clearTimeout(this.delayedDragEnterLogic[key]);\n });\n this.delayedDragEnterLogic[pos] = setTimeout(() => {\n const newExpandedKeys = arrAdd(expandedKeys, eventKey);\n this.setState({\n expandedKeys: newExpandedKeys,\n });\n\n if (onDragEnter) {\n onDragEnter({ event, node, expandedKeys: newExpandedKeys });\n }\n }, 400);\n }, 0);\n };\n onNodeDragOver = (event, node) => {\n const { onDragOver } = this.props;\n if (onDragOver) {\n onDragOver({ event, node });\n }\n };\n onNodeDragLeave = (event, node) => {\n const { onDragLeave } = this.props;\n\n this.setState({\n dragOverNodeKey: '',\n });\n\n if (onDragLeave) {\n onDragLeave({ event, node });\n }\n };\n onNodeDragEnd = (event, node) => {\n const { onDragEnd } = this.props;\n this.setState({\n dragOverNodeKey: '',\n });\n if (onDragEnd) {\n onDragEnd({ event, node });\n }\n };\n onNodeDrop = (event, node) => {\n const { dragNodesKeys, dropPosition } = this.state;\n const { onDrop } = this.props;\n const { eventKey, pos } = node.props;\n\n this.setState({\n dragOverNodeKey: '',\n dropNodeKey: eventKey,\n });\n\n if (dragNodesKeys.indexOf(eventKey) !== -1) {\n warning(false, 'Can not drop to dragNode(include it\\'s children node)');\n return;\n }\n\n const posArr = posToArr(pos);\n\n const dropResult = {\n event,\n node,\n dragNode: this.dragNode,\n dragNodesKeys: dragNodesKeys.slice(),\n dropPosition: dropPosition + Number(posArr[posArr.length - 1]),\n };\n\n if (dropPosition !== 0) {\n dropResult.dropToGap = true;\n }\n\n if (onDrop) {\n onDrop(dropResult);\n }\n };\n\n onNodeSelect = (e, treeNode) => {\n let { selectedKeys } = this.state;\n const { onSelect, multiple, children } = this.props;\n const { selected, eventKey } = treeNode.props;\n const targetSelected = !selected;\n\n // Update selected keys\n if (!targetSelected) {\n selectedKeys = arrDel(selectedKeys, eventKey);\n } else if (!multiple) {\n selectedKeys = [eventKey];\n } else {\n selectedKeys = arrAdd(selectedKeys, eventKey);\n }\n\n // [Legacy] Not found related usage in doc or upper libs\n // [Legacy] TODO: add optimize prop to skip node process\n const selectedNodes = [];\n if (selectedKeys.length) {\n traverseTreeNodes(children, ({ node, key }) => {\n if (selectedKeys.indexOf(key) !== -1) {\n selectedNodes.push(node);\n }\n });\n }\n\n this.setUncontrolledState({ selectedKeys });\n\n if (onSelect) {\n const eventObj = {\n event: 'select',\n selected: targetSelected,\n node: treeNode,\n selectedNodes,\n };\n onSelect(selectedKeys, eventObj);\n }\n };\n\n /**\n * This will cache node check status to optimize update process.\n * When Tree get trigger `onCheckConductFinished` will flush all the update.\n */\n onBatchNodeCheck = (key, checked, halfChecked, startNode) => {\n if (startNode) {\n this.checkedBatch = {\n treeNode: startNode,\n checked,\n list: [],\n };\n }\n\n // This code should never called\n if (!this.checkedBatch) {\n this.checkedBatch = {\n list: [],\n };\n warning(\n false,\n 'Checked batch not init. This should be a bug. Please fire a issue.',\n );\n }\n\n this.checkedBatch.list.push({ key, checked, halfChecked });\n };\n\n /**\n * When top `onCheckConductFinished` called, will execute all batch update.\n * And trigger `onCheck` event.\n */\n onCheckConductFinished = () => {\n const { checkedKeys, halfCheckedKeys } = this.state;\n const { onCheck, checkStrictly, children } = this.props;\n\n // Use map to optimize update speed\n const checkedKeySet = {};\n const halfCheckedKeySet = {};\n\n checkedKeys.forEach(key => {\n checkedKeySet[key] = true;\n });\n halfCheckedKeys.forEach(key => {\n halfCheckedKeySet[key] = true;\n });\n\n // Batch process\n this.checkedBatch.list.forEach(({ key, checked, halfChecked }) => {\n checkedKeySet[key] = checked;\n halfCheckedKeySet[key] = halfChecked;\n });\n const newCheckedKeys = Object.keys(checkedKeySet).filter(key => checkedKeySet[key]);\n const newHalfCheckedKeys = Object.keys(halfCheckedKeySet).filter(key => halfCheckedKeySet[key]);\n\n // Trigger onChecked\n let selectedObj;\n\n const eventObj = {\n event: 'check',\n node: this.checkedBatch.treeNode,\n checked: this.checkedBatch.checked,\n };\n\n if (checkStrictly) {\n selectedObj = getStrictlyValue(newCheckedKeys, newHalfCheckedKeys);\n\n // [Legacy] TODO: add optimize prop to skip node process\n eventObj.checkedNodes = [];\n traverseTreeNodes(children, ({ node, key }) => {\n if (checkedKeySet[key]) {\n eventObj.checkedNodes.push(node);\n }\n });\n\n this.setUncontrolledState({ checkedKeys: newCheckedKeys });\n } else {\n selectedObj = newCheckedKeys;\n\n // [Legacy] TODO: add optimize prop to skip node process\n eventObj.checkedNodes = [];\n eventObj.checkedNodesPositions = []; // [Legacy] TODO: not in API\n eventObj.halfCheckedKeys = newHalfCheckedKeys; // [Legacy] TODO: not in API\n traverseTreeNodes(children, ({ node, pos, key }) => {\n if (checkedKeySet[key]) {\n eventObj.checkedNodes.push(node);\n eventObj.checkedNodesPositions.push({ node, pos });\n }\n });\n\n this.setUncontrolledState({\n checkedKeys: newCheckedKeys,\n halfCheckedKeys: newHalfCheckedKeys,\n });\n }\n\n if (onCheck) {\n onCheck(selectedObj, eventObj);\n }\n\n // Clean up\n this.checkedBatch = null;\n };\n\n onNodeExpand = (e, treeNode) => {\n let { expandedKeys } = this.state;\n const { onExpand, loadData } = this.props;\n const { eventKey, expanded } = treeNode.props;\n\n // Update selected keys\n const index = expandedKeys.indexOf(eventKey);\n const targetExpanded = !expanded;\n\n warning(\n (expanded && index !== -1) || (!expanded && index === -1)\n , 'Expand state not sync with index check');\n\n if (targetExpanded) {\n expandedKeys = arrAdd(expandedKeys, eventKey);\n } else {\n expandedKeys = arrDel(expandedKeys, eventKey);\n }\n\n this.setUncontrolledState({ expandedKeys });\n\n if (onExpand) {\n onExpand(expandedKeys, { node: treeNode, expanded: targetExpanded });\n }\n\n // Async Load data\n if (targetExpanded && loadData) {\n return loadData(treeNode).then(() => {\n // [Legacy] Refresh logic\n this.setUncontrolledState({ expandedKeys });\n });\n }\n\n return null;\n };\n\n onNodeMouseEnter = (event, node) => {\n const { onMouseEnter } = this.props;\n if (onMouseEnter) {\n onMouseEnter({ event, node });\n }\n };\n\n onNodeMouseLeave = (event, node) => {\n const { onMouseLeave } = this.props;\n if (onMouseLeave) {\n onMouseLeave({ event, node });\n }\n };\n\n onNodeContextMenu = (event, node) => {\n const { onRightClick } = this.props;\n if (onRightClick) {\n event.preventDefault();\n onRightClick({ event, node });\n }\n };\n\n /**\n * Sync state with props if needed\n */\n getSyncProps = (props = {}, prevProps) => {\n let needSync = false;\n const newState = {};\n const myPrevProps = prevProps || {};\n\n function checkSync(name) {\n if (props[name] !== myPrevProps[name]) {\n needSync = true;\n return true;\n }\n return false;\n }\n\n // Children change will affect check box status.\n // And no need to check when prev props not provided\n if (prevProps && checkSync('children')) {\n const { checkedKeys = [], halfCheckedKeys = [] } =\n calcCheckedKeys(props.checkedKeys || this.state.checkedKeys, props) || {};\n newState.checkedKeys = checkedKeys;\n newState.halfCheckedKeys = halfCheckedKeys;\n }\n\n // Re-calculate when autoExpandParent or expandedKeys changed\n if (prevProps && (checkSync('autoExpandParent') || checkSync('expandedKeys'))) {\n newState.expandedKeys = props.autoExpandParent ? calcExpandedKeys(props.expandedKeys, props) : props.expandedKeys;\n }\n\n if (checkSync('selectedKeys')) {\n newState.selectedKeys = calcSelectedKeys(props.selectedKeys, props);\n }\n\n if (checkSync('checkedKeys')) {\n const { checkedKeys = [], halfCheckedKeys = [] } =\n calcCheckedKeys(props.checkedKeys, props) || {};\n newState.checkedKeys = checkedKeys;\n newState.halfCheckedKeys = halfCheckedKeys;\n }\n\n return needSync ? newState : null;\n };\n\n /**\n * Only update the value which is not in props\n */\n setUncontrolledState = (state) => {\n let needSync = false;\n const newState = {};\n\n Object.keys(state).forEach(name => {\n if (name in this.props) return;\n\n needSync = true;\n newState[name] = state[name];\n });\n\n this.setState(needSync ? newState : null);\n };\n\n isKeyChecked = (key) => {\n const { checkedKeys = [] } = this.state;\n return checkedKeys.indexOf(key) !== -1;\n };\n\n /**\n * [Legacy] Original logic use `key` as tracking clue.\n * We have to use `cloneElement` to pass `key`.\n */\n renderTreeNode = (child, index, level = 0) => {\n const {\n expandedKeys = [], selectedKeys = [], halfCheckedKeys = [],\n dragOverNodeKey, dropPosition,\n } = this.state;\n const {} = this.props;\n const pos = getPosition(level, index);\n const key = child.key || pos;\n\n return cloneElement(child, {\n eventKey: key,\n expanded: expandedKeys.indexOf(key) !== -1,\n selected: selectedKeys.indexOf(key) !== -1,\n checked: this.isKeyChecked(key),\n halfChecked: halfCheckedKeys.indexOf(key) !== -1,\n pos,\n\n // [Legacy] Drag props\n dragOver: dragOverNodeKey === key && dropPosition === 0,\n dragOverGapTop: dragOverNodeKey === key && dropPosition === -1,\n dragOverGapBottom: dragOverNodeKey === key && dropPosition === 1,\n });\n };\n\n render() {\n const {\n prefixCls, className, focusable,\n showLine,\n children,\n } = this.props;\n const domProps = {};\n\n // [Legacy] Commit: 0117f0c9db0e2956e92cb208f51a42387dfcb3d1\n if (focusable) {\n domProps.tabIndex = '0';\n domProps.onKeyDown = this.onKeyDown;\n }\n\n return (\n <ul\n {...domProps}\n className={classNames(prefixCls, className, {\n [`${prefixCls}-show-line`]: showLine,\n })}\n role=\"tree-node\"\n unselectable=\"on\"\n >\n {Children.map(children, this.renderTreeNode, this)}\n </ul>\n );\n }\n}\n\nexport default Tree;\n","import React, { Children, Component, createElement } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport warning from '../../_util/warning';\nimport Animate from '../../animate';\nimport toArray from '../util/Children/toArray';\nimport { contextTypes } from './Tree';\nimport Progress from '../../progress';\nimport { getNodeChildren, getPosition, isCheckDisabled, traverseTreeNodes } from './util';\n\nconst ICON_OPEN = 'open';\nconst ICON_CLOSE = 'close';\n\nconst LOAD_STATUS_NONE = 0;\nconst LOAD_STATUS_LOADING = 1;\nconst LOAD_STATUS_LOADED = 2;\nconst LOAD_STATUS_FAILED = 0; // Action align, let's make failed same as init.\n\nconst defaultTitle = '---';\n\nlet onlyTreeNodeWarned = false; // Only accept TreeNode\n\nexport const nodeContextTypes = {\n ...contextTypes,\n rcTreeNode: PropTypes.shape({\n onUpCheckConduct: PropTypes.func,\n }),\n};\n\nexport default class TreeNode extends Component {\n static propTypes = {\n eventKey: PropTypes.string, // Pass by parent `cloneElement`\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n root: PropTypes.object,\n onSelect: PropTypes.func,\n wrapper: PropTypes.func,\n\n // By parent\n expanded: PropTypes.bool,\n selected: PropTypes.bool,\n checked: PropTypes.bool,\n halfChecked: PropTypes.bool,\n children: PropTypes.node,\n title: PropTypes.node,\n pos: PropTypes.string,\n dragOver: PropTypes.bool,\n dragOverGapTop: PropTypes.bool,\n dragOverGapBottom: PropTypes.bool,\n\n // By user\n isLeaf: PropTypes.bool,\n selectable: PropTypes.bool,\n disabled: PropTypes.bool,\n disableCheckbox: PropTypes.bool,\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n switcherIcon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n };\n\n static contextTypes = nodeContextTypes;\n\n static childContextTypes = nodeContextTypes;\n\n static defaultProps = {\n title: defaultTitle,\n };\n\n static isTreeNode = 1;\n\n constructor(props) {\n super(props);\n\n this.state = {\n loadStatus: LOAD_STATUS_NONE,\n dragNodeHighlight: false,\n };\n }\n\n getChildContext() {\n return {\n ...this.context,\n rcTreeNode: {\n onUpCheckConduct: this.onUpCheckConduct,\n },\n };\n }\n\n // Isomorphic needn't load data in server side\n componentDidMount() {\n this.syncLoadData(this.props);\n }\n\n componentWillReceiveProps(nextProps) {\n this.syncLoadData(nextProps);\n }\n\n onUpCheckConduct = (treeNode, nodeChecked, nodeHalfChecked) => {\n const { pos: nodePos } = treeNode.props;\n const { eventKey, pos, checked, halfChecked } = this.props;\n const {\n rcTree: { checkStrictly, isKeyChecked, onBatchNodeCheck, onCheckConductFinished },\n rcTreeNode: { onUpCheckConduct } = {},\n } = this.context;\n\n // Stop conduct when current node is disabled\n if (isCheckDisabled(this)) {\n onCheckConductFinished();\n return;\n }\n\n const children = this.getNodeChildren();\n\n let checkedCount = nodeChecked ? 1 : 0;\n\n // Statistic checked count\n children.forEach((node, index) => {\n const childPos = getPosition(pos, index);\n\n if (nodePos === childPos || isCheckDisabled(node)) {\n return;\n }\n\n if (isKeyChecked(node.key || childPos)) {\n checkedCount += 1;\n }\n });\n\n // Static enabled children count\n const enabledChildrenCount = children\n .filter(node => !isCheckDisabled(node))\n .length;\n\n // checkStrictly will not conduct check status\n const nextChecked = checkStrictly ? checked : enabledChildrenCount === checkedCount;\n const nextHalfChecked = checkStrictly ? // propagated or child checked\n halfChecked : (nodeHalfChecked || (checkedCount > 0 && !nextChecked));\n\n // Add into batch update\n if (checked !== nextChecked || halfChecked !== nextHalfChecked) {\n onBatchNodeCheck(eventKey, nextChecked, nextHalfChecked);\n\n if (onUpCheckConduct) {\n onUpCheckConduct(this, nextChecked, nextHalfChecked);\n } else {\n // Flush all the update\n onCheckConductFinished();\n }\n } else {\n // Flush all the update\n onCheckConductFinished();\n }\n };\n\n onDownCheckConduct = (nodeChecked) => {\n const { children } = this.props;\n const { rcTree: { checkStrictly, isKeyChecked, onBatchNodeCheck } } = this.context;\n if (checkStrictly) return;\n\n traverseTreeNodes(children, ({ node, key }) => {\n if (isCheckDisabled(node)) return false;\n\n if (nodeChecked !== isKeyChecked(key)) {\n onBatchNodeCheck(key, nodeChecked, false);\n }\n });\n };\n\n onSelectorClick = (e) => {\n if (this.isSelectable()) {\n this.onSelect(e);\n } else {\n this.onCheck(e);\n }\n };\n\n onSelect = (e) => {\n if (this.isDisabled()) return;\n\n const { rcTree: { onNodeSelect } } = this.context;\n e.preventDefault();\n onNodeSelect(e, this);\n };\n\n onCheck = (e) => {\n if (this.isDisabled()) return;\n\n const { disableCheckbox, checked, eventKey } = this.props;\n const {\n rcTree: { checkable, onBatchNodeCheck, onCheckConductFinished },\n rcTreeNode: { onUpCheckConduct } = {},\n } = this.context;\n\n if (!checkable || disableCheckbox) return;\n\n e.preventDefault();\n const targetChecked = !checked;\n onBatchNodeCheck(eventKey, targetChecked, false, this);\n\n // Children conduct\n this.onDownCheckConduct(targetChecked);\n\n // Parent conduct\n if (onUpCheckConduct) {\n onUpCheckConduct(this, targetChecked, false);\n } else {\n onCheckConductFinished();\n }\n };\n\n onMouseEnter = (e) => {\n const { rcTree: { onNodeMouseEnter } } = this.context;\n onNodeMouseEnter(e, this);\n };\n\n onMouseLeave = (e) => {\n const { rcTree: { onNodeMouseLeave } } = this.context;\n onNodeMouseLeave(e, this);\n };\n\n onContextMenu = (e) => {\n const { rcTree: { onNodeContextMenu } } = this.context;\n onNodeContextMenu(e, this);\n };\n\n onDragStart = (e) => {\n const { rcTree: { onNodeDragStart } } = this.context;\n\n e.stopPropagation();\n this.setState({\n dragNodeHighlight: true,\n });\n onNodeDragStart(e, this);\n\n try {\n // ie throw error\n // firefox-need-it\n e.dataTransfer.setData('text/plain', '');\n } catch (error) {\n // empty\n }\n };\n\n onDragEnter = (e) => {\n const { rcTree: { onNodeDragEnter } } = this.context;\n\n e.preventDefault();\n e.stopPropagation();\n onNodeDragEnter(e, this);\n };\n\n onDragOver = (e) => {\n const { rcTree: { onNodeDragOver } } = this.context;\n\n e.preventDefault();\n e.stopPropagation();\n onNodeDragOver(e, this);\n };\n\n onDragLeave = (e) => {\n const { rcTree: { onNodeDragLeave } } = this.context;\n\n e.stopPropagation();\n onNodeDragLeave(e, this);\n };\n\n onDragEnd = (e) => {\n const { rcTree: { onNodeDragEnd } } = this.context;\n\n e.stopPropagation();\n this.setState({\n dragNodeHighlight: false,\n });\n onNodeDragEnd(e, this);\n };\n\n onDrop = (e) => {\n const { rcTree: { onNodeDrop } } = this.context;\n\n e.preventDefault();\n e.stopPropagation();\n this.setState({\n dragNodeHighlight: false,\n });\n onNodeDrop(e, this);\n };\n\n // Disabled item still can be switch\n onExpand = (e) => {\n const { rcTree: { onNodeExpand } } = this.context;\n const callbackPromise = onNodeExpand(e, this);\n\n // Promise like\n if (callbackPromise && callbackPromise.then) {\n this.setState({ loadStatus: LOAD_STATUS_LOADING });\n\n callbackPromise.then(() => {\n this.setState({ loadStatus: LOAD_STATUS_LOADED });\n }).catch(() => {\n this.setState({ loadStatus: LOAD_STATUS_FAILED });\n });\n }\n };\n\n // Drag usage\n setSelectHandle = (node) => {\n this.selectHandle = node;\n };\n\n getNodeChildren() {\n const { children } = this.props;\n const originList = toArray(children).filter(node => node);\n const targetList = getNodeChildren(originList);\n\n if (originList.length !== targetList.length && !onlyTreeNodeWarned) {\n onlyTreeNodeWarned = true;\n warning(false, 'Tree only accept TreeNode as children.');\n }\n\n return targetList;\n }\n\n getNodeState = () => {\n const { expanded } = this.props;\n\n if (this.isLeaf()) {\n return null;\n }\n\n return expanded ? ICON_OPEN : ICON_CLOSE;\n };\n\n isLeaf = () => {\n const { loadStatus } = this.state;\n const { isLeaf, hasChildren = this.getNodeChildren().length !== 0 } = this.props;\n const { rcTree: { loadData } } = this.context;\n\n return (\n isLeaf ||\n (!loadData && !hasChildren) ||\n (loadData && loadStatus === LOAD_STATUS_LOADED && !hasChildren)\n );\n };\n\n isDisabled = () => {\n const { disabled } = this.props;\n const { rcTree: { disabled: treeDisabled } } = this.context;\n\n // Follow the logic of Selectable\n if (disabled === false) {\n return false;\n }\n\n return !!(treeDisabled || disabled);\n };\n\n isSelectable() {\n const { selectable } = this.props;\n const { rcTree: { selectable: treeSelectable } } = this.context;\n\n // Ignore when selectable is undefined or null\n if (typeof selectable === 'boolean') {\n return selectable;\n }\n\n return treeSelectable;\n }\n\n // Load data to avoid default expanded tree without data\n syncLoadData = (props) => {\n const { loadStatus } = this.state;\n const { expanded } = props;\n const { rcTree: { loadData } } = this.context;\n\n if (loadData && loadStatus === LOAD_STATUS_NONE && expanded && !this.isLeaf()) {\n this.setState({ loadStatus: LOAD_STATUS_LOADING });\n\n loadData(this).then(() => {\n this.setState({ loadStatus: LOAD_STATUS_LOADED });\n }).catch(() => {\n this.setState({ loadStatus: LOAD_STATUS_FAILED });\n });\n }\n };\n\n // Switcher\n renderSwitcher = () => {\n const {\n expanded,\n switcherIcon: switcherIconFromProps,\n } = this.props;\n const {\n rcTree: {\n prefixCls,\n switcherIcon: switcherIconFromCtx,\n },\n } = this.context;\n\n const switcherIcon = switcherIconFromProps || switcherIconFromCtx;\n\n if (this.isLeaf()) {\n return (\n <span className={classNames(`${prefixCls}-switcher`, `${prefixCls}-switcher-noop`)}>\n {typeof switcherIcon === 'function' ? switcherIcon({ ...this.props, isLeaf: true }) : switcherIcon}\n </span>\n );\n }\n\n const switcherCls = classNames(`${prefixCls}-switcher`, `${prefixCls}-switcher_${expanded ? ICON_OPEN : ICON_CLOSE}`);\n return (\n <span onClick={this.onExpand} className={switcherCls}>\n {typeof switcherIcon === 'function' ? switcherIcon({ ...this.props, isLeaf: false }) : switcherIcon}\n </span>\n );\n };\n\n // Checkbox\n renderCheckbox = () => {\n const { checked, halfChecked, disableCheckbox } = this.props;\n const { rcTree: { prefixCls, checkable } } = this.context;\n const disabled = this.isDisabled();\n\n if (!checkable) return null;\n\n // [Legacy] Custom element should be separate with `checkable` in future\n const $custom = typeof checkable !== 'boolean' ? checkable : null;\n\n return (\n <span\n className={classNames(\n `${prefixCls}-checkbox`,\n checked && `${prefixCls}-checkbox-checked`,\n !checked && halfChecked && `${prefixCls}-checkbox-indeterminate`,\n (disabled || disableCheckbox) && `${prefixCls}-checkbox-disabled`,\n )}\n onClick={this.onCheck}\n >\n {$custom}\n </span>\n );\n };\n\n renderIcon = () => {\n const { loadStatus } = this.state;\n const { rcTree: { prefixCls } } = this.context;\n\n return loadStatus === LOAD_STATUS_LOADING ? (\n <Progress\n type=\"loading\"\n size=\"small\"\n width={14}\n className={`${prefixCls}-icon_loading`}\n />) : (\n <span\n className={classNames(\n `${prefixCls}-iconEle`,\n `${prefixCls}-icon__${this.getNodeState() || 'docu'}`,\n )}\n />\n );\n };\n\n // Icon + Title\n renderSelector = () => {\n const { loadStatus, dragNodeHighlight } = this.state;\n const { title, selected, icon } = this.props;\n const { rcTree: { prefixCls, showIcon, draggable, loadData } } = this.context;\n const disabled = this.isDisabled();\n\n const wrapClass = `${prefixCls}-node-content-wrapper`;\n\n // Icon - Still show loading icon when loading without showIcon\n let $icon;\n\n if (showIcon) {\n $icon = icon ? (\n <span\n className={classNames(\n `${prefixCls}-iconEle`,\n `${prefixCls}-icon__customize`,\n )}\n >\n {typeof icon === 'function' ? createElement(icon, this.props) : icon}\n </span>\n ) : this.renderIcon();\n } else if (loadData && loadStatus === LOAD_STATUS_LOADING) {\n $icon = this.renderIcon();\n }\n\n // Title\n const $title = <span className={`${prefixCls}-title`}>{title}</span>;\n\n return (\n <span\n ref={this.setSelectHandle}\n title={typeof title === 'string' ? title : ''}\n className={classNames(\n `${wrapClass}`,\n `${wrapClass}-${this.getNodeState() || 'normal'}`,\n (!disabled && (selected || dragNodeHighlight)) && `${prefixCls}-node-selected`,\n (!disabled && draggable) && 'draggable',\n )}\n draggable={(!disabled && draggable) || undefined}\n aria-grabbed={(!disabled && draggable) || undefined}\n\n onMouseEnter={this.onMouseEnter}\n onMouseLeave={this.onMouseLeave}\n onContextMenu={this.onContextMenu}\n onClick={this.onSelectorClick}\n onDragStart={this.onDragStart}\n >\n {$icon}{$title}\n </span>\n );\n };\n\n // Children list wrapped with `Animation`\n renderChildren = () => {\n const { expanded, pos, wrapper } = this.props;\n const {\n rcTree: {\n prefixCls,\n openTransitionName, openAnimation,\n renderTreeNode,\n },\n } = this.context;\n\n // [Legacy] Animation control\n const renderFirst = this.renderFirst;\n this.renderFirst = 1;\n let transitionAppear = true;\n if (!renderFirst && expanded) {\n transitionAppear = false;\n }\n\n const animProps = {};\n if (openTransitionName) {\n animProps.transitionName = openTransitionName;\n } else if (typeof openAnimation === 'object') {\n animProps.animation = { ...openAnimation };\n if (!transitionAppear) {\n delete animProps.animation.appear;\n }\n }\n\n // Children TreeNode\n const nodeList = this.getNodeChildren();\n\n if (nodeList.length === 0) {\n return null;\n }\n\n let $children;\n if (expanded) {\n let treeNodes = Children.map(nodeList, (node, index) => (\n renderTreeNode(node, index, pos)\n ));\n if (wrapper) {\n treeNodes = wrapper(treeNodes);\n }\n $children = (\n <ul hidden={!expanded}>\n {treeNodes}\n </ul>\n );\n }\n\n return (\n <Animate\n {...animProps}\n hiddenProp=\"hidden\"\n transitionAppear={transitionAppear}\n component=\"\"\n >\n {$children}\n </Animate>\n );\n };\n\n render() {\n const {\n className,\n dragOver, dragOverGapTop, dragOverGapBottom,\n } = this.props;\n const {\n rcTree: {\n prefixCls,\n filterTreeNode,\n },\n } = this.context;\n const disabled = this.isDisabled();\n\n return (\n <li\n className={classNames(className, {\n [`${prefixCls}-treenode-disabled`]: disabled,\n 'drag-over': !disabled && dragOver,\n 'drag-over-gap-top': !disabled && dragOverGapTop,\n 'drag-over-gap-bottom': !disabled && dragOverGapBottom,\n 'filter-node': filterTreeNode && filterTreeNode(this),\n })}\n\n onDragEnter={this.onDragEnter}\n onDragOver={this.onDragOver}\n onDragLeave={this.onDragLeave}\n onDrop={this.onDrop}\n onDragEnd={this.onDragEnd}\n >\n {this.renderSwitcher()}\n {this.renderCheckbox()}\n {this.renderSelector()}\n {this.renderChildren()}\n </li>\n );\n }\n}\n","import Tree from './Tree';\nimport TreeNode from './TreeNode';\n\nTree.TreeNode = TreeNode;\n\nexport { TreeNode };\nexport default Tree;\n","/* eslint no-loop-func: 0*/\nimport { Children } from 'react';\nimport warning from '../../_util/warning';\n\nexport function arrDel(list, value) {\n const clone = list.slice();\n const index = clone.indexOf(value);\n if (index >= 0) {\n clone.splice(index, 1);\n }\n return clone;\n}\n\nexport function arrAdd(list, value) {\n const clone = list.slice();\n if (clone.indexOf(value) === -1) {\n clone.push(value);\n }\n return clone;\n}\n\nexport function posToArr(pos) {\n return pos.split('-');\n}\n\n// Only used when drag, not affect SSR.\nexport function getOffset(ele) {\n if (!ele.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n\n const rect = ele.getBoundingClientRect();\n if (rect.width || rect.height) {\n const doc = ele.ownerDocument;\n const win = doc.defaultView;\n const docElem = doc.documentElement;\n\n return {\n top: rect.top + win.pageYOffset - docElem.clientTop,\n left: rect.left + win.pageXOffset - docElem.clientLeft,\n };\n }\n\n return rect;\n}\n\nexport function getPosition(level, index) {\n return `${level}-${index}`;\n}\n\nexport function getNodeChildren(children) {\n const childList = Array.isArray(children) ? children : [children];\n return childList\n .filter(child => child && child.type && child.type.isTreeNode);\n}\n\nexport function isCheckDisabled(node) {\n const { disabled, disableCheckbox } = node.props || {};\n return !!(disabled || disableCheckbox);\n}\n\nexport function traverseTreeNodes(treeNodes, subTreeData, callback) {\n if (typeof subTreeData === 'function') {\n callback = subTreeData;\n subTreeData = false;\n }\n\n function processNode(node, index, parent) {\n const children = node ? node.props.children : treeNodes;\n const pos = node ? getPosition(parent.pos, index) : 0;\n\n // Filter children\n const childList = getNodeChildren(children);\n\n // Process node if is not root\n if (node) {\n const data = {\n node,\n index,\n pos,\n key: node.key || pos,\n parentPos: parent.node ? parent.pos : null,\n };\n\n // Children data is not must have\n if (subTreeData) {\n // Statistic children\n const subNodes = [];\n Children.forEach(childList, (subNode, subIndex) => {\n // Provide limit snapshot\n const subPos = getPosition(pos, index);\n subNodes.push({\n node: subNode,\n key: subNode.key || subPos,\n pos: subPos,\n index: subIndex,\n });\n });\n data.subNodes = subNodes;\n }\n\n // Can break traverse by return false\n if (callback(data) === false) {\n return;\n }\n }\n\n // Process children node\n Children.forEach(childList, (subNode, subIndex) => {\n processNode(subNode, subIndex, { node, pos });\n });\n }\n\n processNode(null);\n}\n\n/**\n * [Legacy] Return halfChecked when it has value.\n * @param checkedKeys\n * @param halfChecked\n * @returns {*}\n */\nexport function getStrictlyValue(checkedKeys, halfChecked) {\n if (halfChecked) {\n return { checked: checkedKeys, halfChecked };\n }\n return checkedKeys;\n}\n\nexport function getFullKeyList(treeNodes) {\n const keyList = [];\n traverseTreeNodes(treeNodes, ({ key }) => {\n keyList.push(key);\n });\n return keyList;\n}\n\n/**\n * Check position relation.\n * @param parentPos\n * @param childPos\n * @param directly only directly parent can be true\n * @returns {boolean}\n */\nexport function isParent(parentPos, childPos, directly = false) {\n if (!parentPos || !childPos || parentPos.length > childPos.length) return false;\n\n const parentPath = posToArr(parentPos);\n const childPath = posToArr(childPos);\n\n // Directly check\n if (directly && parentPath.length !== childPath.length - 1) return false;\n\n const len = parentPath.length;\n for (let i = 0; i < len; i += 1) {\n if (parentPath[i] !== childPath[i]) return false;\n }\n\n return true;\n}\n\n/**\n * Statistic TreeNodes info\n * @param treeNodes\n * @returns {{}}\n */\nexport function getNodesStatistic(treeNodes) {\n const statistic = {\n keyNodes: {},\n posNodes: {},\n nodeList: [],\n };\n\n traverseTreeNodes(treeNodes, true, ({ node, index, pos, key, subNodes, parentPos }) => {\n const data = { node, index, pos, key, subNodes, parentPos };\n statistic.keyNodes[key] = data;\n statistic.posNodes[pos] = data;\n statistic.nodeList.push(data);\n });\n\n return statistic;\n}\n\nexport function getDragNodesKeys(treeNodes, node) {\n const { eventKey, pos } = node.props;\n const dragNodesKeys = [];\n\n traverseTreeNodes(treeNodes, ({ pos: nodePos, key }) => {\n if (isParent(pos, nodePos)) {\n dragNodesKeys.push(key);\n }\n });\n dragNodesKeys.push(eventKey || pos);\n return dragNodesKeys;\n}\n\nexport function calcDropPosition(event, treeNode) {\n const offsetTop = getOffset(treeNode.selectHandle).top;\n const offsetHeight = treeNode.selectHandle.offsetHeight;\n const pageY = event.pageY;\n const gapHeight = 2; // [Legacy] TODO: remove hard code\n if (pageY > offsetTop + offsetHeight - gapHeight) {\n return 1;\n }\n if (pageY < offsetTop + gapHeight) {\n return -1;\n }\n return 0;\n}\n\n/**\n * Auto expand all related node when sub node is expanded\n * @param keyList\n * @param props\n * @returns [string]\n */\nexport function calcExpandedKeys(keyList, props) {\n if (!keyList) {\n return [];\n }\n\n const { children } = props;\n\n // Fill parent expanded keys\n const { keyNodes, nodeList } = getNodesStatistic(children);\n const needExpandKeys = {};\n const needExpandPathList = [];\n\n // Fill expanded nodes\n keyList.forEach((key) => {\n const node = keyNodes[key];\n if (node) {\n needExpandKeys[key] = true;\n needExpandPathList.push(node.pos);\n }\n });\n\n // Match parent by path\n nodeList.forEach(({ pos, key }) => {\n if (needExpandPathList.some(childPos => isParent(pos, childPos))) {\n needExpandKeys[key] = true;\n }\n });\n\n const calcExpandedKeyList = Object.keys(needExpandKeys);\n\n // [Legacy] Return origin keyList if calc list is empty\n return calcExpandedKeyList.length ? calcExpandedKeyList : keyList;\n}\n\n/**\n * Return selectedKeys according with multiple prop\n * @param selectedKeys\n * @param props\n * @returns [string]\n */\nexport function calcSelectedKeys(selectedKeys, props) {\n if (!selectedKeys) {\n return undefined;\n }\n\n const { multiple } = props;\n if (multiple) {\n return selectedKeys.slice();\n }\n\n if (selectedKeys.length) {\n return [selectedKeys[0]];\n }\n return selectedKeys;\n}\n\n/**\n * Check conduct is by key level. It pass though up & down.\n * When conduct target node is check means already conducted will be skip.\n * @param treeNodes\n * @param checkedKeys\n * @returns {{checkedKeys: Array, halfCheckedKeys: Array}}\n */\nexport function calcCheckStateConduct(treeNodes, checkedKeys) {\n const { keyNodes, posNodes } = getNodesStatistic(treeNodes);\n\n const tgtCheckedKeys = {};\n const tgtHalfCheckedKeys = {};\n\n // Conduct up\n function conductUp(key, halfChecked) {\n if (tgtCheckedKeys[key]) return;\n\n const { subNodes = [], parentPos, node } = keyNodes[key];\n if (isCheckDisabled(node)) return;\n\n const allSubChecked = !halfChecked && subNodes\n .filter(sub => !isCheckDisabled(sub.node))\n .every(sub => tgtCheckedKeys[sub.key]);\n\n if (allSubChecked) {\n tgtCheckedKeys[key] = true;\n } else {\n tgtHalfCheckedKeys[key] = true;\n }\n\n if (parentPos !== null) {\n conductUp(posNodes[parentPos].key, !allSubChecked);\n }\n }\n\n // Conduct down\n function conductDown(key) {\n if (tgtCheckedKeys[key]) return;\n const { subNodes = [], node } = keyNodes[key];\n\n if (isCheckDisabled(node)) return;\n\n tgtCheckedKeys[key] = true;\n\n subNodes.forEach((sub) => {\n conductDown(sub.key);\n });\n }\n\n function conduct(key) {\n if (!keyNodes[key]) {\n warning(false, `'${key}' does not exist in the tree.`);\n return;\n }\n\n const { subNodes = [], parentPos, node } = keyNodes[key];\n if (isCheckDisabled(node)) return;\n\n tgtCheckedKeys[key] = true;\n\n // Conduct down\n subNodes\n .filter(sub => !isCheckDisabled(sub.node))\n .forEach((sub) => {\n conductDown(sub.key);\n });\n\n // Conduct up\n if (parentPos !== null) {\n conductUp(posNodes[parentPos].key);\n }\n }\n\n checkedKeys.forEach((key) => {\n conduct(key);\n });\n\n return {\n checkedKeys: Object.keys(tgtCheckedKeys),\n halfCheckedKeys: Object.keys(tgtHalfCheckedKeys)\n .filter(key => !tgtCheckedKeys[key]),\n };\n}\n\n/**\n * Calculate the value of checked and halfChecked keys.\n * This should be only run in init or props changed.\n */\nexport function calcCheckedKeys(keys, props) {\n const { checkable, children, checkStrictly } = props;\n\n if (!checkable || !keys) {\n return null;\n }\n\n // Convert keys to object format\n let keyProps;\n if (Array.isArray(keys)) {\n // [Legacy] Follow the api doc\n keyProps = {\n checkedKeys: keys,\n halfCheckedKeys: undefined,\n };\n } else if (typeof keys === 'object') {\n keyProps = {\n checkedKeys: keys.checked || undefined,\n halfCheckedKeys: keys.halfChecked || undefined,\n };\n } else {\n warning(false, '`CheckedKeys` is not an array or an object');\n return null;\n }\n\n // Do nothing if is checkStrictly mode\n if (checkStrictly) {\n return keyProps;\n }\n\n // Conduct calculate the check status\n const { checkedKeys = [] } = keyProps;\n return calcCheckStateConduct(children, checkedKeys);\n}\n","import React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class LazyRenderBox extends Component {\n static propTypes = {\n children: PropTypes.any,\n className: PropTypes.string,\n hidden: PropTypes.bool,\n hiddenClassName: PropTypes.string,\n };\n\n shouldComponentUpdate(nextProps) {\n return nextProps.hiddenClassName || !nextProps.hidden;\n }\n\n render() {\n const { hiddenClassName, hidden, ...props } = this.props;\n\n if (hiddenClassName || Children.count(props.children) > 1) {\n if (hidden && hiddenClassName) {\n props.className += ` ${hiddenClassName}`;\n }\n return <div {...props} />;\n }\n\n return Children.only(props.children);\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport Align from '../../align';\nimport Animate from '../../animate';\nimport PopupInner from './PopupInner';\nimport LazyRenderBox from './LazyRenderBox';\nimport { saveRef } from './utils';\n\nclass Popup extends Component {\n static propTypes = {\n visible: PropTypes.bool,\n style: PropTypes.object,\n getClassNameFromAlign: PropTypes.func,\n onAlign: PropTypes.func,\n getRootDomNode: PropTypes.func,\n onMouseEnter: PropTypes.func,\n align: PropTypes.any,\n destroyPopupOnHide: PropTypes.bool,\n className: PropTypes.string,\n prefixCls: PropTypes.string,\n onMouseLeave: PropTypes.func,\n stretch: PropTypes.string,\n children: PropTypes.node,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n // Used for stretch\n stretchChecked: false,\n targetWidth: undefined,\n targetHeight: undefined,\n };\n\n this.savePopupRef = saveRef.bind(this, 'popupInstance');\n this.saveAlignRef = saveRef.bind(this, 'alignInstance');\n }\n\n componentDidMount() {\n this.rootNode = this.getPopupDomNode();\n this.setStretchSize();\n }\n\n componentDidUpdate() {\n this.setStretchSize();\n }\n\n onAlign = (popupDomNode, align) => {\n const props = this.props;\n const currentAlignClassName = props.getClassNameFromAlign(align);\n // FIX: https://github.com/react-component/trigger/issues/56\n // FIX: https://github.com/react-component/tooltip/issues/79\n if (this.currentAlignClassName !== currentAlignClassName) {\n this.currentAlignClassName = currentAlignClassName;\n popupDomNode.className = this.getClassName(currentAlignClassName);\n }\n props.onAlign(popupDomNode, align);\n };\n\n // Record size if stretch needed\n setStretchSize = () => {\n const { stretch, getRootDomNode, visible } = this.props;\n const { stretchChecked, targetHeight, targetWidth } = this.state;\n\n if (!stretch || !visible) {\n if (stretchChecked) {\n this.setState({ stretchChecked: false });\n }\n return;\n }\n\n const $ele = getRootDomNode();\n if (!$ele) return;\n\n const height = $ele.offsetHeight;\n const width = $ele.offsetWidth;\n\n if (targetHeight !== height || targetWidth !== width || !stretchChecked) {\n this.setState({\n stretchChecked: true,\n targetHeight: height,\n targetWidth: width,\n });\n }\n };\n\n getPopupDomNode() {\n return ReactDOM.findDOMNode(this.popupInstance);\n }\n\n getTarget = () => {\n return this.props.getRootDomNode();\n };\n\n getMaskTransitionName() {\n const props = this.props;\n let transitionName = props.maskTransitionName;\n const animation = props.maskAnimation;\n if (!transitionName && animation) {\n transitionName = `${props.prefixCls}-${animation}`;\n }\n return transitionName;\n }\n\n getTransitionName() {\n const props = this.props;\n let transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = `${props.prefixCls}-${props.animation}`;\n }\n return transitionName;\n }\n\n getClassName(currentAlignClassName) {\n return `${this.props.prefixCls} ${this.props.className} ${currentAlignClassName}`;\n }\n\n getPopupElement() {\n const { savePopupRef } = this;\n const { stretchChecked, targetHeight, targetWidth } = this.state;\n const {\n align, visible,\n prefixCls, style, getClassNameFromAlign,\n destroyPopupOnHide, stretch, children,\n onMouseEnter, onMouseLeave,\n } = this.props;\n const className = this.getClassName(this.currentAlignClassName ||\n getClassNameFromAlign(align));\n const hiddenClassName = `${prefixCls}-hidden`;\n\n if (!visible) {\n this.currentAlignClassName = null;\n }\n\n const sizeStyle = {};\n if (stretch) {\n if (stretchChecked) {\n // Stretch with target\n if (stretch.indexOf('height') !== -1) {\n sizeStyle.height = targetHeight;\n } else if (stretch.indexOf('minHeight') !== -1) {\n sizeStyle.minHeight = targetHeight;\n }\n if (stretch.indexOf('width') !== -1) {\n sizeStyle.width = targetWidth;\n } else if (stretch.indexOf('minWidth') !== -1) {\n sizeStyle.minWidth = targetWidth;\n }\n } else {\n // Do nothing when stretch not ready\n return null;\n }\n }\n\n const newStyle = {\n ...sizeStyle,\n ...style,\n ...this.getZIndexStyle(),\n };\n\n const popupInnerProps = {\n className,\n prefixCls,\n ref: savePopupRef,\n onMouseEnter,\n onMouseLeave,\n style: newStyle,\n };\n if (destroyPopupOnHide) {\n return (\n <Animate\n component=\"\"\n exclusive\n transitionAppear\n transitionName={this.getTransitionName()}\n >\n {visible ? (\n <Align\n target={this.getTarget}\n key=\"popup\"\n ref={this.saveAlignRef}\n monitorWindowResize\n hidden={!visible}\n childrenProps={{ hidden: 'hidden' }}\n align={align}\n onAlign={this.onAlign}\n >\n <PopupInner\n {...popupInnerProps}\n >\n {children}\n </PopupInner>\n </Align>\n ) : null}\n </Animate>\n );\n }\n return (\n <Animate\n component=\"\"\n exclusive\n transitionAppear\n transitionName={this.getTransitionName()}\n hiddenProp=\"hidden\"\n >\n <Align\n target={this.getTarget}\n key=\"popup\"\n ref={this.saveAlignRef}\n monitorWindowResize\n hidden={!visible}\n childrenProps={{ hidden: 'hidden' }}\n disabled={!visible}\n align={align}\n onAlign={this.onAlign}\n >\n <PopupInner\n hiddenClassName={hiddenClassName}\n {...popupInnerProps}\n >\n {children}\n </PopupInner>\n </Align>\n </Animate>\n );\n }\n\n getZIndexStyle() {\n const style = {};\n const props = this.props;\n if (props.zIndex !== undefined) {\n style.zIndex = props.zIndex;\n }\n return style;\n }\n\n getMaskElement() {\n const props = this.props;\n let maskElement;\n if (props.mask) {\n const maskTransition = this.getMaskTransitionName();\n maskElement = (\n <LazyRenderBox\n style={this.getZIndexStyle()}\n key=\"mask\"\n className={`${props.prefixCls}-mask`}\n hiddenClassName={`${props.prefixCls}-mask-hidden`}\n hidden={!props.visible}\n />\n );\n if (maskTransition) {\n maskElement = (\n <Animate\n key=\"mask\"\n hiddenProp=\"hidden\"\n transitionAppear\n component=\"\"\n transitionName={maskTransition}\n >\n {maskElement}\n </Animate>\n );\n }\n }\n return maskElement;\n }\n\n render() {\n return (\n <div>\n {this.getMaskElement()}\n {this.getPopupElement()}\n </div>\n );\n }\n}\n\nexport default Popup;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport LazyRenderBox from './LazyRenderBox';\n\nexport default class PopupInner extends Component {\n static propTypes = {\n hiddenClassName: PropTypes.string,\n className: PropTypes.string,\n prefixCls: PropTypes.string,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n children: PropTypes.any,\n };\n\n render() {\n const props = this.props;\n let className = props.className;\n if (props.hidden) {\n className += ` ${props.hiddenClassName}`;\n }\n return (\n <div\n className={className}\n onMouseEnter={props.onMouseEnter}\n onMouseLeave={props.onMouseLeave}\n style={props.style}\n >\n <LazyRenderBox className={`${props.prefixCls}-content`} hidden={props.hidden}>\n {props.children}\n </LazyRenderBox>\n </div>\n );\n }\n}\n","import React, { Children, cloneElement, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { createPortal, findDOMNode } from 'react-dom';\nimport noop from 'lodash/noop';\nimport contains from '../util/Dom/contains';\nimport addEventListener from '../../_util/addEventListener';\nimport Popup from './Popup';\nimport { getAlignFromPlacement, getPopupClassNameFromAlign } from './utils';\nimport ContainerRender from '../util/ContainerRender';\nimport Portal from '../util/Portal';\n\nfunction returnEmptyString() {\n return '';\n}\n\nfunction returnDocument() {\n return window.document;\n}\n\nconst ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter',\n 'onMouseLeave', 'onFocus', 'onBlur', 'onContextMenu'];\n\nconst IS_REACT_16 = !!createPortal;\n\nexport default class Trigger extends Component {\n static propTypes = {\n children: PropTypes.any,\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n showAction: PropTypes.any,\n hideAction: PropTypes.any,\n getPopupClassNameFromAlign: PropTypes.any,\n onPopupVisibleChange: PropTypes.func,\n afterPopupVisibleChange: PropTypes.func,\n popup: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.func,\n ]).isRequired,\n popupStyle: PropTypes.object,\n prefixCls: PropTypes.string,\n popupClassName: PropTypes.string,\n popupPlacement: PropTypes.string,\n builtinPlacements: PropTypes.object,\n popupTransitionName: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n popupAnimation: PropTypes.any,\n mouseEnterDelay: PropTypes.number,\n mouseLeaveDelay: PropTypes.number,\n zIndex: PropTypes.number,\n focusDelay: PropTypes.number,\n blurDelay: PropTypes.number,\n getPopupContainer: PropTypes.func,\n getDocument: PropTypes.func,\n getRootDomNode: PropTypes.func,\n forceRender: PropTypes.bool,\n destroyPopupOnHide: PropTypes.bool,\n mask: PropTypes.bool,\n maskClosable: PropTypes.bool,\n onPopupAlign: PropTypes.func,\n popupAlign: PropTypes.object,\n popupVisible: PropTypes.bool,\n defaultPopupVisible: PropTypes.bool,\n maskTransitionName: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n maskAnimation: PropTypes.string,\n stretch: PropTypes.string,\n };\n\n static defaultProps = {\n prefixCls: 'rc-trigger-popup',\n getPopupClassNameFromAlign: returnEmptyString,\n getDocument: returnDocument,\n onPopupVisibleChange: noop,\n afterPopupVisibleChange: noop,\n onPopupAlign: noop,\n popupClassName: '',\n mouseEnterDelay: 0,\n mouseLeaveDelay: 0.1,\n focusDelay: 0,\n blurDelay: 0.15,\n popupStyle: {},\n destroyPopupOnHide: false,\n popupAlign: {},\n defaultPopupVisible: false,\n mask: false,\n maskClosable: true,\n action: [],\n showAction: [],\n hideAction: [],\n };\n\n constructor(props) {\n super(props);\n\n let popupVisible;\n if ('popupVisible' in props) {\n popupVisible = !!props.popupVisible;\n } else {\n popupVisible = !!props.defaultPopupVisible;\n }\n\n this.prevPopupVisible = popupVisible;\n\n this.state = {\n popupVisible,\n };\n }\n\n componentWillMount() {\n ALL_HANDLERS.forEach((h) => {\n this[`fire${h}`] = (e) => {\n this.fireEvents(h, e);\n };\n });\n }\n\n componentDidMount() {\n this.componentDidUpdate({}, {\n popupVisible: this.state.popupVisible,\n });\n }\n\n componentWillReceiveProps({ popupVisible }) {\n if (popupVisible !== undefined) {\n this.setState({\n popupVisible,\n });\n }\n }\n\n componentDidUpdate(_, prevState) {\n const props = this.props;\n const state = this.state;\n const triggerAfterPopupVisibleChange = () => {\n if (prevState.popupVisible !== state.popupVisible) {\n props.afterPopupVisibleChange(state.popupVisible);\n }\n };\n if (!IS_REACT_16) {\n this.renderComponent(null, triggerAfterPopupVisibleChange);\n }\n\n this.prevPopupVisible = prevState.popupVisible;\n\n // We must listen to `mousedown` or `touchstart`, edge case:\n // https://github.com/react-component/calendar/issues/250\n // https://github.com/react-component/trigger/issues/50\n if (state.popupVisible) {\n let currentDocument;\n if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextMenuToShow())) {\n currentDocument = props.getDocument();\n this.clickOutsideHandler = addEventListener(currentDocument,\n 'mousedown', this.onDocumentClick);\n }\n // always hide on mobile\n if (!this.touchOutsideHandler) {\n currentDocument = currentDocument || props.getDocument();\n this.touchOutsideHandler = addEventListener(currentDocument,\n 'touchstart', this.onDocumentClick);\n }\n // close popup when trigger type contains 'onContextMenu' and document is scrolling.\n if (!this.contextMenuOutsideHandler1 && this.isContextMenuToShow()) {\n currentDocument = currentDocument || props.getDocument();\n this.contextMenuOutsideHandler1 = addEventListener(currentDocument,\n 'scroll', this.onContextMenuClose);\n }\n // close popup when trigger type contains 'onContextMenu' and window is blur.\n if (!this.contextMenuOutsideHandler2 && this.isContextMenuToShow()) {\n this.contextMenuOutsideHandler2 = addEventListener(window,\n 'blur', this.onContextMenuClose);\n }\n return;\n }\n\n this.clearOutsideHandler();\n }\n\n componentWillUnmount() {\n this.clearDelayTimer();\n this.clearOutsideHandler();\n }\n\n onMouseEnter = (e) => {\n this.fireEvents('onMouseEnter', e);\n this.delaySetPopupVisible(true, this.props.mouseEnterDelay);\n };\n\n onMouseLeave = (e) => {\n this.fireEvents('onMouseLeave', e);\n this.delaySetPopupVisible(false, this.props.mouseLeaveDelay);\n };\n\n onPopupMouseEnter = () => {\n this.clearDelayTimer();\n };\n\n onPopupMouseLeave = (e) => {\n // https://github.com/react-component/trigger/pull/13\n // react bug?\n if (e.relatedTarget && !e.relatedTarget.setTimeout &&\n this._component &&\n this._component.getPopupDomNode &&\n contains(this._component.getPopupDomNode(), e.relatedTarget)) {\n return;\n }\n this.delaySetPopupVisible(false, this.props.mouseLeaveDelay);\n };\n\n onFocus = (e) => {\n this.fireEvents('onFocus', e);\n // incase focusin and focusout\n this.clearDelayTimer();\n if (this.isFocusToShow()) {\n this.focusTime = Date.now();\n this.delaySetPopupVisible(true, this.props.focusDelay);\n }\n };\n\n onMouseDown = (e) => {\n this.fireEvents('onMouseDown', e);\n this.preClickTime = Date.now();\n };\n\n onTouchStart = (e) => {\n this.fireEvents('onTouchStart', e);\n this.preTouchTime = Date.now();\n };\n\n onBlur = (e) => {\n this.fireEvents('onBlur', e);\n this.clearDelayTimer();\n if (this.isBlurToHide()) {\n this.delaySetPopupVisible(false, this.props.blurDelay);\n }\n };\n\n onContextMenu = (e) => {\n e.preventDefault();\n this.fireEvents('onContextMenu', e);\n this.setPopupVisible(true);\n };\n\n onContextMenuClose = () => {\n if (this.isContextMenuToShow()) {\n this.close();\n }\n };\n\n onClick = (event) => {\n this.fireEvents('onClick', event);\n // focus will trigger click\n if (this.focusTime) {\n let preTime;\n if (this.preClickTime && this.preTouchTime) {\n preTime = Math.min(this.preClickTime, this.preTouchTime);\n } else if (this.preClickTime) {\n preTime = this.preClickTime;\n } else if (this.preTouchTime) {\n preTime = this.preTouchTime;\n }\n if (Math.abs(preTime - this.focusTime) < 20) {\n return;\n }\n this.focusTime = 0;\n }\n this.preClickTime = 0;\n this.preTouchTime = 0;\n event.preventDefault();\n const nextVisible = !this.state.popupVisible;\n if (this.isClickToHide() && !nextVisible || nextVisible && this.isClickToShow()) {\n this.setPopupVisible(!this.state.popupVisible);\n }\n };\n\n onDocumentClick = (event) => {\n if (this.props.mask && !this.props.maskClosable) {\n return;\n }\n const target = event.target;\n const root = findDOMNode(this);\n const popupNode = this.getPopupDomNode();\n if (!contains(root, target) && !contains(popupNode, target)) {\n this.close();\n }\n };\n\n getPopupDomNode() {\n // for test\n if (this._component && this._component.getPopupDomNode) {\n return this._component.getPopupDomNode();\n }\n return null;\n }\n\n getRootDomNode = () => {\n const { getRootDomNode } = this.props;\n if (getRootDomNode) {\n return getRootDomNode();\n } else {\n return findDOMNode(this);\n }\n };\n\n getPopupClassFromAlign = (align) => {\n const className = [];\n const props = this.props;\n const { popupPlacement, builtinPlacements, prefixCls } = props;\n if (popupPlacement && builtinPlacements) {\n className.push(getPopupClassNameFromAlign(builtinPlacements, prefixCls, align));\n }\n if (props.getPopupClassNameFromAlign) {\n className.push(props.getPopupClassNameFromAlign(align));\n }\n return className.join(' ');\n };\n\n getPopupAlign() {\n const props = this.props;\n const { popupPlacement, popupAlign, builtinPlacements } = props;\n if (popupPlacement && builtinPlacements) {\n return getAlignFromPlacement(builtinPlacements, popupPlacement, popupAlign);\n }\n return popupAlign;\n }\n\n getComponent = () => {\n const {\n prefixCls, destroyPopupOnHide, popupClassName, action,\n onPopupAlign, popupAnimation, popupTransitionName, popupStyle,\n mask, maskAnimation, maskTransitionName, zIndex, popup, stretch,\n } = this.props;\n const { state } = this;\n\n const align = this.getPopupAlign();\n\n const mouseProps = {};\n if (this.isMouseEnterToShow()) {\n mouseProps.onMouseEnter = this.onPopupMouseEnter;\n }\n if (this.isMouseLeaveToHide()) {\n mouseProps.onMouseLeave = this.onPopupMouseLeave;\n }\n\n return (\n <Popup\n prefixCls={prefixCls}\n destroyPopupOnHide={destroyPopupOnHide}\n visible={state.popupVisible}\n className={popupClassName}\n action={action}\n align={align}\n onAlign={onPopupAlign}\n animation={popupAnimation}\n getClassNameFromAlign={this.getPopupClassFromAlign}\n {...mouseProps}\n stretch={stretch}\n getRootDomNode={this.getRootDomNode}\n style={popupStyle}\n mask={mask}\n zIndex={zIndex}\n transitionName={popupTransitionName}\n maskAnimation={maskAnimation}\n maskTransitionName={maskTransitionName}\n ref={this.savePopup}\n >\n {typeof popup === 'function' ? popup() : popup}\n </Popup>\n );\n };\n\n getContainer = () => {\n const { props } = this;\n const popupContainer = document.createElement('div');\n // Make sure default popup container will never cause scrollbar appearing\n // https://github.com/react-component/trigger/issues/41\n popupContainer.style.position = 'absolute';\n popupContainer.style.top = '0';\n popupContainer.style.left = '0';\n popupContainer.style.width = '100%';\n const mountNode = props.getPopupContainer ? props.getPopupContainer(findDOMNode(this)) : props.getDocument().body;\n mountNode.appendChild(popupContainer);\n return popupContainer;\n };\n\n setPopupVisible(popupVisible) {\n this.clearDelayTimer();\n if (this.state.popupVisible !== popupVisible) {\n if (!('popupVisible' in this.props)) {\n this.setState({\n popupVisible,\n });\n }\n this.props.onPopupVisibleChange(popupVisible);\n }\n }\n\n handlePortalUpdate = () => {\n if (this.prevPopupVisible !== this.state.popupVisible) {\n this.props.afterPopupVisibleChange(this.state.popupVisible);\n }\n };\n\n delaySetPopupVisible(visible, delayS) {\n const delay = delayS * 1000;\n this.clearDelayTimer();\n if (delay) {\n this.delayTimer = setTimeout(() => {\n this.setPopupVisible(visible);\n this.clearDelayTimer();\n }, delay);\n } else {\n this.setPopupVisible(visible);\n }\n }\n\n clearDelayTimer() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n }\n\n clearOutsideHandler() {\n if (this.clickOutsideHandler) {\n this.clickOutsideHandler.remove();\n this.clickOutsideHandler = null;\n }\n\n if (this.contextMenuOutsideHandler1) {\n this.contextMenuOutsideHandler1.remove();\n this.contextMenuOutsideHandler1 = null;\n }\n\n if (this.contextMenuOutsideHandler2) {\n this.contextMenuOutsideHandler2.remove();\n this.contextMenuOutsideHandler2 = null;\n }\n\n if (this.touchOutsideHandler) {\n this.touchOutsideHandler.remove();\n this.touchOutsideHandler = null;\n }\n }\n\n createTwoChains(event) {\n const childPros = this.props.children.props;\n const props = this.props;\n if (childPros[event] && props[event]) {\n return this[`fire${event}`];\n }\n return childPros[event] || props[event];\n }\n\n isClickToShow() {\n const { action, showAction } = this.props;\n return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;\n }\n\n isContextMenuToShow() {\n const { action, showAction } = this.props;\n return action.indexOf('contextMenu') !== -1 || showAction.indexOf('contextMenu') !== -1;\n }\n\n isClickToHide() {\n const { action, hideAction } = this.props;\n return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;\n }\n\n isMouseEnterToShow() {\n const { action, showAction } = this.props;\n return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;\n }\n\n isMouseLeaveToHide() {\n const { action, hideAction } = this.props;\n return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;\n }\n\n isFocusToShow() {\n const { action, showAction } = this.props;\n return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;\n }\n\n isBlurToHide() {\n const { action, hideAction } = this.props;\n return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;\n }\n\n forcePopupAlign() {\n if (this.state.popupVisible && this._component && this._component.alignInstance) {\n this._component.alignInstance.forceAlign();\n }\n }\n\n fireEvents(type, e) {\n const childCallback = this.props.children.props[type];\n if (childCallback) {\n childCallback(e);\n }\n const callback = this.props[type];\n if (callback) {\n callback(e);\n }\n }\n\n close() {\n this.setPopupVisible(false);\n }\n\n savePopup = (node) => {\n this._component = node;\n };\n\n render() {\n const { popupVisible } = this.state;\n const props = this.props;\n const children = props.children;\n const child = Children.only(children);\n const newChildProps = { key: 'trigger' };\n\n if (this.isContextMenuToShow()) {\n newChildProps.onContextMenu = this.onContextMenu;\n } else {\n newChildProps.onContextMenu = this.createTwoChains('onContextMenu');\n }\n\n if (this.isClickToHide() || this.isClickToShow()) {\n newChildProps.onClick = this.onClick;\n newChildProps.onMouseDown = this.onMouseDown;\n newChildProps.onTouchStart = this.onTouchStart;\n } else {\n newChildProps.onClick = this.createTwoChains('onClick');\n newChildProps.onMouseDown = this.createTwoChains('onMouseDown');\n newChildProps.onTouchStart = this.createTwoChains('onTouchStart');\n }\n if (this.isMouseEnterToShow()) {\n newChildProps.onMouseEnter = this.onMouseEnter;\n } else {\n newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');\n }\n if (this.isMouseLeaveToHide()) {\n newChildProps.onMouseLeave = this.onMouseLeave;\n } else {\n newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');\n }\n if (this.isFocusToShow() || this.isBlurToHide()) {\n newChildProps.onFocus = this.onFocus;\n newChildProps.onBlur = this.onBlur;\n } else {\n newChildProps.onFocus = this.createTwoChains('onFocus');\n newChildProps.onBlur = this.createTwoChains('onBlur');\n }\n\n const trigger = cloneElement(child, newChildProps);\n\n if (!IS_REACT_16) {\n return (\n <ContainerRender\n parent={this}\n visible={popupVisible}\n autoMount={false}\n forceRender={props.forceRender}\n getComponent={this.getComponent}\n getContainer={this.getContainer}\n >\n {({ renderComponent }) => {\n this.renderComponent = renderComponent;\n return trigger;\n }}\n </ContainerRender>\n );\n }\n\n let portal;\n // prevent unmounting after it's rendered\n if (popupVisible || this._component || props.forceRender) {\n portal = (\n <Portal\n key=\"portal\"\n getContainer={this.getContainer}\n didUpdate={this.handlePortalUpdate}\n >\n {this.getComponent()}\n </Portal>\n );\n }\n\n return [\n trigger,\n portal,\n ];\n }\n}\n","function isPointsEq(a1, a2) {\n return a1[0] === a2[0] && a1[1] === a2[1];\n}\n\nexport function getAlignFromPlacement(builtinPlacements, placementStr, align) {\n const baseAlign = builtinPlacements[placementStr] || {};\n return {\n ...baseAlign,\n ...align,\n };\n}\n\nexport function getPopupClassNameFromAlign(builtinPlacements, prefixCls, align) {\n const points = align.points;\n for (const placement in builtinPlacements) {\n if (builtinPlacements.hasOwnProperty(placement)) {\n if (isPointsEq(builtinPlacements[placement].points, points)) {\n return `${prefixCls}-placement-${placement}`;\n }\n }\n }\n return '';\n}\n\nexport function saveRef(name, component) {\n this[name] = component;\n}\n","/* eslint react/no-is-mounted:0 react/sort-comp:0 */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport defaultRequest from './request';\nimport getUid from './uid';\nimport attrAccept from './attr-accept';\n\nclass AjaxUploader extends Component {\n static propTypes = {\n component: PropTypes.string,\n style: PropTypes.object,\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n multiple: PropTypes.bool,\n disabled: PropTypes.bool,\n accept: PropTypes.string,\n children: PropTypes.any,\n onStart: PropTypes.func,\n data: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n ]),\n headers: PropTypes.object,\n beforeUpload: PropTypes.func,\n customRequest: PropTypes.func,\n onProgress: PropTypes.func,\n withCredentials: PropTypes.bool,\n }\n\n state = { uid: getUid() }\n\n reqs = {}\n\n onChange = e => {\n const files = e.target.files;\n this.uploadFiles(files);\n this.reset();\n }\n\n onClick = () => {\n const el = this.fileInput;\n if (!el) {\n return;\n }\n el.click();\n }\n\n onKeyDown = e => {\n if (e.key === 'Enter') {\n this.onClick();\n }\n }\n\n onFileDrop = e => {\n if (e.type === 'dragover') {\n e.preventDefault();\n return;\n }\n const files = Array.prototype.slice.call(e.dataTransfer.files).filter(\n file => attrAccept(file, this.props.accept)\n );\n this.uploadFiles(files);\n\n e.preventDefault();\n }\n\n componentDidMount() {\n this._isMounted = true;\n }\n\n componentWillUnmount() {\n this._isMounted = false;\n this.abort();\n }\n\n uploadFiles(files) {\n const postFiles = Array.prototype.slice.call(files);\n postFiles.forEach((file) => {\n file.uid = getUid();\n this.upload(file, postFiles);\n });\n }\n\n upload(file, fileList) {\n const { props } = this;\n if (!props.beforeUpload) {\n // always async in case use react state to keep fileList\n return setTimeout(() => this.post(file), 0);\n }\n\n const before = props.beforeUpload(file, fileList);\n if (before && before.then) {\n before.then((processedFile) => {\n const processedFileType = Object.prototype.toString.call(processedFile);\n if (processedFileType === '[object File]' || processedFileType === '[object Blob]') {\n this.post(processedFile);\n } else {\n this.post(file);\n }\n }).catch(e => {\n console && console.log(e); // eslint-disable-line\n });\n } else if (before !== false) {\n setTimeout(() => this.post(file), 0);\n }\n }\n\n post(file) {\n if (!this._isMounted) {\n return;\n }\n const { props } = this;\n let { data } = props;\n const { onStart, onProgress } = props;\n if (typeof data === 'function') {\n data = data(file);\n }\n const { uid } = file;\n const request = props.customRequest || defaultRequest;\n this.reqs[uid] = request({\n action: props.action,\n filename: props.name,\n file,\n data,\n headers: props.headers,\n withCredentials: props.withCredentials,\n onProgress: onProgress ? e => {\n onProgress(e, file);\n } : null,\n onSuccess: (ret, xhr) => {\n delete this.reqs[uid];\n props.onSuccess(ret, file, xhr);\n },\n onError: (err, ret) => {\n delete this.reqs[uid];\n props.onError(err, ret, file);\n },\n });\n onStart(file);\n }\n\n reset() {\n this.setState({\n uid: getUid(),\n });\n }\n\n abort(file) {\n const { reqs } = this;\n if (file) {\n let uid = file;\n if (file && file.uid) {\n uid = file.uid;\n }\n if (reqs[uid]) {\n reqs[uid].abort();\n delete reqs[uid];\n }\n } else {\n Object.keys(reqs).forEach((uid) => {\n if (reqs[uid]) {\n reqs[uid].abort();\n }\n\n delete reqs[uid];\n });\n }\n }\n\n saveFileInput = (node) => {\n this.fileInput = node;\n }\n\n render() {\n const {\n component: Tag, prefixCls, className, disabled,\n style, multiple, accept, children,\n } = this.props;\n const cls = classNames({\n [prefixCls]: true,\n [`${prefixCls}-disabled`]: disabled,\n [className]: className,\n });\n const events = disabled ? {} : {\n onClick: this.onClick,\n onKeyDown: this.onKeyDown,\n onDrop: this.onFileDrop,\n onDragOver: this.onFileDrop,\n tabIndex: '0',\n };\n return (\n <Tag\n {...events}\n className={cls}\n role=\"button\"\n style={style}\n >\n <input\n type=\"file\"\n ref={this.saveFileInput}\n key={this.state.uid}\n style={{ display: 'none' }}\n accept={accept}\n multiple={multiple}\n onChange={this.onChange}\n />\n {children}\n </Tag>\n );\n }\n}\n\nexport default AjaxUploader;\n","/* eslint react/sort-comp:0 */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport classNames from 'classnames';\nimport getUid from './uid';\nimport warning from '../../_util/warning';\n\nconst IFRAME_STYLE = {\n position: 'absolute',\n top: 0,\n opacity: 0,\n filter: 'alpha(opacity=0)',\n left: 0,\n zIndex: 9999,\n};\n\n// diferent from AjaxUpload, can only upload on at one time, serial seriously\nclass IframeUploader extends Component {\n static propTypes = {\n component: PropTypes.string,\n style: PropTypes.object,\n disabled: PropTypes.bool,\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n accept: PropTypes.string,\n onStart: PropTypes.func,\n multiple: PropTypes.bool,\n children: PropTypes.any,\n data: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n ]),\n action: PropTypes.string,\n name: PropTypes.string,\n }\n\n state = { uploading: false }\n\n file = {}\n\n onLoad = () => {\n if (!this.state.uploading) {\n return;\n }\n const { props, file } = this;\n let response;\n try {\n const doc = this.getIframeDocument();\n const script = doc.getElementsByTagName('script')[0];\n if (script && script.parentNode === doc.body) {\n doc.body.removeChild(script);\n }\n response = doc.body.innerHTML;\n props.onSuccess(response, file);\n } catch (err) {\n warning(false, 'cross domain error for Upload. Maybe server should return document.domain script. see Note from https://github.com/react-component/upload');\n response = 'cross-domain';\n props.onError(err, null, file);\n }\n this.endUpload();\n }\n\n onChange = () => {\n const target = this.getFormInputNode();\n // ie8/9 don't support FileList Object\n // http://stackoverflow.com/questions/12830058/ie8-input-type-file-get-files\n const file = this.file = {\n uid: getUid(),\n name: target.value,\n };\n this.startUpload();\n const { props } = this;\n if (!props.beforeUpload) {\n return this.post(file);\n }\n const before = props.beforeUpload(file);\n if (before && before.then) {\n before.then(() => {\n this.post(file);\n }, () => {\n this.endUpload();\n });\n } else if (before !== false) {\n this.post(file);\n } else {\n this.endUpload();\n }\n }\n\n componentDidMount() {\n this.updateIframeWH();\n this.initIframe();\n }\n\n componentDidUpdate() {\n this.updateIframeWH();\n }\n\n getIframeNode() {\n return this.iframe;\n }\n\n getIframeDocument() {\n return this.getIframeNode().contentDocument;\n }\n\n getFormNode() {\n return this.getIframeDocument().getElementById('form');\n }\n\n getFormInputNode() {\n return this.getIframeDocument().getElementById('input');\n }\n\n getFormDataNode() {\n return this.getIframeDocument().getElementById('data');\n }\n\n getFileForMultiple(file) {\n return this.props.multiple ? [file] : file;\n }\n\n getIframeHTML(domain) {\n let domainScript = '';\n let domainInput = '';\n if (domain) {\n const script = 'script';\n domainScript = `<${script}>document.domain=\"${domain}\";</${script}>`;\n domainInput = `<input name=\"_documentDomain\" value=\"${domain}\" />`;\n }\n return `\n <!DOCTYPE html>\n <html>\n <head>\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n <style>\n body,html {padding:0;margin:0;border:0;overflow:hidden;}\n </style>\n ${domainScript}\n </head>\n <body>\n <form method=\"post\"\n encType=\"multipart/form-data\"\n action=\"${this.props.action}\" id=\"form\"\n style=\"display:block;height:9999px;position:relative;overflow:hidden;\">\n <input id=\"input\" type=\"file\"\n name=\"${this.props.name}\"\n style=\"position:absolute;top:0;right:0;height:9999px;font-size:9999px;cursor:pointer;\"/>\n ${domainInput}\n <span id=\"data\"></span>\n </form>\n </body>\n </html>\n `;\n }\n\n initIframeSrc() {\n if (this.domain) {\n this.getIframeNode().src = `javascript:void((function(){\n var d = document;\n d.open();\n d.domain='${this.domain}';\n d.write('');\n d.close();\n })())`;\n }\n }\n\n initIframe() {\n const iframeNode = this.getIframeNode();\n let win = iframeNode.contentWindow;\n let doc;\n this.domain = this.domain || '';\n this.initIframeSrc();\n try {\n doc = win.document;\n } catch (e) {\n this.domain = document.domain;\n this.initIframeSrc();\n win = iframeNode.contentWindow;\n doc = win.document;\n }\n doc.open('text/html', 'replace');\n doc.write(this.getIframeHTML(this.domain));\n doc.close();\n this.getFormInputNode().onchange = this.onChange;\n }\n\n endUpload() {\n if (this.state.uploading) {\n this.file = {};\n // hack avoid batch\n this.state.uploading = false;\n this.setState({\n uploading: false,\n });\n this.initIframe();\n }\n }\n\n startUpload() {\n if (!this.state.uploading) {\n this.state.uploading = true;\n this.setState({\n uploading: true,\n });\n }\n }\n\n updateIframeWH() {\n const rootNode = ReactDOM.findDOMNode(this);\n const iframeNode = this.getIframeNode();\n iframeNode.style.height = `${rootNode.offsetHeight}px`;\n iframeNode.style.width = `${rootNode.offsetWidth}px`;\n }\n\n abort(file) {\n if (file) {\n let uid = file;\n if (file && file.uid) {\n uid = file.uid;\n }\n if (uid === this.file.uid) {\n this.endUpload();\n }\n } else {\n this.endUpload();\n }\n }\n\n post(file) {\n const formNode = this.getFormNode();\n const dataSpan = this.getFormDataNode();\n let { data } = this.props;\n const { onStart } = this.props;\n if (typeof data === 'function') {\n data = data(file);\n }\n const inputs = document.createDocumentFragment();\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n const input = document.createElement('input');\n input.setAttribute('name', key);\n input.value = data[key];\n inputs.appendChild(input);\n }\n }\n dataSpan.appendChild(inputs);\n formNode.submit();\n dataSpan.innerHTML = '';\n onStart(file);\n }\n\n saveIframe = (node) => {\n this.iframe = node;\n }\n\n render() {\n const {\n component: Tag, disabled, className,\n prefixCls, children, style,\n } = this.props;\n const iframeStyle = {\n ...IFRAME_STYLE,\n display: this.state.uploading || disabled ? 'none' : '',\n };\n const cls = classNames({\n [prefixCls]: true,\n [`${prefixCls}-disabled`]: disabled,\n [className]: className,\n });\n return (\n <Tag\n className={cls}\n style={{ position: 'relative', zIndex: 0, ...style }}\n >\n <iframe\n ref={this.saveIframe}\n onLoad={this.onLoad}\n style={iframeStyle}\n />\n {children}\n </Tag>\n );\n }\n}\n\nexport default IframeUploader;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport AjaxUpload from './AjaxUploader';\nimport IframeUpload from './IframeUploader';\n\nfunction empty() {\n}\n\nclass Upload extends Component {\n static propTypes = {\n component: PropTypes.string,\n style: PropTypes.object,\n prefixCls: PropTypes.string,\n action: PropTypes.string,\n name: PropTypes.string,\n multipart: PropTypes.bool,\n onError: PropTypes.func,\n onSuccess: PropTypes.func,\n onProgress: PropTypes.func,\n onStart: PropTypes.func,\n data: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n ]),\n headers: PropTypes.object,\n accept: PropTypes.string,\n multiple: PropTypes.bool,\n disabled: PropTypes.bool,\n beforeUpload: PropTypes.func,\n customRequest: PropTypes.func,\n onReady: PropTypes.func,\n withCredentials: PropTypes.bool,\n supportServerRender: PropTypes.bool,\n }\n\n static defaultProps = {\n component: 'span',\n prefixCls: 'rc-upload',\n data: {},\n headers: {},\n name: 'file',\n multipart: false,\n onReady: empty,\n onStart: empty,\n onError: empty,\n onSuccess: empty,\n supportServerRender: false,\n multiple: false,\n beforeUpload: null,\n customRequest: null,\n withCredentials: false,\n }\n\n state = {\n Component: null,\n }\n\n componentDidMount() {\n if (this.props.supportServerRender) {\n /* eslint react/no-did-mount-set-state:0 */\n this.setState({\n Component: this.getComponent(),\n }, this.props.onReady);\n }\n }\n\n getComponent() {\n return typeof File !== 'undefined' ? AjaxUpload : IframeUpload;\n }\n\n abort(file) {\n this.uploader.abort(file);\n }\n\n saveUploader = (node) => {\n this.uploader = node;\n }\n\n render() {\n if (this.props.supportServerRender) {\n const ComponentUploader = this.state.Component;\n if (ComponentUploader) {\n return <ComponentUploader {...this.props} ref={this.saveUploader} />;\n }\n return null;\n }\n const ComponentUploader = this.getComponent();\n return <ComponentUploader {...this.props} ref={this.saveUploader} />;\n }\n}\n\nexport default Upload;\n","function endsWith(str, suffix) {\n return str.indexOf(suffix, str.length - suffix.length) !== -1;\n}\n\nexport default (file, acceptedFiles) => {\n if (file && acceptedFiles) {\n const acceptedFilesArray = Array.isArray(acceptedFiles)\n ? acceptedFiles\n : acceptedFiles.split(',');\n const fileName = file.name || '';\n const mimeType = file.type || '';\n const baseMimeType = mimeType.replace(/\\/.*$/, '');\n\n return acceptedFilesArray.some(type => {\n const validType = type.trim();\n if (validType.charAt(0) === '.') {\n return endsWith(fileName.toLowerCase(), validType.toLowerCase());\n } else if (/\\/\\*$/.test(validType)) {\n // This is something like a image/* mime type\n return baseMimeType === validType.replace(/\\/.*$/, '');\n }\n return mimeType === validType;\n });\n }\n return true;\n};\n","// export this package's api\nimport Upload from './Upload';\n\nexport default Upload;\n","function getError(option, xhr) {\n const msg = `cannot post ${option.action} ${xhr.status}'`;\n const err = new Error(msg);\n err.status = xhr.status;\n err.method = 'post';\n err.url = option.action;\n return err;\n}\n\nfunction getBody(xhr) {\n const text = xhr.responseText || xhr.response;\n if (!text) {\n return text;\n }\n\n try {\n return JSON.parse(text);\n } catch (e) {\n return text;\n }\n}\n\n// option {\n// onProgress: (event: { percent: number }): void,\n// onError: (event: Error, body?: Object): void,\n// onSuccess: (body: Object): void,\n// data: Object,\n// filename: String,\n// file: File,\n// withCredentials: Boolean,\n// action: String,\n// headers: Object,\n// }\nexport default function upload(option) {\n const xhr = new XMLHttpRequest();\n\n if (option.onProgress && xhr.upload) {\n xhr.upload.onprogress = function progress(e) {\n if (e.total > 0) {\n e.percent = e.loaded / e.total * 100;\n }\n option.onProgress(e);\n };\n }\n\n const formData = new FormData();\n\n if (option.data) {\n Object.keys(option.data).map(key => {\n formData.append(key, option.data[key]);\n });\n }\n\n formData.append(option.filename, option.file);\n\n xhr.onerror = function error(e) {\n option.onError(e);\n };\n\n xhr.onload = function onload() {\n // allow success when 2xx status\n // see https://github.com/react-component/upload/issues/34\n if (xhr.status < 200 || xhr.status >= 300) {\n return option.onError(getError(option, xhr), getBody(xhr));\n }\n\n option.onSuccess(getBody(xhr), xhr);\n };\n\n\n xhr.open('post', option.action, true);\n\n // Has to be after `.open()`. See https://github.com/enyo/dropzone/issues/179\n if (option.withCredentials && 'withCredentials' in xhr) {\n xhr.withCredentials = true;\n }\n\n const headers = option.headers || {};\n\n // when set headers['X-Requested-With'] = null , can close default XHR header\n // see https://github.com/react-component/upload/issues/33\n if (headers['X-Requested-With'] !== null) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n for (const h in headers) {\n if (headers.hasOwnProperty(h) && headers[h] !== null) {\n xhr.setRequestHeader(h, headers[h]);\n }\n }\n xhr.send(formData);\n\n return {\n abort() {\n xhr.abort();\n },\n };\n}\n","const now = +(new Date());\nlet index = 0;\n\nexport default function uid() {\n return `rc-upload-${now}-${++index}`;\n}\n","import { Children } from 'react';\n\nfunction mirror(o) {\n return o;\n}\n\nexport default function mapSelf(children) {\n // return ReactFragment\n return Children.map(children, mirror);\n}\n","import { Children } from 'react';\n\nexport default function toArray(children) {\n const ret = [];\n Children.forEach(children, (c) => {\n ret.push(c);\n });\n return ret;\n}\n","import React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\n\nexport default class ContainerRender extends Component {\n static propTypes = {\n autoMount: PropTypes.bool,\n autoDestroy: PropTypes.bool,\n visible: PropTypes.bool,\n forceRender: PropTypes.bool,\n parent: PropTypes.any,\n getComponent: PropTypes.func.isRequired,\n getContainer: PropTypes.func.isRequired,\n children: PropTypes.func.isRequired,\n }\n\n static defaultProps = {\n autoMount: true,\n autoDestroy: true,\n forceRender: false,\n }\n\n componentDidMount() {\n if (this.props.autoMount) {\n this.renderComponent();\n }\n }\n\n componentDidUpdate() {\n if (this.props.autoMount) {\n this.renderComponent();\n }\n }\n\n componentWillUnmount() {\n if (this.props.autoDestroy) {\n this.removeContainer();\n }\n }\n\n removeContainer = () => {\n if (this.container) {\n ReactDOM.unmountComponentAtNode(this.container);\n this.container.parentNode.removeChild(this.container);\n this.container = null;\n }\n }\n\n renderComponent = (props, ready) => {\n const { visible, getComponent, forceRender, getContainer, parent } = this.props;\n if (visible || parent._component || forceRender) {\n if (!this.container) {\n this.container = getContainer();\n }\n ReactDOM.unstable_renderSubtreeIntoContainer(\n parent,\n getComponent(props),\n this.container,\n function callback() {\n if (ready) {\n ready.call(this);\n }\n }\n );\n }\n }\n\n render() {\n return this.props.children({\n renderComponent: this.renderComponent,\n removeContainer: this.removeContainer,\n });\n }\n}\n","export default function contains(root, n) {\n let node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n\n return false;\n}\n","import React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\n\nexport default class Portal extends Component {\n static propTypes = {\n getContainer: PropTypes.func.isRequired,\n children: PropTypes.node.isRequired,\n didUpdate: PropTypes.func,\n }\n\n componentDidMount() {\n this.createContainer();\n }\n\n componentDidUpdate(prevProps) {\n const { didUpdate } = this.props;\n if (didUpdate) {\n didUpdate(prevProps);\n }\n }\n\n componentWillUnmount() {\n this.removeContainer();\n }\n\n createContainer() {\n this._container = this.props.getContainer();\n this.forceUpdate();\n }\n\n removeContainer() {\n if (this._container) {\n this._container.parentNode.removeChild(this._container);\n }\n }\n\n render() {\n if (this._container) {\n return ReactDOM.createPortal(this.props.children, this._container);\n }\n return null;\n }\n}\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 * @providesModule ReactComponentWithPureRenderMixin\n */\n\nconst shallowEqual = require('lodash/isEqual');\n\nfunction shallowCompare(instance, nextProps, nextState) {\n return !shallowEqual(instance.props, nextProps) || !shallowEqual(instance.state, nextState);\n}\n\n/**\n * If your React component's render function is \"pure\", e.g. it will render the\n * same result given the same props and state, provide this mixin for a\n * considerable performance boost.\n *\n * Most React components have pure render functions.\n *\n * Example:\n *\n * var ReactComponentWithPureRenderMixin =\n * require('ReactComponentWithPureRenderMixin');\n * React.createClass({\n * mixins: [ReactComponentWithPureRenderMixin],\n *\n * render: function() {\n * return <div className={this.props.className}>foo</div>;\n * }\n * });\n *\n * Note: This only checks shallow equality for props and state. If these contain\n * complex data structures this mixin may have false-negatives for deeper\n * differences. Only mixin to components which have simple props and state, or\n * use `forceUpdate()` when you know deep data structures have changed.\n *\n * See https://facebook.github.io/react/docs/pure-render-mixin.html\n */\nconst ReactComponentWithPureRenderMixin = {\n shouldComponentUpdate(nextProps, nextState) {\n return shallowCompare(this, nextProps, nextState);\n },\n};\n\nmodule.exports = ReactComponentWithPureRenderMixin;\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 * @returns {function|null}\n */\nexport default function createChainedFunction() {\n const args = [].slice.call(arguments, 0);\n if (args.length === 1) {\n return args[0];\n }\n\n return function chainedFunction() {\n for (let i = 0; i < args.length; i++) {\n if (args[i] && args[i].apply) {\n args[i].apply(this, arguments);\n }\n }\n };\n}\n","let cached;\n\nexport default function getScrollBarSize(fresh) {\n if (fresh || cached === undefined) {\n const inner = document.createElement('div');\n inner.style.width = '100%';\n inner.style.height = '200px';\n\n const outer = document.createElement('div');\n const outerStyle = outer.style;\n\n outerStyle.position = 'absolute';\n outerStyle.top = 0;\n outerStyle.left = 0;\n outerStyle.pointerEvents = 'none';\n outerStyle.visibility = 'hidden';\n outerStyle.width = '200px';\n outerStyle.height = '150px';\n outerStyle.overflow = 'hidden';\n\n outer.appendChild(inner);\n\n document.body.appendChild(outer);\n\n const widthContained = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n let widthScroll = inner.offsetWidth;\n\n if (widthContained === widthScroll) {\n widthScroll = outer.clientWidth;\n }\n\n document.body.removeChild(outer);\n\n cached = widthContained - widthScroll;\n }\n return cached;\n}\n","import { PureComponent } from 'react';\r\nimport isObject from 'lodash/isObject';\r\nimport { isArrayLike } from 'mobx';\r\nimport { matchMediaPolifill } from '../_util/mediaQueryListPolyfill';\r\nimport { Breakpoint } from './enum';\r\nlet enquire;\r\nif (typeof window !== 'undefined') {\r\n window.matchMedia = window.matchMedia || matchMediaPolifill;\r\n // eslint-disable-next-line global-require\r\n enquire = require('enquire.js');\r\n}\r\nconst responsiveMap = {\r\n [Breakpoint.xxl]: '(min-width: 1600px)',\r\n [Breakpoint.xl]: '(min-width: 1200px)',\r\n [Breakpoint.lg]: '(min-width: 992px)',\r\n [Breakpoint.md]: '(min-width: 768px)',\r\n [Breakpoint.sm]: '(min-width: 576px)',\r\n [Breakpoint.xs]: '(max-width: 575px)',\r\n};\r\nconst responsiveArray = Object.keys(responsiveMap);\r\nexport default class Responsive extends PureComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.state = { breakpoints: {} };\r\n }\r\n isDisabled(props) {\r\n const { disabled, items } = props;\r\n if (!disabled && items) {\r\n return !items.some(isObject);\r\n }\r\n return true;\r\n }\r\n componentDidMount() {\r\n if (!this.isDisabled(this.props)) {\r\n this.register();\r\n }\r\n }\r\n componentDidUpdate() {\r\n const { onChange } = this.props;\r\n if (onChange) {\r\n onChange(this.getValues());\r\n }\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if (this.isDisabled(this.props) && !this.isDisabled(nextProps)) {\r\n this.register();\r\n }\r\n if (!this.isDisabled(this.props) && this.isDisabled(nextProps)) {\r\n this.unregister();\r\n }\r\n }\r\n componentWillUnmount() {\r\n if (!this.isDisabled(this.props)) {\r\n this.unregister();\r\n }\r\n }\r\n register() {\r\n if (enquire) {\r\n responsiveArray.map((breakpoint) => enquire.register(responsiveMap[breakpoint], {\r\n match: () => {\r\n this.setState(prevState => ({\r\n breakpoints: {\r\n ...prevState.breakpoints,\r\n [breakpoint]: true,\r\n },\r\n }));\r\n },\r\n unmatch: () => {\r\n this.setState(prevState => ({\r\n breakpoints: {\r\n ...prevState.breakpoints,\r\n [breakpoint]: false,\r\n },\r\n }));\r\n },\r\n // Keep a empty destory to avoid triggering unmatch when unregister\r\n destroy() { },\r\n }));\r\n }\r\n }\r\n unregister() {\r\n Object.keys(responsiveMap).map((breakpoint) => enquire.unregister(responsiveMap[breakpoint]));\r\n }\r\n processValue(value) {\r\n const { breakpoints } = this.state;\r\n if (isArrayLike(value)) {\r\n return value.map(this.processValue, this);\r\n }\r\n if (isObject(value)) {\r\n for (let i = 0; i < responsiveArray.length; i++) {\r\n const breakpoint = responsiveArray[i];\r\n if (breakpoints[breakpoint] && value[breakpoint] !== undefined) {\r\n return value[breakpoint];\r\n }\r\n }\r\n return undefined;\r\n }\r\n return value;\r\n }\r\n getValues() {\r\n const { items } = this.props;\r\n if (items) {\r\n return items.map(this.processValue, this);\r\n }\r\n return [];\r\n }\r\n render() {\r\n const { children } = this.props;\r\n if (typeof children === 'function') {\r\n return children(this.getValues());\r\n }\r\n return children;\r\n }\r\n}\r\nResponsive.displayName = 'Responsive';\r\n","export var Breakpoint;\r\n(function (Breakpoint) {\r\n Breakpoint[\"xxl\"] = \"xxl\";\r\n Breakpoint[\"xl\"] = \"xl\";\r\n Breakpoint[\"lg\"] = \"lg\";\r\n Breakpoint[\"md\"] = \"md\";\r\n Breakpoint[\"sm\"] = \"sm\";\r\n Breakpoint[\"xs\"] = \"xs\";\r\n})(Breakpoint || (Breakpoint = {}));\r\n","import Responsive from './Responsive';\r\nexport default Responsive;\r\n","import { cloneElement, PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nfunction wrapEvent(element, eventName, callback) {\r\n return e => {\r\n const originalEvent = element.props[eventName];\r\n if (originalEvent) {\r\n originalEvent(e);\r\n }\r\n callback(e);\r\n };\r\n}\r\nexport default class MouseDown extends PureComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.state = {};\r\n this.show = e => {\r\n const { currentTarget } = e;\r\n const pos = currentTarget.getBoundingClientRect();\r\n this.setState({\r\n size: {\r\n x: e.clientX - pos.left,\r\n y: e.clientY - pos.top,\r\n width: currentTarget.clientWidth,\r\n height: currentTarget.clientHeight,\r\n position: document.defaultView && document.defaultView.getComputedStyle(currentTarget).position,\r\n },\r\n });\r\n };\r\n this.hide = () => {\r\n this.setState({\r\n size: undefined,\r\n });\r\n };\r\n }\r\n render() {\r\n const { children, rippleChild } = this.props;\r\n const { size } = this.state;\r\n const element = children(rippleChild, size);\r\n const newProps = {\r\n onMouseDown: wrapEvent(element, 'onMouseDown', this.show),\r\n };\r\n if (size) {\r\n Object.assign(newProps, {\r\n onMouseUp: wrapEvent(element, 'onMouseUp', this.hide),\r\n onMouseLeave: wrapEvent(element, 'onMouseLeave', this.hide),\r\n onDragEnd: wrapEvent(element, 'onDragEnd', this.hide),\r\n });\r\n }\r\n return cloneElement(element, newProps);\r\n }\r\n}\r\nMouseDown.displayName = 'MouseDown';\r\nMouseDown.propTypes = { rippleChild: PropTypes.node };\r\n","import React, { Children, cloneElement, isValidElement, PureComponent, } from 'react';\r\nimport Animate from '../animate';\r\nimport MouseDown from './MouseDown';\r\nexport default class RippleChild extends PureComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.handleMouseDown = (child, size) => {\r\n const { prefixCls } = this.props;\r\n const { children, style } = child.props;\r\n const componentProps = {\r\n className: `${prefixCls}-wrapper`,\r\n };\r\n if (size) {\r\n const { x, y, width, height } = size;\r\n const maxWidth = Math.max(width - x, x);\r\n const maxHeight = Math.max(height - y, y);\r\n const max = Math.sqrt(maxWidth * maxWidth + maxHeight * maxHeight);\r\n this.currentCircleStyle = {\r\n width: max + max,\r\n height: max + max,\r\n left: x - max,\r\n top: y - max,\r\n };\r\n }\r\n const newProps = {\r\n children: [\r\n children,\r\n <Animate key=\"ripple\" component=\"div\" componentProps={componentProps} transitionName={size ? 'zoom-small-slow' : 'fade'} hiddenProp=\"hidden\">\n {this.currentCircleStyle && (<div hidden={!size} className={prefixCls} key=\"circle\" style={this.currentCircleStyle}/>)}\n </Animate>,\r\n ],\r\n style: this.currentStyle || style,\r\n };\r\n if (size && size.position === 'static') {\r\n newProps.style = { ...style, position: 'relative' };\r\n this.currentStyle = newProps.style;\r\n }\r\n return cloneElement(child, newProps);\r\n };\r\n this.ripple = (child) => {\r\n if (isValidElement(child)) {\r\n return <MouseDown rippleChild={child}>{this.handleMouseDown}</MouseDown>;\r\n }\r\n return child;\r\n };\r\n }\r\n render() {\r\n const { children } = this.props;\r\n return this.ripple(Children.only(children));\r\n }\r\n}\r\nRippleChild.displayName = 'RippleChild';\r\n","import React, { Children, PureComponent } from 'react';\r\nimport RippleChild from './RippleChild';\r\nimport { getConfig, getPrefixCls } from '../configure';\r\nexport default class Ripple extends PureComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.rippleChild = (child) => {\r\n const { prefixCls } = this.props;\r\n return <RippleChild prefixCls={getPrefixCls('ripple', prefixCls)}>{child}</RippleChild>;\r\n };\r\n }\r\n render() {\r\n const { disabled, children } = this.props;\r\n if (disabled || !children || !getConfig('ripple')) {\r\n return children;\r\n }\r\n return Children.map(children, this.rippleChild);\r\n }\r\n}\r\nRipple.displayName = 'Ripple';\r\n","import { Row, RowProps } from '../grid';\r\nexport { RowProps };\r\nexport default Row;\r\n","export var SelectMode;\r\n(function (SelectMode) {\r\n SelectMode[\"default\"] = \"default\";\r\n SelectMode[\"multiple\"] = \"multiple\";\r\n SelectMode[\"tags\"] = \"tags\";\r\n SelectMode[\"combobox\"] = \"combobox\";\r\n})(SelectMode || (SelectMode = {}));\r\n","import React, { Component, } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Size } from '../_util/enum';\r\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\r\nimport defaultLocale from '../locale-provider/default';\r\nimport RcSelect, { OptGroup, Option } from '../rc-components/select';\r\nimport { SelectMode } from './enum';\r\nimport { getPrefixCls } from '../configure';\r\n// => It is needless to export the declaration of below two inner components.\r\n// export { Option, OptGroup };\r\nexport default class Select extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.saveSelect = (node) => {\r\n this.rcSelect = node;\r\n };\r\n this.renderSelect = (locale) => {\r\n const { prefixCls: customizePrefixCls, className = '', size, mode, ...restProps } = this.props;\r\n const prefixCls = getPrefixCls('select', customizePrefixCls);\r\n const cls = classNames({\r\n [`${prefixCls}-lg`]: size === Size.large,\r\n [`${prefixCls}-sm`]: size === Size.small,\r\n }, className);\r\n let { optionLabelProp } = this.props;\r\n const isCombobox = mode === SelectMode.combobox;\r\n if (isCombobox) {\r\n // children 带 dom 结构时,无法填入输入框\r\n optionLabelProp = optionLabelProp || 'value';\r\n }\r\n const modeConfig = {\r\n multiple: mode === SelectMode.multiple,\r\n tags: mode === SelectMode.tags,\r\n combobox: isCombobox,\r\n };\r\n return (<RcSelect {...restProps} {...modeConfig} prefixCls={prefixCls} className={cls} optionLabelProp={optionLabelProp || 'children'} filterPlaceholder={locale.filterPlaceholder} notFoundContent={this.getNotFoundContent(locale)} ref={this.saveSelect}/>);\r\n };\r\n }\r\n focus() {\r\n this.rcSelect.focus();\r\n }\r\n blur() {\r\n this.rcSelect.blur();\r\n }\r\n getNotFoundContent(locale) {\r\n const { notFoundContent, mode } = this.props;\r\n const isCombobox = mode === SelectMode.combobox;\r\n if (isCombobox) {\r\n // AutoComplete don't have notFoundContent defaultly\r\n return notFoundContent === undefined ? null : notFoundContent;\r\n }\r\n return notFoundContent === undefined ? locale.notFoundContent : notFoundContent;\r\n }\r\n render() {\r\n return (<LocaleReceiver componentName=\"Select\" defaultLocale={defaultLocale.Select}>\n {this.renderSelect}\n </LocaleReceiver>);\r\n }\r\n}\r\nSelect.displayName = 'Select';\r\nSelect.Option = Option;\r\nSelect.OptGroup = OptGroup;\r\nSelect.defaultProps = {\r\n blurChange: true,\r\n showSearch: false,\r\n transitionName: 'slide-up',\r\n choiceTransitionName: 'zoom',\r\n filter: false,\r\n showCheckAll: true,\r\n choiceRemove: true,\r\n border: true,\r\n};\r\nSelect.propTypes = {\r\n prefixCls: PropTypes.string,\r\n className: PropTypes.string,\r\n size: PropTypes.oneOf([Size.default, Size.large, Size.small]),\r\n combobox: PropTypes.bool,\r\n notFoundContent: PropTypes.any,\r\n showSearch: PropTypes.bool,\r\n optionLabelProp: PropTypes.string,\r\n transitionName: PropTypes.string,\r\n choiceTransitionName: PropTypes.string,\r\n showNotFindInputItem: PropTypes.bool,\r\n showNotFindSelectedItem: PropTypes.bool,\r\n filter: PropTypes.bool,\r\n showCheckAll: PropTypes.bool,\r\n footer: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\r\n choiceRender: PropTypes.func,\r\n loading: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\r\n filterValue: PropTypes.string,\r\n onFilterChange: PropTypes.func,\r\n choiceRemove: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\r\n onChoiceRemove: PropTypes.func,\r\n onClear: PropTypes.func,\r\n border: PropTypes.bool,\r\n blurChange: PropTypes.bool,\r\n};\r\n","import React, { Component } from 'react';\r\nimport Tooltip from '../tooltip';\r\nimport RcSlider, { Handle as RcHandle, Range as RcRange } from '../rc-components/slider';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Slider extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.toggleTooltipVisible = (index, visible) => {\r\n this.setState(({ visibles }) => ({\r\n visibles: {\r\n ...visibles,\r\n [index]: visible,\r\n },\r\n }));\r\n };\r\n this.handleWithTooltip = ({ value, dragging, index, ...restProps }) => {\r\n const { tooltipPrefixCls: customizeTooltipPrefixCls, tipFormatter } = this.props;\r\n const tooltipPrefixCls = getPrefixCls('tooltip', customizeTooltipPrefixCls);\r\n const { visibles } = this.state;\r\n const visible = tipFormatter ? visibles[index] || dragging : false;\r\n return (<Tooltip prefixCls={tooltipPrefixCls} title={tipFormatter ? tipFormatter(value) : ''} visible={visible} placement=\"top\" transitionName=\"zoom-down\" key={index}>\n <RcHandle {...restProps} value={value} onMouseEnter={() => this.toggleTooltipVisible(index, true)} onMouseLeave={() => this.toggleTooltipVisible(index, false)}/>\n </Tooltip>);\r\n };\r\n this.saveSlider = (node) => {\r\n this.rcSlider = node;\r\n };\r\n this.state = {\r\n visibles: {},\r\n };\r\n }\r\n focus() {\r\n this.rcSlider.focus();\r\n }\r\n blur() {\r\n this.rcSlider.focus();\r\n }\r\n render() {\r\n const { range, prefixCls: customizePrefixCls, ...restProps } = this.props;\r\n const prefixCls = getPrefixCls('slider', customizePrefixCls);\r\n if (range) {\r\n return (<RcRange {...restProps} ref={this.saveSlider} handle={this.handleWithTooltip} prefixCls={prefixCls}/>);\r\n }\r\n return (<RcSlider {...restProps} ref={this.saveSlider} handle={this.handleWithTooltip} prefixCls={prefixCls}/>);\r\n }\r\n}\r\nSlider.displayName = 'Slider';\r\nSlider.defaultProps = {\r\n tipFormatter(value) {\r\n return value.toString();\r\n },\r\n};\r\n","import React, { cloneElement, Component, isValidElement } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport omit from 'lodash/omit';\r\nimport isCssAnimationSupported from '../_util/isCssAnimationSupported';\r\nimport Animate from '../animate';\r\nimport Progress from '../progress/progress';\r\nimport { Size } from '../_util/enum';\r\nimport { ProgressType } from '../progress/enum';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Spin extends Component {\r\n constructor(props) {\r\n super(props);\r\n const spinning = props.spinning;\r\n this.state = {\r\n spinning,\r\n };\r\n }\r\n componentDidMount() {\r\n if (!isCssAnimationSupported()) {\r\n // Show text in IE9\r\n this.setState({\r\n notCssAnimationSupported: true,\r\n });\r\n }\r\n }\r\n componentWillUnmount() {\r\n if (this.debounceTimeout) {\r\n clearTimeout(this.debounceTimeout);\r\n }\r\n if (this.delayTimeout) {\r\n clearTimeout(this.delayTimeout);\r\n }\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n const { spinning: currentSpinning } = this.props;\r\n const spinning = nextProps.spinning;\r\n const { delay } = this.props;\r\n if (this.debounceTimeout) {\r\n clearTimeout(this.debounceTimeout);\r\n }\r\n if (currentSpinning && !spinning) {\r\n this.debounceTimeout = window.setTimeout(() => this.setState({ spinning }), 200);\r\n if (this.delayTimeout) {\r\n clearTimeout(this.delayTimeout);\r\n }\r\n }\r\n else if (spinning && delay && !isNaN(Number(delay))) {\r\n if (this.delayTimeout) {\r\n clearTimeout(this.delayTimeout);\r\n }\r\n this.delayTimeout = window.setTimeout(() => this.setState({ spinning }), delay);\r\n }\r\n else {\r\n this.setState({ spinning });\r\n }\r\n }\r\n getIndicatorWidth(size) {\r\n switch (size) {\r\n case Size.small:\r\n return 20;\r\n case Size.large:\r\n return 50;\r\n default:\r\n return 30;\r\n }\r\n }\r\n renderIndicator(prefixCls) {\r\n const { indicator, size } = this.props;\r\n const dotClassName = `${prefixCls}-dot`;\r\n if (isValidElement(indicator)) {\r\n return cloneElement(indicator, {\r\n className: classNames(indicator.props.className, dotClassName),\r\n });\r\n }\r\n return (<Progress width={this.getIndicatorWidth(size)} className={dotClassName} type={ProgressType.loading}/>);\r\n }\r\n render() {\r\n const { className, size, prefixCls: customizePrefixCls, tip, wrapperClassName, children, style, ...restProps } = this.props;\r\n const { spinning, notCssAnimationSupported } = this.state;\r\n const prefixCls = getPrefixCls('spin', customizePrefixCls);\r\n const spinClassName = classNames(prefixCls, {\r\n [`${prefixCls}-sm`]: size === Size.small,\r\n [`${prefixCls}-lg`]: size === Size.large,\r\n [`${prefixCls}-spinning`]: spinning,\r\n [`${prefixCls}-show-text`]: !!tip || notCssAnimationSupported,\r\n }, className);\r\n // fix https://fb.me/react-unknown-prop\r\n const divProps = omit(restProps, ['spinning', 'delay', 'indicator']);\r\n const spinElement = (<div {...divProps} className={spinClassName} style={style} key=\"loading\">\n {this.renderIndicator(prefixCls)}\n {tip ? <div className={`${prefixCls}-text`}>{tip}</div> : null}\n </div>);\r\n if (children) {\r\n let animateClassName = `${prefixCls}-nested-loading`;\r\n if (wrapperClassName) {\r\n animateClassName += ` ${wrapperClassName}`;\r\n }\r\n const containerClassName = classNames({\r\n [`${prefixCls}-container`]: true,\r\n [`${prefixCls}-blur`]: spinning,\r\n });\r\n return (<Animate {...divProps} component=\"div\" className={animateClassName} transitionName=\"fade\">\n {spinning && spinElement}\n <div className={containerClassName} key=\"container\">\n {children}\n </div>\n </Animate>);\r\n }\r\n return spinElement;\r\n }\r\n}\r\nSpin.displayName = 'Spin';\r\nSpin.defaultProps = {\r\n spinning: true,\r\n size: Size.default,\r\n wrapperClassName: '',\r\n};\r\nSpin.propTypes = {\r\n prefixCls: PropTypes.string,\r\n className: PropTypes.string,\r\n spinning: PropTypes.bool,\r\n size: PropTypes.oneOf([Size.small, Size.default, Size.large]),\r\n wrapperClassName: PropTypes.string,\r\n indicator: PropTypes.node,\r\n};\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport RcSteps, { Step } from '../rc-components/steps';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Steps extends Component {\r\n render() {\r\n const { props } = this;\r\n return <RcSteps {...props} prefixCls={getPrefixCls('steps', props.prefixCls)}/>;\r\n }\r\n}\r\nSteps.displayName = 'Steps';\r\nSteps.Step = Step;\r\nSteps.defaultProps = {\r\n iconPrefix: 'icon',\r\n current: 0,\r\n};\r\nSteps.propTypes = {\r\n prefixCls: PropTypes.string,\r\n iconPrefix: PropTypes.string,\r\n current: PropTypes.number,\r\n};\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport omit from 'lodash/omit';\r\nimport RcSwitch from '../rc-components/switch';\r\nimport { Size } from '../_util/enum';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Switch extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.saveSwitch = (node) => {\r\n this.rcSwitch = node;\r\n };\r\n }\r\n focus() {\r\n this.rcSwitch.focus();\r\n }\r\n blur() {\r\n this.rcSwitch.blur();\r\n }\r\n render() {\r\n const { prefixCls: customizePrefixCls, size, loading, className = '' } = this.props;\r\n const prefixCls = getPrefixCls('switch', customizePrefixCls);\r\n const classes = classNames(className, {\r\n [`${prefixCls}-small`]: size === Size.small,\r\n [`${prefixCls}-loading`]: loading,\r\n });\r\n return (<RcSwitch {...omit(this.props, ['loading'])} prefixCls={prefixCls} className={classes} ref={this.saveSwitch}/>);\r\n }\r\n}\r\nSwitch.displayName = 'Switch';\r\nSwitch.propTypes = {\r\n prefixCls: PropTypes.string,\r\n // size=default and size=large are the same\r\n size: PropTypes.oneOf([Size.small, Size.default, Size.large]),\r\n className: PropTypes.string,\r\n};\r\n","import { Component } from 'react';\r\n/* eslint-disable react/prefer-stateless-function */\r\nexport default class Column extends Component {\r\n}\r\n","import React, { Component } from 'react';\r\nimport Button from '../button/Button';\r\nimport SelectTrigger from '../rc-components/select/SelectTrigger';\r\nimport { Item as MenuItem } from '../rc-components/menu';\r\nimport { UNSELECTABLE_ATTRIBUTE, UNSELECTABLE_STYLE } from '../rc-components/select/util';\r\nimport { getColumnKey } from './util';\r\nimport { Size } from '../_util/enum';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class ColumnFilter extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.state = {\r\n open: false,\r\n };\r\n this.onMenuSelect = (item) => {\r\n item.item.props.value.hidden = false;\r\n this.fireChange(item);\r\n };\r\n this.onMenuDeselect = (item) => {\r\n item.item.props.value.hidden = true;\r\n this.fireChange(item);\r\n };\r\n this.onDropdownVisibleChange = (open) => {\r\n const { state } = this;\r\n if (state.open !== open) {\r\n this.setState({\r\n open,\r\n });\r\n }\r\n };\r\n }\r\n render() {\r\n const { prefixCls, getPopupContainer } = this.props;\r\n const { open } = this.state;\r\n return (<div className={`${prefixCls}-columns-chooser`}>\n <SelectTrigger prefixCls={getPrefixCls('select')} showAction={['click']} options={this.getOptions()} value={this.getVisibleColumns()} getPopupContainer={getPopupContainer} multiple onDropdownVisibleChange={this.onDropdownVisibleChange} onMenuSelect={this.onMenuSelect} onMenuDeselect={this.onMenuDeselect} visible={open} popupPlacement=\"bottomRight\" dropdownMatchSelectWidth={false} dropdownStyle={{ minWidth: 187 }}>\n <Button shape=\"circle\" icon=\"view_column\" size={Size.small}/>\n </SelectTrigger>\n </div>);\r\n }\r\n fireChange(item) {\r\n const { onColumnFilterChange } = this.props;\r\n if (onColumnFilterChange) {\r\n onColumnFilterChange(item);\r\n }\r\n }\r\n getOptions() {\r\n const { columns } = this.props;\r\n const options = [];\r\n (columns || []).forEach((column, i) => {\r\n const { title, notDisplay, disableClick } = column;\r\n if (title && !notDisplay) {\r\n options.push(<MenuItem disabled={disableClick} style={UNSELECTABLE_STYLE} attribute={UNSELECTABLE_ATTRIBUTE} value={column} key={getColumnKey(column, i)}>\n {title}\n </MenuItem>);\r\n }\r\n });\r\n return options;\r\n }\r\n getVisibleColumns() {\r\n const { columns } = this.props;\r\n return (columns || []).filter(column => !column.hidden);\r\n }\r\n}\r\nColumnFilter.displayName = 'ColumnFilter';\r\n","import { Component } from 'react';\r\nexport default class ColumnGroup extends Component {\r\n}\r\nColumnGroup.__ANT_TABLE_COLUMN_GROUP = true;\r\n","import React from 'react';\r\nimport FilterSelect from './FilterSelect';\r\nimport ColumnFilter from './ColumnFilter';\r\nexport default function FilterBar(props) {\r\n const { prefixCls, columns, onColumnFilterChange, onFilterSelectChange, onFilterSelectClear, onFilter, dataSource, filters, columnFilters, placeholder, multiple, getPopupContainer, } = props;\r\n return (<div className={`${prefixCls}-filter-bar`}>\n <FilterSelect prefixCls={prefixCls} placeholder={placeholder} columns={columns} dataSource={dataSource} onChange={onFilterSelectChange} onClear={onFilterSelectClear} onFilter={onFilter} filters={filters} columnFilters={columnFilters} getPopupContainer={getPopupContainer} multiple={multiple}/>\n <ColumnFilter prefixCls={prefixCls} columns={columns} onColumnFilterChange={onColumnFilterChange} getPopupContainer={getPopupContainer}/>\n </div>);\r\n}\r\n","import React from 'react';\r\nexport default ({ className, onClick, children }) => (<div className={className} onClick={onClick}>\n {children}\n </div>);\r\n","import React, { Component } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport Icon from '../icon';\r\nimport Select from '../select';\r\nimport { filterByInputValue, getColumnKey } from './util';\r\nimport Checkbox from '../checkbox/Checkbox';\r\nimport { SelectMode } from '../select/enum';\r\nimport { getPrefixCls } from '../configure';\r\nconst { Option, OptGroup } = Select;\r\nconst PAIR_SPLIT = ':';\r\nconst VALUE_SPLIT = '、';\r\nconst OPTION_OR = 'option-or';\r\nexport const VALUE_OR = 'OR';\r\nfunction pairValue(column, value = '') {\r\n const { filters } = column;\r\n const found = filters && filters.find(filter => String(filter.value) === value);\r\n return {\r\n key: `${getColumnKey(column)}${PAIR_SPLIT}${value}`,\r\n label: [column.filterTitle || column.title, PAIR_SPLIT, ' ', found ? found.text : value],\r\n };\r\n}\r\nfunction barPair(value, index) {\r\n return {\r\n key: `${value}${PAIR_SPLIT}${index}`,\r\n label: [value],\r\n };\r\n}\r\nfunction removeDoubleOr(filters) {\r\n return filters.filter(({ label }, index) => label !== VALUE_OR || label !== filters[index + 1]);\r\n}\r\nexport default class FilterSelect extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.columnRefs = {};\r\n this.handleDropdownMouseDown = e => {\r\n e.preventDefault();\r\n this.rcSelect.focus();\r\n };\r\n this.saveRef = (node) => {\r\n if (node) {\r\n this.rcSelect = node.rcSelect;\r\n }\r\n };\r\n this.saveColumnRef = (key, node) => {\r\n if (node) {\r\n this.columnRefs[key] = node;\r\n }\r\n };\r\n this.handleInputKeyDown = (e) => {\r\n const { value } = e.target;\r\n if (e.keyCode === 13 && !e.isDefaultPrevented() && value) {\r\n const { filters, columnFilters, selectColumn } = this.state;\r\n if (selectColumn) {\r\n const key = getColumnKey(selectColumn);\r\n if (key) {\r\n const { filters: columFilters } = selectColumn;\r\n const filterText = value.split(this.getColumnTitle(selectColumn)).slice(1);\r\n columnFilters[key] = filterText;\r\n const found = columFilters && columFilters.find(filter => filter.text === filterText[0]);\r\n const filterValue = found ? String(found.value) : filterText[0];\r\n this.fireColumnFilterChange(key, [filterValue]);\r\n }\r\n }\r\n else {\r\n filters.push(value);\r\n this.fireChange(filters);\r\n }\r\n this.setState({\r\n inputValue: '',\r\n filters,\r\n columnFilters,\r\n selectColumn: undefined,\r\n });\r\n this.rcSelect.setState({\r\n inputValue: '',\r\n });\r\n }\r\n };\r\n this.handleInput = (value) => {\r\n let { selectColumn } = this.state;\r\n if (selectColumn) {\r\n if (value.indexOf(this.getColumnTitle(selectColumn)) === -1) {\r\n selectColumn = undefined;\r\n }\r\n }\r\n this.setState({\r\n selectColumn,\r\n inputValue: value,\r\n });\r\n };\r\n this.handleChoiceItemClick = ({ key }) => {\r\n const pair = key.split(PAIR_SPLIT);\r\n if (pair.length > 1) {\r\n const columnKey = pair.shift();\r\n const selectColumn = this.findColumn(columnKey);\r\n if (selectColumn && selectColumn.filterMultiple) {\r\n const { filters } = selectColumn;\r\n const checked = pair\r\n .join(PAIR_SPLIT)\r\n .split(VALUE_SPLIT)\r\n .map(text => {\r\n const found = filters && filters.find(filter => filter.text === text);\r\n return found ? found.value : text;\r\n });\r\n this.setState({\r\n selectColumn,\r\n checked,\r\n });\r\n }\r\n }\r\n };\r\n this.handleSelect = ({ key }) => {\r\n const { checked, selectColumn } = this.state;\r\n if (key === '__ok__') {\r\n this.handleMultiCheckConfirm();\r\n }\r\n else if (key !== `${selectColumn && selectColumn.title}:`) {\r\n const index = checked.indexOf(key);\r\n if (index === -1) {\r\n checked.push(key);\r\n }\r\n else {\r\n checked.splice(index, 1);\r\n }\r\n this.setState({\r\n checked,\r\n }, () => {\r\n if (selectColumn) {\r\n const { columnFilters } = this.state;\r\n const columnKey = getColumnKey(selectColumn);\r\n if (columnKey) {\r\n const filters = columnFilters[columnKey];\r\n if (!filters || !filters.length) {\r\n this.rcSelect.setState({\r\n inputValue: this.getColumnTitle(selectColumn),\r\n });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n return false;\r\n };\r\n this.handleMultiCheckConfirm = () => {\r\n const { selectColumn, checked } = this.state;\r\n if (selectColumn) {\r\n const columnKey = getColumnKey(selectColumn);\r\n if (columnKey) {\r\n this.fireColumnFilterChange(columnKey, checked);\r\n this.setState({\r\n selectColumn: undefined,\r\n checked: [],\r\n });\r\n this.rcSelect.setState({\r\n inputValue: '',\r\n });\r\n }\r\n }\r\n };\r\n this.handleClear = () => {\r\n this.setState({ selectColumn: undefined });\r\n };\r\n this.handleChange = (changedValue) => {\r\n const { state, rcSelect } = this;\r\n const { selectColumn, inputValue, columnFilters } = state;\r\n let { filters } = state;\r\n const all = this.getValue();\r\n let change = false;\r\n if (changedValue.length > all.length) {\r\n const value = changedValue.pop();\r\n if (inputValue) {\r\n if (rcSelect.state.inputValue && value) {\r\n change = true;\r\n filters.push(value.label);\r\n }\r\n this.setState({\r\n selectColumn: undefined,\r\n inputValue: '',\r\n filters,\r\n });\r\n }\r\n else if (value && value.label === OPTION_OR) {\r\n filters.push(VALUE_OR);\r\n change = true;\r\n this.setState({\r\n filters,\r\n });\r\n }\r\n else if (selectColumn) {\r\n if (!selectColumn.filterMultiple) {\r\n const columnKey = getColumnKey(selectColumn);\r\n if (rcSelect.state.inputValue && value && columnKey) {\r\n this.fireColumnFilterChange(columnKey, [value.key]);\r\n }\r\n this.setState({\r\n selectColumn: undefined,\r\n });\r\n }\r\n else {\r\n this.setState({\r\n selectColumn: undefined,\r\n checked: [],\r\n });\r\n rcSelect.setState({\r\n inputValue: '',\r\n });\r\n }\r\n }\r\n else if (value) {\r\n const column = this.findColumn(value.key);\r\n const columnFilter = columnFilters[value.key];\r\n if (column && (!columnFilter || !columnFilter.length)) {\r\n rcSelect.setState({\r\n inputValue: this.getColumnTitle(column),\r\n });\r\n }\r\n this.setState({\r\n selectColumn: column,\r\n });\r\n }\r\n }\r\n else {\r\n filters = this.changeValue(changedValue, rcSelect.state.value);\r\n if (state.filters.length !== filters.length) {\r\n change = true;\r\n }\r\n this.setState({\r\n inputValue: '',\r\n filters,\r\n });\r\n }\r\n if (change) {\r\n this.fireChange(filters);\r\n }\r\n };\r\n this.toValueString = (item) => {\r\n const key = Object.keys(item)[0];\r\n const col = this.findColumn(key);\r\n if (col) {\r\n return pairValue(col, item[key]);\r\n }\r\n return '';\r\n };\r\n this.getRootDomNode = () => {\r\n return findDOMNode(this).querySelector(`.${getPrefixCls('select')}-search__field`);\r\n };\r\n this.state = {\r\n columns: this.getColumnsWidthFilters(),\r\n filters: props.filters || [],\r\n columnFilters: props.columnFilters || {},\r\n inputValue: '',\r\n selectColumn: undefined,\r\n checked: [],\r\n };\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n this.setState({\r\n columns: this.getColumnsWidthFilters(nextProps),\r\n });\r\n if (nextProps.filters) {\r\n this.setState({\r\n filters: nextProps.filters,\r\n });\r\n }\r\n if (nextProps.columnFilters) {\r\n this.setState({\r\n columnFilters: nextProps.columnFilters,\r\n });\r\n }\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return `${prefixCls}-filter-select`;\r\n }\r\n render() {\r\n const { placeholder, getPopupContainer } = this.props;\r\n const { inputValue } = this.state;\r\n const prefixCls = this.getPrefixCls();\r\n const multiple = this.isMultiple();\r\n return (<div className={prefixCls}>\n <div className={`${prefixCls}-icon`}>\n <Icon type=\"filter_list\"/>\n </div>\n <Select ref={this.saveRef} mode={SelectMode.tags} filterOption={false} onChange={this.handleChange} onSelect={multiple ? this.handleSelect : undefined} onInput={this.handleInput} onInputKeyDown={this.handleInputKeyDown} onClear={this.handleClear} value={this.getValue()} placeholder={placeholder} notFoundContent={false} showNotFindInputItem={false} showNotFindSelectedItem={false} dropdownMatchSelectWidth={false} defaultActiveFirstOption={!inputValue} dropdownStyle={{ minWidth: 256 }} onDropdownMouseDown={this.handleDropdownMouseDown} dropdownClassName={`${prefixCls}-dropdown`} getRootDomNode={this.getRootDomNode} showCheckAll={false} onChoiceItemClick={this.handleChoiceItemClick} getPopupContainer={getPopupContainer} allowClear labelInValue blurChange={false} border={false}>\n {this.getOptions()}\n </Select>\n <div className={`${prefixCls}-columns`}>{this.renderColumnsTitle()}</div>\n </div>);\r\n }\r\n renderColumnsTitle() {\r\n const { columns } = this.state;\r\n this.columnRefs = {};\r\n return columns.map(col => {\r\n const key = getColumnKey(col);\r\n return (<span ref={this.saveColumnRef.bind(this, key)} key={key}>\n {col.filterTitle || col.title}\n </span>);\r\n });\r\n }\r\n isMultiple() {\r\n const { selectColumn } = this.state;\r\n if (selectColumn) {\r\n return selectColumn.filterMultiple;\r\n }\r\n return false;\r\n }\r\n fireChange(filters) {\r\n const { onChange } = this.props;\r\n if (typeof onChange === 'function') {\r\n onChange(filters);\r\n }\r\n }\r\n fireColumnFilterChange(columnKey, value) {\r\n const col = this.findColumn(columnKey);\r\n const { onFilter } = this.props;\r\n if (col && onFilter) {\r\n onFilter(col, value || null);\r\n }\r\n }\r\n changeValue(changedValue, oldValue) {\r\n const { state } = this;\r\n const changedColumnKeys = [];\r\n const changedColumnFilters = state.columnFilters;\r\n const columnFiltersValues = this.getColumnFiltersValues();\r\n if (changedValue.length) {\r\n const len = columnFiltersValues.length;\r\n if (len > 0) {\r\n const index = oldValue.findIndex((item, i) => item !== (changedValue[i] && changedValue[i].key));\r\n if (index < columnFiltersValues.length) {\r\n const deleted = changedValue.splice(0, len - 1);\r\n if (deleted.length < 2 && changedValue[0] && changedValue[0].label === VALUE_OR) {\r\n changedValue.shift();\r\n }\r\n let value = columnFiltersValues[index];\r\n if (value === VALUE_OR) {\r\n value = columnFiltersValues[index + 1];\r\n }\r\n const columnKey = Object.keys(value)[0];\r\n const columnFilters = changedColumnFilters[columnKey].slice();\r\n const column = this.findColumn(columnKey);\r\n if (column) {\r\n const { filters } = column;\r\n value[columnKey].split(VALUE_SPLIT).forEach((text) => {\r\n const found = filters && filters.find(filter => filter.text === text);\r\n const filterIndex = columnFilters.indexOf(found ? found.value : text);\r\n if (filterIndex !== -1) {\r\n columnFilters.splice(filterIndex, 1);\r\n changedColumnFilters[columnKey] = columnFilters;\r\n if (changedColumnKeys.indexOf(columnKey) === -1) {\r\n changedColumnKeys.push(columnKey);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n changedValue.splice(0, len);\r\n }\r\n }\r\n changedColumnKeys.forEach(key => {\r\n this.fireColumnFilterChange(key, changedColumnFilters[key]);\r\n });\r\n }\r\n else {\r\n const { onClear } = this.props;\r\n if (onClear) {\r\n onClear();\r\n }\r\n }\r\n return removeDoubleOr(changedValue).map(item => {\r\n const label = item.label;\r\n if (label.constructor === Array) {\r\n return label && label[0];\r\n }\r\n return label;\r\n });\r\n }\r\n getColumnFiltersValues() {\r\n const values = [];\r\n const { columnFilters } = this.state;\r\n Object.keys(columnFilters).forEach(c => {\r\n const filteredValue = columnFilters[c];\r\n const column = this.findColumn(c);\r\n if (filteredValue && filteredValue.length && column) {\r\n const { filters } = column;\r\n values.push({\r\n [c]: filteredValue\r\n .map(value => {\r\n const found = filters && filters.find(filter => String(filter.value) === String(value));\r\n return found ? found.text : value;\r\n })\r\n .join(VALUE_SPLIT),\r\n });\r\n }\r\n });\r\n return values;\r\n }\r\n getValue() {\r\n const { filters } = this.state;\r\n return this.getColumnFiltersValues()\r\n .map(this.toValueString)\r\n .concat(filters.map(barPair));\r\n }\r\n getInputFilterOptions(inputValue) {\r\n const { columns, dataSource } = this.props;\r\n const options = [];\r\n if (dataSource && columns) {\r\n const values = {};\r\n filterByInputValue(dataSource, columns, inputValue, (record, column) => {\r\n const { dataIndex } = column;\r\n if (dataIndex) {\r\n const value = record[dataIndex].toString();\r\n if (!values[value]) {\r\n values[value] = true;\r\n options.push(<Option key={value} value={value}>\n {value}\n </Option>);\r\n }\r\n }\r\n });\r\n }\r\n return options;\r\n }\r\n getOptions() {\r\n const { state } = this;\r\n const { selectColumn, inputValue, columns, checked, columnFilters } = state;\r\n if (selectColumn) {\r\n if (inputValue && inputValue.split(PAIR_SPLIT)[1]) {\r\n return null;\r\n }\r\n const { filters, filterMultiple } = selectColumn;\r\n const columnKey = getColumnKey(selectColumn);\r\n if (filters) {\r\n return filters\r\n .filter(filter => !filter.children)\r\n .map((filter, i) => {\r\n const value = String(filter.value);\r\n let text = filter.text;\r\n if (filterMultiple && columnKey) {\r\n let _checked = columnFilters[columnKey];\r\n if (_checked && !checked.length) {\r\n state.checked = _checked.slice();\r\n }\r\n else {\r\n _checked = checked;\r\n }\r\n text = [\r\n <Checkbox key=\"ck\" className=\"multiple\" checked={_checked.indexOf(value) !== -1}/>,\r\n text,\r\n ];\r\n }\r\n return (<Option key={`filter-${String(i)}`} value={value}>\n {text}\n </Option>);\r\n })\r\n .concat(filterMultiple ? (<OptGroup key=\"ok\">\n <Option value=\"__ok__\" className={`${this.getPrefixCls()}-ok-btn`}>\n 确认\n </Option>\n </OptGroup>) : ([]));\r\n }\r\n }\r\n else if (inputValue) {\r\n return this.getInputFilterOptions(inputValue);\r\n }\r\n else {\r\n const { filters } = this.state;\r\n const { multiple } = this.props;\r\n const { length } = filters;\r\n const value = this.getColumnFiltersValues();\r\n const keys = value.map(item => Object.keys(item)[0]);\r\n const options = columns.reduce((opts, column, i) => {\r\n const key = getColumnKey(column, i);\r\n if (keys.indexOf(key) === -1 || column.filterMultiple) {\r\n opts.push(<Option key={`column-${key}`} value={key}>\n <span>{column.filterTitle || column.title}</span>\n </Option>);\r\n }\r\n return opts;\r\n }, []);\r\n if (multiple && (length ? filters[length - 1] !== VALUE_OR : value.length)) {\r\n return [\r\n <OptGroup key=\"or\">\n <Option value={OPTION_OR}>OR</Option>\n </OptGroup>,\r\n <OptGroup key=\"all\">{options}</OptGroup>,\r\n ];\r\n }\r\n return options;\r\n }\r\n }\r\n getColumnsWidthFilters(props = this.props) {\r\n return (props.columns || []).filter(column => column.filters instanceof Array);\r\n }\r\n findColumn(myKey) {\r\n const { columns } = this.state;\r\n return columns.find(c => getColumnKey(c) === myKey);\r\n }\r\n getColumnTitle(column) {\r\n const columnKey = getColumnKey(column);\r\n if (columnKey) {\r\n return `${this.columnRefs[columnKey].textContent}${PAIR_SPLIT}`;\r\n }\r\n return '';\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport Checkbox from '../checkbox';\r\nimport Radio from '../radio';\r\nexport default class SelectionBox extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n checked: this.getCheckState(props),\r\n };\r\n }\r\n componentDidMount() {\r\n this.subscribe();\r\n }\r\n componentWillUnmount() {\r\n if (this.unsubscribe) {\r\n this.unsubscribe();\r\n }\r\n }\r\n subscribe() {\r\n const { store } = this.props;\r\n this.unsubscribe = store.subscribe(() => {\r\n const checked = this.getCheckState(this.props);\r\n this.setState({ checked });\r\n });\r\n }\r\n getCheckState(props) {\r\n const { store, defaultSelection, rowIndex } = props;\r\n let checked = false;\r\n if (store.getState().selectionDirty) {\r\n checked = store.getState().selectedRowKeys.indexOf(rowIndex) >= 0;\r\n }\r\n else {\r\n checked =\r\n store.getState().selectedRowKeys.indexOf(rowIndex) >= 0 ||\r\n defaultSelection.indexOf(rowIndex) >= 0;\r\n }\r\n return checked;\r\n }\r\n render() {\r\n const { type, rowIndex, ...rest } = this.props;\r\n const { checked } = this.state;\r\n if (type === 'radio') {\r\n return <Radio checked={checked} value={rowIndex} {...rest}/>;\r\n }\r\n return <Checkbox checked={checked} {...rest}/>;\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport Checkbox from '../checkbox';\r\nimport Dropdown from '../dropdown';\r\nimport Menu from '../menu';\r\nimport Icon from '../icon';\r\nexport default class SelectionCheckboxAll extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleSelectAllChagne = (e) => {\r\n const { checked } = e.target;\r\n const { onSelect } = this.props;\r\n onSelect(checked ? 'all' : 'removeAll', 0, null);\r\n };\r\n this.defaultSelections = props.hideDefaultSelections\r\n ? []\r\n : [\r\n {\r\n key: 'all',\r\n text: props.locale.selectAll,\r\n onSelect: () => { },\r\n },\r\n {\r\n key: 'invert',\r\n text: props.locale.selectInvert,\r\n onSelect: () => { },\r\n },\r\n ];\r\n this.state = {\r\n checked: this.getCheckState(props),\r\n indeterminate: this.getIndeterminateState(props),\r\n };\r\n }\r\n componentDidMount() {\r\n this.subscribe();\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n this.setCheckState(nextProps);\r\n }\r\n componentWillUnmount() {\r\n if (this.unsubscribe) {\r\n this.unsubscribe();\r\n }\r\n }\r\n subscribe() {\r\n const { store } = this.props;\r\n this.unsubscribe = store.subscribe(() => {\r\n this.setCheckState(this.props);\r\n });\r\n }\r\n checkSelection(data, type, byDefaultChecked) {\r\n const { store, getCheckboxPropsByItem, getRecordKey } = this.props;\r\n // type should be 'every' | 'some'\r\n if (type === 'every' || type === 'some') {\r\n return byDefaultChecked\r\n ? data[type]((item, i) => getCheckboxPropsByItem(item, i).defaultChecked)\r\n : data[type]((item, i) => store.getState().selectedRowKeys.indexOf(getRecordKey(item, i)) >= 0);\r\n }\r\n return false;\r\n }\r\n setCheckState(props) {\r\n const checked = this.getCheckState(props);\r\n const { state } = this;\r\n const indeterminate = this.getIndeterminateState(props);\r\n if (checked !== state.checked) {\r\n this.setState({ checked });\r\n }\r\n if (indeterminate !== state.indeterminate) {\r\n this.setState({ indeterminate });\r\n }\r\n }\r\n getCheckState(props) {\r\n const { store, data } = props;\r\n let checked;\r\n if (!data.length) {\r\n checked = false;\r\n }\r\n else {\r\n checked = store.getState().selectionDirty\r\n ? this.checkSelection(data, 'every', false)\r\n : this.checkSelection(data, 'every', false) || this.checkSelection(data, 'every', true);\r\n }\r\n return checked;\r\n }\r\n getIndeterminateState(props) {\r\n const { store, data } = props;\r\n let indeterminate;\r\n if (!data.length) {\r\n indeterminate = false;\r\n }\r\n else {\r\n indeterminate = store.getState().selectionDirty\r\n ? this.checkSelection(data, 'some', false) && !this.checkSelection(data, 'every', false)\r\n : (this.checkSelection(data, 'some', false) &&\r\n !this.checkSelection(data, 'every', false)) ||\r\n (this.checkSelection(data, 'some', true) && !this.checkSelection(data, 'every', true));\r\n }\r\n return indeterminate;\r\n }\r\n renderMenus(selections) {\r\n const { onSelect } = this.props;\r\n return selections.map((selection, index) => {\r\n return (<Menu.Item key={selection.key || index}>\n <div onClick={() => onSelect(selection.key, index, selection.onSelect)}>\n {selection.text}\n </div>\n </Menu.Item>);\r\n });\r\n }\r\n render() {\r\n const { disabled, prefixCls, selections, getPopupContainer } = this.props;\r\n const { checked, indeterminate } = this.state;\r\n const selectionPrefixCls = `${prefixCls}-selection`;\r\n let customSelections = null;\r\n if (selections) {\r\n const newSelections = Array.isArray(selections)\r\n ? this.defaultSelections.concat(selections)\r\n : this.defaultSelections;\r\n const menu = (<Menu className={`${selectionPrefixCls}-menu`} selectedKeys={[]}>\n {this.renderMenus(newSelections)}\n </Menu>);\r\n customSelections =\r\n newSelections.length > 0 ? (<Dropdown overlay={menu} getPopupContainer={getPopupContainer}>\n <div className={`${selectionPrefixCls}-down`}>\n <Icon type=\"expand_more\"/>\n </div>\n </Dropdown>) : null;\r\n }\r\n return (<div className={selectionPrefixCls}>\n <Checkbox className={classNames({ [`${selectionPrefixCls}-select-all-custom`]: customSelections })} checked={checked} indeterminate={indeterminate} disabled={disabled} onChange={this.handleSelectAllChagne}/>\n {customSelections}\n </div>);\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport noop from 'lodash/noop';\r\nimport Pagination from '../pagination';\r\nimport Icon from '../icon';\r\nimport Spin from '../spin';\r\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\r\nimport defaultLocale from '../locale-provider/default';\r\nimport warning from '../_util/warning';\r\nimport FilterDropdown from './filterDropdown';\r\nimport createStore from './createStore';\r\nimport SelectionBox from './SelectionBox';\r\nimport SelectionCheckboxAll from './SelectionCheckboxAll';\r\nimport Column from './Column';\r\nimport ColumnGroup from './ColumnGroup';\r\nimport createBodyRow from './createBodyRow';\r\nimport { findColumnByFilterValue, flatArray, flatFilter, getColumnKey, getLeafColumns, normalizeColumns, removeHiddenColumns, treeMap, } from './util';\r\nimport FilterBar from './FilterBar';\r\nimport { VALUE_OR } from './FilterSelect';\r\nimport RcTable from '../rc-components/table';\r\nimport { Size } from '../_util/enum';\r\nimport { getPrefixCls } from '../configure';\r\nfunction findBodyDom(dom, reg) {\r\n if (dom.childElementCount > 0) {\r\n for (let i = 0; i < dom.childElementCount; i += 1) {\r\n if (reg.test(dom.children[i].className)) {\r\n return dom.children[i];\r\n }\r\n if (dom.childElementCount > 0) {\r\n const childFound = findBodyDom(dom.children[i], reg);\r\n if (childFound !== null) {\r\n return childFound;\r\n }\r\n }\r\n }\r\n }\r\n return null;\r\n}\r\nfunction stopPropagation(e) {\r\n e.stopPropagation();\r\n if (e.nativeEvent.stopImmediatePropagation) {\r\n e.nativeEvent.stopImmediatePropagation();\r\n }\r\n}\r\nconst defaultPagination = {\r\n onChange: noop,\r\n onShowSizeChange: noop,\r\n};\r\n/**\r\n * Avoid creating new object, so that parent component's shouldComponentUpdate\r\n * can works appropriately。\r\n */\r\nconst emptyObject = {};\r\nexport default class Table extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.saveRef = ref => {\r\n this.refTable = ref;\r\n };\r\n this.getCheckboxPropsByItem = (item, index) => {\r\n const { rowSelection = {} } = this.props;\r\n if (!rowSelection.getCheckboxProps) {\r\n return {};\r\n }\r\n const key = this.getRecordKey(item, index);\r\n // Cache checkboxProps\r\n if (!this.CheckboxPropsCache[key]) {\r\n this.CheckboxPropsCache[key] = rowSelection.getCheckboxProps(item);\r\n }\r\n return this.CheckboxPropsCache[key];\r\n };\r\n this.onRow = (record, index) => {\r\n const { onRow } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n const custom = onRow ? onRow(record, index) : {};\r\n return {\r\n ...custom,\r\n prefixCls,\r\n store: this.store,\r\n rowKey: this.getRecordKey(record, index),\r\n };\r\n };\r\n this.handleFilterSelectClear = () => {\r\n const { filters } = this.state;\r\n Object.keys(filters).map(key => (filters[key] = []));\r\n this.setNewFilterState({\r\n barFilters: [],\r\n filters,\r\n });\r\n };\r\n this.handleFilterSelectChange = (barFilters) => {\r\n const { onFilterSelectChange } = this.props;\r\n if (onFilterSelectChange) {\r\n onFilterSelectChange(barFilters);\r\n }\r\n this.setNewFilterState({\r\n barFilters,\r\n });\r\n };\r\n this.handleColumnFilterChange = (e) => {\r\n const { onColumnFilterChange } = this.props;\r\n if (onColumnFilterChange) {\r\n onColumnFilterChange(e);\r\n }\r\n this.forceUpdate();\r\n };\r\n this.handleFilter = (column, nextFilters) => {\r\n const { filters: stateFilters } = this.state;\r\n const filters = {\r\n ...stateFilters,\r\n [this.getColumnKey(column)]: nextFilters,\r\n };\r\n // Remove filters not in current columns\r\n const currentColumnKeys = [];\r\n treeMap(this.columns, c => {\r\n if (!c.children) {\r\n currentColumnKeys.push(this.getColumnKey(c));\r\n }\r\n });\r\n Object.keys(filters).forEach(columnKey => {\r\n if (currentColumnKeys.indexOf(columnKey) < 0) {\r\n delete filters[columnKey];\r\n }\r\n });\r\n this.setNewFilterState({\r\n filters,\r\n });\r\n };\r\n this.handleSelect = (record, rowIndex, e) => {\r\n const checked = e.target.checked;\r\n const nativeEvent = e.nativeEvent;\r\n const defaultSelection = this.store.getState().selectionDirty ? [] : this.getDefaultSelection();\r\n let selectedRowKeys = this.store.getState().selectedRowKeys.concat(defaultSelection);\r\n const key = this.getRecordKey(record, rowIndex);\r\n if (checked) {\r\n selectedRowKeys.push(this.getRecordKey(record, rowIndex));\r\n }\r\n else {\r\n selectedRowKeys = selectedRowKeys.filter((i) => key !== i);\r\n }\r\n this.store.setState({\r\n selectionDirty: true,\r\n });\r\n this.setSelectedRowKeys(selectedRowKeys, {\r\n selectWay: 'onSelect',\r\n record,\r\n checked,\r\n changeRowKeys: undefined,\r\n nativeEvent,\r\n });\r\n };\r\n this.handleRadioSelect = (record, rowIndex, e) => {\r\n const checked = e.target.checked;\r\n const nativeEvent = e.nativeEvent;\r\n const defaultSelection = this.store.getState().selectionDirty ? [] : this.getDefaultSelection();\r\n let selectedRowKeys = this.store.getState().selectedRowKeys.concat(defaultSelection);\r\n const key = this.getRecordKey(record, rowIndex);\r\n selectedRowKeys = [key];\r\n this.store.setState({\r\n selectionDirty: true,\r\n });\r\n this.setSelectedRowKeys(selectedRowKeys, {\r\n selectWay: 'onSelect',\r\n record,\r\n checked,\r\n changeRowKeys: undefined,\r\n nativeEvent,\r\n });\r\n };\r\n this.handleSelectRow = (selectionKey, index, onSelectFunc) => {\r\n const data = this.getFlatCurrentPageData();\r\n const defaultSelection = this.store.getState().selectionDirty ? [] : this.getDefaultSelection();\r\n const selectedRowKeys = this.store.getState().selectedRowKeys.concat(defaultSelection);\r\n const changeableRowKeys = data\r\n .filter((item, i) => !this.getCheckboxPropsByItem(item, i).disabled)\r\n .map((item, i) => this.getRecordKey(item, i));\r\n const changeRowKeys = [];\r\n let selectWay = '';\r\n let checked;\r\n // handle default selection\r\n switch (selectionKey) {\r\n case 'all':\r\n changeableRowKeys.forEach(key => {\r\n if (selectedRowKeys.indexOf(key) < 0) {\r\n selectedRowKeys.push(key);\r\n changeRowKeys.push(key);\r\n }\r\n });\r\n selectWay = 'onSelectAll';\r\n checked = true;\r\n break;\r\n case 'removeAll':\r\n changeableRowKeys.forEach(key => {\r\n if (selectedRowKeys.indexOf(key) >= 0) {\r\n selectedRowKeys.splice(selectedRowKeys.indexOf(key), 1);\r\n changeRowKeys.push(key);\r\n }\r\n });\r\n selectWay = 'onSelectAll';\r\n checked = false;\r\n break;\r\n case 'invert':\r\n changeableRowKeys.forEach(key => {\r\n if (selectedRowKeys.indexOf(key) < 0) {\r\n selectedRowKeys.push(key);\r\n }\r\n else {\r\n selectedRowKeys.splice(selectedRowKeys.indexOf(key), 1);\r\n }\r\n changeRowKeys.push(key);\r\n selectWay = 'onSelectInvert';\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n this.store.setState({\r\n selectionDirty: true,\r\n });\r\n // when select custom selection, callback selections[n].onSelect\r\n const { rowSelection } = this.props;\r\n let customSelectionStartIndex = 2;\r\n if (rowSelection && rowSelection.hideDefaultSelections) {\r\n customSelectionStartIndex = 0;\r\n }\r\n if (index >= customSelectionStartIndex && typeof onSelectFunc === 'function') {\r\n return onSelectFunc(changeableRowKeys);\r\n }\r\n this.setSelectedRowKeys(selectedRowKeys, {\r\n selectWay,\r\n checked,\r\n changeRowKeys,\r\n });\r\n };\r\n this.handlePageChange = (current, ...otherArguments) => {\r\n const { onChange, autoScroll, pagination: propsPagination } = this.props;\r\n const { pagination: statePagination } = this.state;\r\n const pagination = { ...statePagination };\r\n if (autoScroll) {\r\n setTimeout(() => {\r\n if (this.refTable && this.refTable.clientHeight > document.body.clientHeight) {\r\n this.refTable.scrollIntoView({\r\n block: 'start',\r\n });\r\n }\r\n else if (this.refTable) {\r\n // @ts-ignore\r\n this.refTable.scrollIntoViewIfNeeded({\r\n block: 'start',\r\n });\r\n }\r\n }, 10);\r\n if (this.refTable) {\r\n const dom = findBodyDom(this.refTable, new RegExp(`${this.getPrefixCls()}-body`));\r\n if (dom !== null && dom.scroll) {\r\n dom.scrollTop = 0;\r\n }\r\n }\r\n }\r\n if (current) {\r\n pagination.current = current;\r\n }\r\n else {\r\n pagination.current = pagination.current || 1;\r\n }\r\n pagination.onChange(pagination.current, ...otherArguments);\r\n const newState = {\r\n pagination,\r\n };\r\n // Controlled current prop will not respond user interaction\r\n if (propsPagination && typeof propsPagination === 'object' && 'current' in propsPagination) {\r\n newState.pagination = {\r\n ...pagination,\r\n current: statePagination.current,\r\n };\r\n }\r\n this.setState(newState);\r\n this.store.setState({\r\n selectionDirty: false,\r\n });\r\n if (onChange) {\r\n onChange(...this.prepareParamsArguments({\r\n ...this.state,\r\n selectionDirty: false,\r\n pagination,\r\n }));\r\n }\r\n };\r\n this.renderSelectionBox = (type) => {\r\n return (_, record, index) => {\r\n const rowIndex = this.getRecordKey(record, index); // 从 1 开始\r\n const props = this.getCheckboxPropsByItem(record, index);\r\n const handleChange = (e) => {\r\n if (type === 'radio') {\r\n this.handleRadioSelect(record, rowIndex, e);\r\n }\r\n else {\r\n this.handleSelect(record, rowIndex, e);\r\n }\r\n };\r\n return (<span onClick={stopPropagation}>\n <SelectionBox type={type} store={this.store} rowIndex={rowIndex} onChange={handleChange} defaultSelection={this.getDefaultSelection()} {...props}/>\n </span>);\r\n };\r\n };\r\n this.getRecordKey = (record, index) => {\r\n const { rowKey } = this.props;\r\n const recordKey = typeof rowKey === 'function' ? rowKey(record, index) : record[rowKey];\r\n warning(recordKey !== undefined, 'Each record in dataSource of table should have a unique `key` prop, or set `rowKey` to an unique primary key');\r\n return recordKey === undefined ? index : recordKey;\r\n };\r\n this.getPopupContainer = () => {\r\n return findDOMNode(this);\r\n };\r\n this.handleShowSizeChange = (current, pageSize) => {\r\n const { pagination } = this.state;\r\n pagination.onShowSizeChange(current, pageSize);\r\n const nextPagination = {\r\n ...pagination,\r\n pageSize,\r\n current,\r\n };\r\n this.setState({ pagination: nextPagination });\r\n const { onChange } = this.props;\r\n if (onChange) {\r\n onChange(...this.prepareParamsArguments({\r\n ...this.state,\r\n pagination: nextPagination,\r\n }));\r\n }\r\n };\r\n this.renderTable = (contextLocale, loading) => {\r\n const { props } = this;\r\n const locale = { ...contextLocale, ...props.locale };\r\n const { filterBarMultiple, filterBarPlaceholder, showHeader, filterBar, dataSource, filters, empty, ...restProps } = props;\r\n const { filters: columnFilters } = this.state;\r\n const prefixCls = this.getPrefixCls();\r\n const data = this.getCurrentPageData();\r\n const expandIconAsCell = props.expandedRowRender && props.expandIconAsCell !== false;\r\n const classString = classNames({\r\n [`${prefixCls}-${props.size}`]: true,\r\n [`${prefixCls}-bordered`]: props.bordered,\r\n [`${prefixCls}-empty`]: !data.length,\r\n [`${prefixCls}-without-column-header`]: !showHeader,\r\n });\r\n let columns = this.renderRowSelection(locale);\r\n columns = this.renderColumnsDropdown(columns, locale);\r\n columns = columns.map((column, i) => {\r\n const newColumn = { ...column };\r\n newColumn.key = this.getColumnKey(newColumn, i);\r\n return newColumn;\r\n });\r\n columns = removeHiddenColumns(columns);\r\n let expandIconColumnIndex = columns[0] && columns[0].key === 'selection-column' ? 1 : 0;\r\n if ('expandIconColumnIndex' in restProps) {\r\n expandIconColumnIndex = restProps.expandIconColumnIndex;\r\n }\r\n const table = (<RcTable key=\"table\" {...restProps} onRow={this.onRow} components={this.components} prefixCls={prefixCls} data={data} columns={columns} showHeader={showHeader} className={classString} expandIconColumnIndex={expandIconColumnIndex} expandIconAsCell={expandIconAsCell} emptyText={!loading.spinning && (empty || locale.emptyText)}/>);\r\n if (filterBar) {\r\n const bar = (<FilterBar key=\"filter-bar\" prefixCls={prefixCls} placeholder={filterBarPlaceholder} columns={getLeafColumns(this.columns)} onFilterSelectChange={this.handleFilterSelectChange} onFilterSelectClear={this.handleFilterSelectClear} onColumnFilterChange={this.handleColumnFilterChange} onFilter={this.handleFilter} dataSource={dataSource} filters={filters} columnFilters={columnFilters} multiple={filterBarMultiple} getPopupContainer={this.getPopupContainer}/>);\r\n return [bar, table];\r\n }\r\n return table;\r\n };\r\n warning(!('columnsPageRange' in props || 'columnsPageSize' in props), '`columnsPageRange` and `columnsPageSize` are removed, please use fixed columns instead');\r\n this.columns = props.columns || normalizeColumns(props.children);\r\n this.createComponents(props.components);\r\n this.state = {\r\n ...this.getDefaultSortOrder(this.columns),\r\n // 减少状态\r\n filters: this.getFiltersFromColumns(),\r\n barFilters: props.filters || [],\r\n pagination: this.getDefaultPagination(props),\r\n };\r\n this.CheckboxPropsCache = {};\r\n this.store = createStore({\r\n selectedRowKeys: (props.rowSelection || {}).selectedRowKeys || [],\r\n selectionDirty: false,\r\n });\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return getPrefixCls('table', prefixCls);\r\n }\r\n getDefaultSelection() {\r\n const { rowSelection = {} } = this.props;\r\n if (!rowSelection.getCheckboxProps) {\r\n return [];\r\n }\r\n return this.getFlatData()\r\n .filter((item, rowIndex) => this.getCheckboxPropsByItem(item, rowIndex).defaultChecked)\r\n .map((record, rowIndex) => this.getRecordKey(record, rowIndex));\r\n }\r\n getDefaultPagination(props) {\r\n const pagination = props.pagination || {};\r\n return this.hasPagination(props)\r\n ? {\r\n ...defaultPagination,\r\n size: props.size,\r\n ...pagination,\r\n current: pagination.defaultCurrent || pagination.current || 1,\r\n pageSize: pagination.defaultPageSize || pagination.pageSize || 10,\r\n }\r\n : {};\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n this.columns = nextProps.columns || normalizeColumns(nextProps.children);\r\n if ('pagination' in nextProps || 'pagination' in this.props) {\r\n this.setState(previousState => {\r\n const newPagination = {\r\n ...defaultPagination,\r\n size: nextProps.size,\r\n ...previousState.pagination,\r\n ...nextProps.pagination,\r\n };\r\n newPagination.current = newPagination.current || 1;\r\n newPagination.pageSize = newPagination.pageSize || 10;\r\n return { pagination: nextProps.pagination !== false ? newPagination : emptyObject };\r\n });\r\n }\r\n const { rowSelection, dataSource, components } = this.props;\r\n const { filters, sortColumn, sortOrder } = this.state;\r\n if (nextProps.rowSelection && 'selectedRowKeys' in nextProps.rowSelection) {\r\n this.store.setState({\r\n selectedRowKeys: nextProps.rowSelection.selectedRowKeys || [],\r\n });\r\n if (rowSelection &&\r\n nextProps.rowSelection.getCheckboxProps !== rowSelection.getCheckboxProps) {\r\n this.CheckboxPropsCache = {};\r\n }\r\n }\r\n if ('dataSource' in nextProps && nextProps.dataSource !== dataSource) {\r\n this.store.setState({\r\n selectionDirty: false,\r\n });\r\n this.CheckboxPropsCache = {};\r\n }\r\n if (this.getSortOrderColumns(this.columns).length > 0) {\r\n const sortState = this.getSortStateFromColumns(this.columns);\r\n if (sortState.sortColumn !== sortColumn || sortState.sortOrder !== sortOrder) {\r\n this.setState(sortState);\r\n }\r\n }\r\n const filteredValueColumns = this.getFilteredValueColumns(this.columns);\r\n if (filteredValueColumns.length > 0) {\r\n const filtersFromColumns = this.getFiltersFromColumns(this.columns);\r\n const newFilters = { ...filters };\r\n Object.keys(filtersFromColumns).forEach(key => {\r\n newFilters[key] = filtersFromColumns[key];\r\n });\r\n if (this.isFiltersChanged(newFilters)) {\r\n this.setState({ filters: newFilters });\r\n }\r\n }\r\n if ('filters' in nextProps) {\r\n this.setState({\r\n barFilters: nextProps.filters || [],\r\n });\r\n }\r\n this.createComponents(nextProps.components, components);\r\n }\r\n setSelectedRowKeys(selectedRowKeys, { selectWay, record, checked, changeRowKeys, nativeEvent }) {\r\n const { rowSelection = {} } = this.props;\r\n if (rowSelection && !('selectedRowKeys' in rowSelection)) {\r\n this.store.setState({ selectedRowKeys });\r\n }\r\n const data = this.getFlatData();\r\n if (!rowSelection.onChange && !rowSelection[selectWay]) {\r\n return;\r\n }\r\n const selectedRows = data.filter((row, i) => selectedRowKeys.indexOf(this.getRecordKey(row, i)) >= 0);\r\n if (rowSelection.onChange) {\r\n rowSelection.onChange(selectedRowKeys, selectedRows);\r\n }\r\n if (selectWay === 'onSelect' && rowSelection.onSelect) {\r\n rowSelection.onSelect(record, checked, selectedRows, nativeEvent);\r\n }\r\n else if (selectWay === 'onSelectAll' && rowSelection.onSelectAll) {\r\n const changeRows = data.filter((row, i) => changeRowKeys.indexOf(this.getRecordKey(row, i)) >= 0);\r\n rowSelection.onSelectAll(checked, selectedRows, changeRows);\r\n }\r\n else if (selectWay === 'onSelectInvert' && rowSelection.onSelectInvert) {\r\n rowSelection.onSelectInvert(selectedRowKeys);\r\n }\r\n }\r\n hasPagination(props) {\r\n return (props || this.props).pagination !== false;\r\n }\r\n isFiltersChanged(filters) {\r\n let filtersChanged = false;\r\n const { filters: stateFilters } = this.state;\r\n if (Object.keys(filters).length !== Object.keys(stateFilters).length) {\r\n filtersChanged = true;\r\n }\r\n else {\r\n Object.keys(filters).forEach(columnKey => {\r\n if (filters[columnKey] !== stateFilters[columnKey]) {\r\n filtersChanged = true;\r\n }\r\n });\r\n }\r\n return filtersChanged;\r\n }\r\n getSortOrderColumns(columns) {\r\n return flatFilter(columns || this.columns || [], (column) => 'sortOrder' in column);\r\n }\r\n getFilteredValueColumns(columns) {\r\n return flatFilter(columns || this.columns || [], (column) => typeof column.filteredValue !== 'undefined');\r\n }\r\n getFiltersFromColumns(columns) {\r\n const filters = {};\r\n this.getFilteredValueColumns(columns).forEach((col) => {\r\n const colKey = this.getColumnKey(col);\r\n filters[colKey] = col.filteredValue;\r\n });\r\n return filters;\r\n }\r\n getDefaultSortOrder(columns) {\r\n const definedSortState = this.getSortStateFromColumns(columns);\r\n const defaultSortedColumn = flatFilter(columns || [], (column) => column.defaultSortOrder != null)[0];\r\n if (defaultSortedColumn && !definedSortState.sortColumn) {\r\n return {\r\n sortColumn: defaultSortedColumn,\r\n sortOrder: defaultSortedColumn.defaultSortOrder,\r\n };\r\n }\r\n return definedSortState;\r\n }\r\n getSortStateFromColumns(columns) {\r\n // return first column which sortOrder is not falsy\r\n const sortedColumn = this.getSortOrderColumns(columns).filter((col) => col.sortOrder)[0];\r\n if (sortedColumn) {\r\n return {\r\n sortColumn: sortedColumn,\r\n sortOrder: sortedColumn.sortOrder,\r\n };\r\n }\r\n return {\r\n sortColumn: null,\r\n sortOrder: null,\r\n };\r\n }\r\n getSorterFn() {\r\n const { sortOrder, sortColumn } = this.state;\r\n if (!sortOrder || !sortColumn || typeof sortColumn.sorter !== 'function') {\r\n return;\r\n }\r\n return (a, b) => {\r\n const result = sortColumn.sorter(a, b);\r\n if (result !== 0) {\r\n return sortOrder === 'descend' ? -result : result;\r\n }\r\n return 0;\r\n };\r\n }\r\n setSortOrder(order, column) {\r\n const newState = {\r\n sortOrder: order,\r\n sortColumn: column,\r\n };\r\n // Controlled\r\n if (this.getSortOrderColumns().length === 0) {\r\n this.setState(newState);\r\n }\r\n const { onChange } = this.props;\r\n if (onChange) {\r\n onChange(...this.prepareParamsArguments({\r\n ...this.state,\r\n ...newState,\r\n }));\r\n }\r\n }\r\n toggleSortOrder(order, column) {\r\n let { sortColumn, sortOrder } = this.state;\r\n // 只同时允许一列进行排序,否则会导致排序顺序的逻辑问题\r\n const isSortColumn = this.isSortColumn(column);\r\n if (!isSortColumn) {\r\n // 当前列未排序\r\n sortOrder = order;\r\n sortColumn = column;\r\n }\r\n else if (sortOrder === order) {\r\n // 切换为未排序状态\r\n sortOrder = '';\r\n sortColumn = null;\r\n }\r\n else {\r\n // 切换为排序状态\r\n sortOrder = order;\r\n }\r\n const newState = {\r\n sortOrder,\r\n sortColumn,\r\n };\r\n // Controlled\r\n if (this.getSortOrderColumns().length === 0) {\r\n this.setState(newState);\r\n }\r\n const { onChange } = this.props;\r\n if (onChange) {\r\n onChange(...this.prepareParamsArguments({\r\n ...this.state,\r\n ...newState,\r\n }));\r\n }\r\n }\r\n setNewFilterState(newState) {\r\n const { pagination: propsPagination, onChange } = this.props;\r\n const { pagination: statePagination } = this.state;\r\n const pagination = { ...statePagination };\r\n if (propsPagination) {\r\n // Reset current prop\r\n pagination.current = 1;\r\n pagination.onChange(pagination.current);\r\n }\r\n // Controlled current prop will not respond user interaction\r\n if (propsPagination && typeof propsPagination === 'object' && 'current' in propsPagination) {\r\n newState.pagination = {\r\n ...pagination,\r\n current: statePagination.current,\r\n };\r\n }\r\n this.setState(newState, () => {\r\n this.store.setState({\r\n selectionDirty: false,\r\n });\r\n if (onChange) {\r\n onChange(...this.prepareParamsArguments({\r\n ...this.state,\r\n selectionDirty: false,\r\n pagination,\r\n }));\r\n }\r\n });\r\n }\r\n renderRowSelection(locale) {\r\n const { rowSelection } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n const columns = this.columns.concat();\r\n if (rowSelection) {\r\n const data = this.getFlatCurrentPageData().filter((item, index) => {\r\n if (rowSelection.getCheckboxProps) {\r\n return !this.getCheckboxPropsByItem(item, index).disabled;\r\n }\r\n return true;\r\n });\r\n const selectionColumnClass = classNames(`${prefixCls}-selection-column`, {\r\n [`${prefixCls}-selection-column-custom`]: rowSelection.selections,\r\n });\r\n const selectionColumn = {\r\n key: 'selection-column',\r\n render: this.renderSelectionBox(rowSelection.type),\r\n className: selectionColumnClass,\r\n fixed: rowSelection.fixed,\r\n width: rowSelection.columnWidth,\r\n };\r\n if (rowSelection.type !== 'radio') {\r\n const checkboxAllDisabled = data.every((item, index) => this.getCheckboxPropsByItem(item, index).disabled);\r\n selectionColumn.title = (<SelectionCheckboxAll store={this.store} locale={locale} data={data} getCheckboxPropsByItem={this.getCheckboxPropsByItem} getRecordKey={this.getRecordKey} disabled={checkboxAllDisabled} prefixCls={prefixCls} onSelect={this.handleSelectRow} selections={rowSelection.selections} hideDefaultSelections={rowSelection.hideDefaultSelections} getPopupContainer={this.getPopupContainer}/>);\r\n }\r\n if ('fixed' in rowSelection) {\r\n selectionColumn.fixed = rowSelection.fixed;\r\n }\r\n else if (columns.some(column => column.fixed === 'left' || column.fixed === true)) {\r\n selectionColumn.fixed = 'left';\r\n }\r\n if (columns[0] && columns[0].key === 'selection-column') {\r\n columns[0] = selectionColumn;\r\n }\r\n else {\r\n columns.unshift(selectionColumn);\r\n }\r\n }\r\n return columns;\r\n }\r\n getColumnKey(column, index) {\r\n return getColumnKey(column, index);\r\n }\r\n getMaxCurrent(total) {\r\n const { pagination: { current, pageSize }, } = this.state;\r\n if ((current - 1) * pageSize >= total) {\r\n return Math.floor((total - 1) / pageSize) + 1;\r\n }\r\n return current;\r\n }\r\n isSortColumn(column) {\r\n const { sortColumn } = this.state;\r\n if (!column || !sortColumn) {\r\n return false;\r\n }\r\n return this.getColumnKey(sortColumn) === this.getColumnKey(column);\r\n }\r\n renderColumnsDropdown(columns, locale) {\r\n const { dropdownPrefixCls: customizeDropdownPrefixCls, filterBar } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n const dropdownPrefixCls = getPrefixCls('dropdown', customizeDropdownPrefixCls);\r\n const { sortOrder, filters } = this.state;\r\n return treeMap(columns, (originColumn, i) => {\r\n const column = { ...originColumn };\r\n const key = this.getColumnKey(column, i);\r\n let filterDropdown;\r\n let sortButton;\r\n if ((!filterBar && (column.filters && column.filters.length > 0)) || column.filterDropdown) {\r\n const colFilters = filters[key] || [];\r\n filterDropdown = (<FilterDropdown locale={locale} column={column} selectedKeys={colFilters} confirmFilter={this.handleFilter} prefixCls={`${prefixCls}-filter`} dropdownPrefixCls={dropdownPrefixCls} getPopupContainer={this.getPopupContainer}/>);\r\n }\r\n if (column.sorter) {\r\n const isSortColumn = this.isSortColumn(column);\r\n const isAscend = isSortColumn && sortOrder === 'ascend';\r\n // const isDescend = isSortColumn && sortOrder === 'descend';\r\n column.className = classNames(column.className, {\r\n [`${prefixCls}-sort-${sortOrder}`]: isSortColumn,\r\n });\r\n const { onHeaderCell } = column;\r\n column.onHeaderCell = col => {\r\n const customProps = (onHeaderCell && onHeaderCell(col)) || {};\r\n const { onClick } = customProps;\r\n return {\r\n ...customProps,\r\n onClick: (e) => {\r\n if (!e.isDefaultPrevented()) {\r\n if (typeof onClick === 'function') {\r\n onClick(e);\r\n }\r\n if (!e.isDefaultPrevented()) {\r\n this.setSortOrder(isAscend ? 'descend' : 'ascend', column);\r\n }\r\n }\r\n },\r\n };\r\n };\r\n sortButton = <Icon type=\"arrow_upward\" className={`${prefixCls}-sort-icon`}/>;\r\n }\r\n column.title = (<span key={key}>\n {column.title}\n {sortButton}\n {filterDropdown}\n </span>);\r\n if (sortButton || filterDropdown) {\r\n column.className = classNames(`${prefixCls}-column-has-filters`, column.className);\r\n }\r\n return column;\r\n });\r\n }\r\n renderPagination(paginationPosition) {\r\n // 强制不需要分页\r\n if (!this.hasPagination()) {\r\n return null;\r\n }\r\n const { pagination } = this.state;\r\n const { size } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n const position = pagination.position || 'bottom';\r\n const total = pagination.total || this.getLocalData().length;\r\n return total > 0 && (position === paginationPosition || position === 'both') ? (<Pagination key={`pagination-${paginationPosition}`} {...pagination} className={classNames(pagination.className, `${prefixCls}-pagination`)} onChange={this.handlePageChange} total={total} size={pagination.size || size} current={this.getMaxCurrent(total)} onShowSizeChange={this.handleShowSizeChange}/>) : null;\r\n }\r\n // Get pagination, filters, sorter\r\n prepareParamsArguments(state) {\r\n const pagination = { ...state.pagination };\r\n // remove useless handle function in Table.onChange\r\n delete pagination.onChange;\r\n delete pagination.onShowSizeChange;\r\n delete pagination.showTotal;\r\n delete pagination.sizeChangerOptionText;\r\n const filters = state.filters;\r\n const barFilters = state.barFilters;\r\n const sorter = {};\r\n if (state.sortColumn && state.sortOrder) {\r\n sorter.column = state.sortColumn;\r\n sorter.order = state.sortOrder;\r\n sorter.field = state.sortColumn.dataIndex;\r\n sorter.columnKey = this.getColumnKey(state.sortColumn);\r\n }\r\n return [pagination, filters, sorter, barFilters];\r\n }\r\n findColumn(myKey) {\r\n let column;\r\n treeMap(this.columns, c => {\r\n if (this.getColumnKey(c) === myKey) {\r\n column = c;\r\n }\r\n });\r\n return column;\r\n }\r\n getCurrentPageData() {\r\n let data = this.getLocalData();\r\n let current;\r\n let pageSize;\r\n const { state } = this;\r\n // 如果没有分页的话,默认全部展示\r\n if (!this.hasPagination()) {\r\n pageSize = Number.MAX_VALUE;\r\n current = 1;\r\n }\r\n else {\r\n pageSize = state.pagination.pageSize;\r\n current = this.getMaxCurrent(state.pagination.total || data.length);\r\n }\r\n // 分页\r\n // ---\r\n // 当数据量少于等于每页数量时,直接设置数据\r\n // 否则进行读取分页数据\r\n if (data.length > pageSize || pageSize === Number.MAX_VALUE) {\r\n data = data.filter((_, i) => {\r\n return i >= (current - 1) * pageSize && i < current * pageSize;\r\n });\r\n }\r\n return data;\r\n }\r\n getFlatData() {\r\n const { childrenColumnName } = this.props;\r\n return flatArray(this.getLocalData(), childrenColumnName);\r\n }\r\n getFlatCurrentPageData() {\r\n const { childrenColumnName } = this.props;\r\n return flatArray(this.getCurrentPageData(), childrenColumnName);\r\n }\r\n recursiveSort(data, sorterFn) {\r\n const { childrenColumnName = 'children' } = this.props;\r\n return data.sort(sorterFn).map((item) => item[childrenColumnName]\r\n ? {\r\n ...item,\r\n [childrenColumnName]: this.recursiveSort(item[childrenColumnName], sorterFn),\r\n }\r\n : item);\r\n }\r\n getLocalData() {\r\n const { dataSource, noFilter } = this.props;\r\n if (dataSource) {\r\n const state = this.state;\r\n const { filters, barFilters } = state;\r\n let data = dataSource;\r\n // 优化本地排序\r\n data = data.slice(0);\r\n const sorterFn = this.getSorterFn();\r\n if (sorterFn) {\r\n data = this.recursiveSort(data, sorterFn);\r\n }\r\n let filteredData = data;\r\n // 筛选\r\n if (filters) {\r\n Object.keys(filters).forEach(columnKey => {\r\n const col = this.findColumn(columnKey);\r\n if (!col) {\r\n return;\r\n }\r\n const values = filters[columnKey] || [];\r\n if (values.length === 0) {\r\n return;\r\n }\r\n const { onFilter, filters: columnFilters } = col;\r\n filteredData = onFilter\r\n ? filteredData.filter(record => {\r\n return values.some(v => onFilter(v, record, columnFilters));\r\n })\r\n : filteredData;\r\n });\r\n }\r\n if (barFilters.length) {\r\n let isOr = false;\r\n barFilters.forEach(filter => {\r\n if (filter === VALUE_OR) {\r\n isOr = true;\r\n }\r\n else {\r\n filteredData = data.filter(record => isOr\r\n ? filteredData.indexOf(record) !== -1 || this.doBarFilter(filter, record)\r\n : filteredData.indexOf(record) !== -1 && this.doBarFilter(filter, record));\r\n isOr = false;\r\n }\r\n });\r\n }\r\n if (noFilter) {\r\n return data;\r\n }\r\n return filteredData;\r\n }\r\n return [];\r\n }\r\n doBarFilter(filter, record) {\r\n if (typeof filter === 'string') {\r\n return !!findColumnByFilterValue(record, getLeafColumns(this.columns), filter);\r\n }\r\n const columnKey = Object.keys(filter)[0];\r\n const col = this.findColumn(columnKey);\r\n if (!col) {\r\n return true;\r\n }\r\n const { onFilter, filters } = col;\r\n return !onFilter || onFilter(filter[columnKey], record, filters);\r\n }\r\n createComponents(components = {}, prevComponents) {\r\n const bodyRow = components && components.body && components.body.row;\r\n const preBodyRow = prevComponents && prevComponents.body && prevComponents.body.row;\r\n if (!this.components || bodyRow !== preBodyRow) {\r\n this.components = { ...components };\r\n this.components.body = {\r\n ...components.body,\r\n row: createBodyRow(bodyRow),\r\n };\r\n }\r\n }\r\n render() {\r\n const { props } = this;\r\n const { style, className } = props;\r\n const prefixCls = this.getPrefixCls();\r\n const data = this.getCurrentPageData();\r\n let loading = props.loading;\r\n if (typeof loading === 'boolean') {\r\n loading = {\r\n spinning: loading,\r\n };\r\n }\r\n const table = (<LocaleReceiver componentName=\"Table\" defaultLocale={defaultLocale.Table}>\n {locale => this.renderTable(locale, loading)}\n </LocaleReceiver>);\r\n // if there is no pagination or no data,\r\n // the height of spin should decrease by half of pagination\r\n const paginationPatchClass = this.hasPagination() && data && data.length !== 0\r\n ? `${prefixCls}-with-pagination`\r\n : `${prefixCls}-without-pagination`;\r\n return (<div className={classNames(`${prefixCls}-wrapper`, className)} style={style} ref={this.saveRef}>\n <Spin {...loading} className={loading.spinning ? `${paginationPatchClass} ${prefixCls}-spin-holder` : ''}>\n {this.renderPagination('top')}\n {table}\n {this.renderPagination('bottom')}\n </Spin>\n </div>);\r\n }\r\n}\r\nTable.displayName = 'Table';\r\nTable.Column = Column;\r\nTable.ColumnGroup = ColumnGroup;\r\nTable.propTypes = {\r\n dataSource: PropTypes.array,\r\n empty: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\r\n onColumnFilterChange: PropTypes.func,\r\n columns: PropTypes.array,\r\n prefixCls: PropTypes.string,\r\n useFixedHeader: PropTypes.bool,\r\n rowSelection: PropTypes.object,\r\n className: PropTypes.string,\r\n size: PropTypes.oneOf([Size.large, Size.default, Size.small]),\r\n loading: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\r\n bordered: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n locale: PropTypes.object,\r\n dropdownPrefixCls: PropTypes.string,\r\n filterBar: PropTypes.bool,\r\n filters: PropTypes.array,\r\n filterBarPlaceholder: PropTypes.string,\r\n onFilterSelectChange: PropTypes.func,\r\n noFilter: PropTypes.bool,\r\n autoScroll: PropTypes.bool,\r\n indentSize: PropTypes.number,\r\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\r\n showHeader: PropTypes.bool,\r\n};\r\nTable.defaultProps = {\r\n dataSource: [],\r\n empty: null,\r\n useFixedHeader: false,\r\n rowSelection: null,\r\n className: '',\r\n size: Size.default,\r\n loading: false,\r\n bordered: false,\r\n indentSize: 20,\r\n locale: {},\r\n rowKey: 'key',\r\n showHeader: true,\r\n filterBar: true,\r\n noFilter: false,\r\n autoScroll: true,\r\n};\r\n","import React, { Component } from 'react';\r\nimport classnames from 'classnames';\r\nimport omit from 'lodash/omit';\r\nexport default function createTableRow(Cmp = 'tr') {\r\n class BodyRow extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.store = props.store;\r\n const { selectedRowKeys } = this.store.getState();\r\n this.state = {\r\n selected: selectedRowKeys.indexOf(props.rowKey) >= 0,\r\n };\r\n }\r\n componentDidMount() {\r\n this.subscribe();\r\n }\r\n componentWillUnmount() {\r\n if (this.unsubscribe) {\r\n this.unsubscribe();\r\n }\r\n }\r\n subscribe() {\r\n const { state } = this;\r\n const { store, rowKey } = this.props;\r\n this.unsubscribe = store.subscribe(() => {\r\n const { selectedRowKeys } = this.store.getState();\r\n const selected = selectedRowKeys.indexOf(rowKey) >= 0;\r\n if (selected !== state.selected) {\r\n this.setState({ selected });\r\n }\r\n });\r\n }\r\n render() {\r\n const { props } = this;\r\n const { selected } = this.state;\r\n const { className, prefixCls, children } = props;\r\n const otherProps = omit(props, ['prefixCls', 'rowKey', 'store', 'children']);\r\n const classString = classnames(className, {\r\n [`${prefixCls}-row-selected`]: selected,\r\n });\r\n return (<Cmp {...otherProps} className={classString}>\n {children}\n </Cmp>);\r\n }\r\n }\r\n return BodyRow;\r\n}\r\n","export default function createStore(initialState) {\r\n let state = initialState;\r\n const listeners = [];\r\n function setState(partial) {\r\n state = {\r\n ...state,\r\n ...partial,\r\n };\r\n for (let i = 0; i < listeners.length; i++) {\r\n listeners[i]();\r\n }\r\n }\r\n function getState() {\r\n return state;\r\n }\r\n function subscribe(listener) {\r\n listeners.push(listener);\r\n return function unsubscribe() {\r\n const index = listeners.indexOf(listener);\r\n listeners.splice(index, 1);\r\n };\r\n }\r\n return {\r\n setState,\r\n getState,\r\n subscribe,\r\n };\r\n}\r\n","import React, { cloneElement, Component } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport closest from 'dom-closest';\r\nimport classNames from 'classnames';\r\nimport Dropdown from '../dropdown';\r\nimport Icon from '../icon';\r\nimport Radio from '../radio';\r\nimport FilterDropdownMenuWrapper from './FilterDropdownMenuWrapper';\r\nimport Menu, { Item as MenuItem, SubMenu } from '../rc-components/menu';\r\nexport default class FilterMenu extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.setNeverShown = (column) => {\r\n const rootNode = findDOMNode(this);\r\n const { prefixCls } = this.props;\r\n const filterBelongToScrollBody = !!closest(rootNode, `${prefixCls}-scroll`);\r\n if (filterBelongToScrollBody) {\r\n // When fixed column have filters, there will be two dropdown menus\r\n // Filter dropdown menu inside scroll body should never be shown\r\n this.neverShown = !!column.fixed;\r\n }\r\n };\r\n this.setSelectedKeys = ({ selectedKeys }) => {\r\n this.setState({ selectedKeys });\r\n };\r\n this.handleClearFilters = () => {\r\n this.setState({\r\n selectedKeys: [],\r\n }, this.handleConfirm);\r\n };\r\n this.handleConfirm = () => {\r\n this.setVisible(false);\r\n this.confirmFilter();\r\n };\r\n this.onVisibleChange = (visible) => {\r\n this.setVisible(visible);\r\n if (!visible) {\r\n this.confirmFilter();\r\n }\r\n };\r\n this.handleFilterDropdownMenuClick = (e) => {\r\n e.preventDefault();\r\n };\r\n this.handleMenuItemClick = (info) => {\r\n if (info.keyPath.length <= 1) {\r\n return;\r\n }\r\n const { keyPathOfSelectedItem, selectedKeys } = this.state;\r\n if (selectedKeys.indexOf(info.key) >= 0) {\r\n // deselect SubMenu child\r\n delete keyPathOfSelectedItem[info.key];\r\n }\r\n else {\r\n // select SubMenu child\r\n keyPathOfSelectedItem[info.key] = info.keyPath;\r\n }\r\n this.setState({ keyPathOfSelectedItem });\r\n };\r\n this.renderFilterIcon = () => {\r\n const { column, locale, prefixCls, selectedKeys } = this.props;\r\n const filterIcon = column.filterIcon;\r\n const dropdownSelectedClass = selectedKeys.length > 0 ? `${prefixCls}-selected` : '';\r\n return filterIcon ? (cloneElement(filterIcon, {\r\n title: locale.filterTitle,\r\n className: classNames(filterIcon.className, {\r\n [`${prefixCls}-icon`]: true,\r\n }),\r\n })) : (<Icon title={locale.filterTitle} type=\"filter_list\" className={dropdownSelectedClass}/>);\r\n };\r\n const visible = 'filterDropdownVisible' in props.column ? props.column.filterDropdownVisible : false;\r\n this.state = {\r\n selectedKeys: props.selectedKeys,\r\n keyPathOfSelectedItem: {},\r\n visible,\r\n };\r\n }\r\n componentDidMount() {\r\n const { column } = this.props;\r\n this.setNeverShown(column);\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n const { column } = nextProps;\r\n this.setNeverShown(column);\r\n const newState = {};\r\n if ('selectedKeys' in nextProps) {\r\n newState.selectedKeys = nextProps.selectedKeys;\r\n }\r\n if ('filterDropdownVisible' in column) {\r\n newState.visible = column.filterDropdownVisible;\r\n }\r\n if (Object.keys(newState).length > 0) {\r\n this.setState(newState);\r\n }\r\n }\r\n setVisible(visible) {\r\n const { column } = this.props;\r\n if (!('filterDropdownVisible' in column)) {\r\n this.setState({ visible });\r\n }\r\n if (column.onFilterDropdownVisibleChange) {\r\n column.onFilterDropdownVisibleChange(visible);\r\n }\r\n }\r\n confirmFilter() {\r\n const { selectedKeys: propSelectedKeys, column, confirmFilter } = this.props;\r\n const { selectedKeys } = this.state;\r\n if (selectedKeys !== propSelectedKeys) {\r\n confirmFilter(column, selectedKeys);\r\n }\r\n }\r\n renderMenuItem(item) {\r\n const { column } = this.props;\r\n const { selectedKeys } = this.state;\r\n const multiple = 'filterMultiple' in column ? column.filterMultiple : false;\r\n const input = multiple ? null : (<Radio checked={selectedKeys.indexOf(item.value.toString()) >= 0}/>);\r\n return (<MenuItem key={item.value}>\n {input}\n <span>{item.text}</span>\n </MenuItem>);\r\n }\r\n hasSubMenu() {\r\n const { column: { filters = [] }, } = this.props;\r\n return filters.some(item => !!(item.children && item.children.length > 0));\r\n }\r\n renderMenus(items) {\r\n return items.map(item => {\r\n if (item.children && item.children.length > 0) {\r\n const { dropdownPrefixCls } = this.props;\r\n const { keyPathOfSelectedItem } = this.state;\r\n const containSelected = Object.keys(keyPathOfSelectedItem).some(key => keyPathOfSelectedItem[key].indexOf(item.value) >= 0);\r\n const subMenuCls = containSelected ? `${dropdownPrefixCls}-submenu-contain-selected` : '';\r\n return (<SubMenu title={item.text} className={subMenuCls} key={item.value.toString()}>\n {this.renderMenus(item.children)}\n </SubMenu>);\r\n }\r\n return this.renderMenuItem(item);\r\n });\r\n }\r\n render() {\r\n const { column, locale, prefixCls, dropdownPrefixCls, getPopupContainer } = this.props;\r\n const { visible, selectedKeys } = this.state;\r\n // default multiple selection in filter dropdown\r\n const multiple = 'filterMultiple' in column ? column.filterMultiple : false;\r\n const dropdownMenuClass = classNames({\r\n [`${dropdownPrefixCls}-menu-without-submenu`]: !this.hasSubMenu(),\r\n });\r\n const menus = column.filterDropdown ? (<FilterDropdownMenuWrapper onClick={this.handleFilterDropdownMenuClick}>\n {column.filterDropdown}\n </FilterDropdownMenuWrapper>) : (<FilterDropdownMenuWrapper className={`${prefixCls}-dropdown`} onClick={this.handleFilterDropdownMenuClick}>\n <Menu multiple={multiple} onClick={this.handleMenuItemClick} prefixCls={`${dropdownPrefixCls}-menu`} className={dropdownMenuClass} onSelect={this.setSelectedKeys} onDeselect={this.setSelectedKeys} selectedKeys={selectedKeys} getPopupContainer={(triggerNode) => triggerNode.parentNode}>\n {this.renderMenus(column.filters)}\n </Menu>\n <div className={`${prefixCls}-dropdown-btns`}>\n <a className={`${prefixCls}-dropdown-link confirm`} onClick={this.handleConfirm}>\n {locale.filterConfirm}\n </a>\n <a className={`${prefixCls}-dropdown-link clear`} onClick={this.handleClearFilters}>\n {locale.filterReset}\n </a>\n </div>\n </FilterDropdownMenuWrapper>);\r\n return (<Dropdown trigger={['click']} overlay={menus} visible={this.neverShown ? false : visible} onVisibleChange={this.onVisibleChange} getPopupContainer={getPopupContainer} forceRender>\n {this.renderFilterIcon()}\n </Dropdown>);\r\n }\r\n}\r\nFilterMenu.defaultProps = {\r\n handleFilter() { },\r\n column: {},\r\n};\r\n","import Table from './Table';\r\nexport * from './interface';\r\nexport default Table;\r\n","import { Children, isValidElement } from 'react';\r\nexport function flatArray(data = [], childrenName = 'children') {\r\n const result = [];\r\n const loop = (array) => {\r\n array.forEach(item => {\r\n if (item[childrenName]) {\r\n const newItem = { ...item };\r\n delete newItem[childrenName];\r\n result.push(newItem);\r\n if (item[childrenName].length > 0) {\r\n loop(item[childrenName]);\r\n }\r\n }\r\n else {\r\n result.push(item);\r\n }\r\n });\r\n };\r\n loop(data);\r\n return result;\r\n}\r\nexport function treeMap(tree, mapper, childrenName = 'children') {\r\n return tree.map((node, index) => {\r\n const extra = {};\r\n if (node[childrenName]) {\r\n extra[childrenName] = treeMap(node[childrenName], mapper, childrenName);\r\n }\r\n return {\r\n ...mapper(node, index),\r\n ...extra,\r\n };\r\n });\r\n}\r\nexport function flatFilter(tree, callback) {\r\n return tree.reduce((acc, node) => {\r\n if (callback(node)) {\r\n acc.push(node);\r\n }\r\n if (node.children) {\r\n const children = flatFilter(node.children, callback);\r\n acc.push(...children);\r\n }\r\n return acc;\r\n }, []);\r\n}\r\nexport function normalizeColumns(elements) {\r\n const columns = [];\r\n Children.forEach(elements, element => {\r\n if (!isValidElement(element)) {\r\n return;\r\n }\r\n const column = {\r\n ...element.props,\r\n };\r\n if (element.key) {\r\n column.key = element.key;\r\n }\r\n if (element.type && element.type.__ANT_TABLE_COLUMN_GROUP) {\r\n column.children = normalizeColumns(column.children);\r\n }\r\n columns.push(column);\r\n });\r\n return columns;\r\n}\r\nexport function getLeafColumns(columns) {\r\n return flatFilter(columns, c => !c.children);\r\n}\r\nexport function getColumnKey(column, index) {\r\n return column.key || column.dataIndex || index;\r\n}\r\nexport function findColumnByFilterValue(record, columns, inputValue) {\r\n return columns.find(col => {\r\n const key = getColumnKey(col);\r\n if (key) {\r\n let value = record[key];\r\n if (value && typeof value !== 'object') {\r\n value = value.toString();\r\n if (value.toLowerCase().indexOf(inputValue.toLowerCase()) !== -1) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n });\r\n}\r\nexport function filterByInputValue(dataSource, columns, inputValue, cb) {\r\n dataSource.forEach(data => {\r\n const column = findColumnByFilterValue(data, columns, inputValue);\r\n if (column) {\r\n cb(data, column);\r\n }\r\n });\r\n}\r\nexport function removeHiddenColumns(columns) {\r\n return columns.filter(c => {\r\n if (c.hidden) {\r\n return false;\r\n }\r\n if (c.children) {\r\n const children = removeHiddenColumns(c.children);\r\n if (children.length) {\r\n c.children = children;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n return true;\r\n });\r\n}\r\n","export var TabsType;\r\n(function (TabsType) {\r\n TabsType[\"line\"] = \"line\";\r\n TabsType[\"card\"] = \"card\";\r\n TabsType[\"editable-card\"] = \"editable-card\";\r\n})(TabsType || (TabsType = {}));\r\nexport var TabsPosition;\r\n(function (TabsPosition) {\r\n TabsPosition[\"top\"] = \"top\";\r\n TabsPosition[\"bottom\"] = \"bottom\";\r\n TabsPosition[\"left\"] = \"left\";\r\n TabsPosition[\"right\"] = \"right\";\r\n})(TabsPosition || (TabsPosition = {}));\r\n","import React, { Children, cloneElement, Component, } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport classNames from 'classnames';\r\nimport Icon from '../icon';\r\nimport warning from '../_util/warning';\r\nimport isFlexSupported from '../_util/isFlexSupported';\r\nimport RcTabs, { TabContent, TabPane } from '../rc-components/tabs';\r\nimport ScrollableInkTabBar from '../rc-components/tabs/ScrollableInkTabBar';\r\nimport { generateKey } from '../rc-components/tabs/utils';\r\nimport { Size } from '../_util/enum';\r\nimport { TabsPosition, TabsType } from './enum';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Tabs extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.createNewTab = targetKey => {\r\n const { onEdit } = this.props;\r\n if (onEdit) {\r\n onEdit(targetKey, 'add');\r\n }\r\n };\r\n this.removeTab = (targetKey, e) => {\r\n e.stopPropagation();\r\n if (!targetKey) {\r\n return;\r\n }\r\n const { onEdit } = this.props;\r\n if (onEdit) {\r\n onEdit(targetKey, 'remove');\r\n }\r\n };\r\n this.handleChange = (activeKey) => {\r\n const { onChange } = this.props;\r\n if (onChange) {\r\n onChange(activeKey);\r\n }\r\n };\r\n }\r\n componentDidMount() {\r\n const NO_FLEX = ' no-flex';\r\n const tabNode = findDOMNode(this);\r\n if (tabNode && !isFlexSupported() && tabNode.className.indexOf(NO_FLEX) === -1) {\r\n tabNode.className += NO_FLEX;\r\n }\r\n }\r\n render() {\r\n const { prefixCls: customizePrefixCls, className = '', size, type = TabsType.line, tabPosition, children, tabBarStyle, hideAdd, onTabClick, onPrevClick, onNextClick, animated = true, tabBarGutter, } = this.props;\r\n let { tabBarExtraContent } = this.props;\r\n const prefixCls = getPrefixCls('tabs', customizePrefixCls);\r\n const inkBarAnimated = typeof animated === 'object' ? animated.inkBar : animated;\r\n let tabPaneAnimated = typeof animated === 'object' ? animated.tabPane : animated;\r\n // card tabs should not have animation\r\n if (type !== TabsType.line) {\r\n tabPaneAnimated = 'animated' in this.props ? tabPaneAnimated : false;\r\n }\r\n const isCard = type === TabsType.card || type === TabsType['editable-card'];\r\n warning(!(isCard && (size === Size.small || size === Size.large)), \"Tabs[type=card|editable-card] doesn't have small or large size, it's by designed.\");\r\n const cls = classNames(className, `${prefixCls}-${type}`, {\r\n [`${prefixCls}-vertical`]: tabPosition === TabsPosition.left || tabPosition === TabsPosition.right,\r\n [`${prefixCls}-${size}`]: !!size,\r\n [`${prefixCls}-card`]: isCard,\r\n [`${prefixCls}-no-animation`]: !tabPaneAnimated,\r\n });\r\n // only card type tabs can be added and closed\r\n let childrenWithClose = [];\r\n if (type === TabsType['editable-card']) {\r\n childrenWithClose = [];\r\n Children.forEach(children, (child, index) => {\r\n let closable = child.props.closable;\r\n closable = typeof closable === 'undefined' ? true : closable;\r\n const closeIcon = closable ? (<Icon type=\"close\" onClick={e => this.removeTab(child.key, e)}/>) : null;\r\n childrenWithClose.push(cloneElement(child, {\r\n tab: (<div className={closable ? undefined : `${prefixCls}-tab-unclosable`}>\n {child.props.tab}\n {closeIcon}\n </div>),\r\n key: generateKey(child.key, index),\r\n }));\r\n });\r\n // Add new tab handler\r\n if (!hideAdd) {\r\n tabBarExtraContent = (<span>\n <Icon type=\"plus\" className={`${prefixCls}-new-tab`} onClick={this.createNewTab}/>\n {tabBarExtraContent}\n </span>);\r\n }\r\n }\r\n tabBarExtraContent = tabBarExtraContent ? (<div className={`${prefixCls}-extra-content`}>{tabBarExtraContent}</div>) : null;\r\n const renderTabBar = () => (<ScrollableInkTabBar inkBarAnimated={inkBarAnimated} extraContent={tabBarExtraContent} onTabClick={onTabClick} onPrevClick={onPrevClick} onNextClick={onNextClick} style={tabBarStyle} tabBarGutter={tabBarGutter}/>);\r\n return (<RcTabs {...this.props} prefixCls={prefixCls} className={cls} tabBarPosition={tabPosition} renderTabBar={renderTabBar} renderTabContent={() => <TabContent animated={tabPaneAnimated} animatedWithMargin/>} onChange={this.handleChange}>\n {childrenWithClose.length > 0 ? childrenWithClose : children}\n </RcTabs>);\r\n }\r\n}\r\nTabs.displayName = 'Tabs';\r\nTabs.TabPane = TabPane;\r\nTabs.defaultProps = {\r\n hideAdd: false,\r\n};\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class CheckableTag extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.handleClick = () => {\r\n const { checked, onChange } = this.props;\r\n if (onChange) {\r\n onChange(!checked);\r\n }\r\n };\r\n }\r\n render() {\r\n const { prefixCls: customizePrefixCls, className, checked, ...restProps } = this.props;\r\n const prefixCls = getPrefixCls('tag', customizePrefixCls);\r\n const cls = classNames(prefixCls, {\r\n [`${prefixCls}-checkable`]: true,\r\n [`${prefixCls}-checkable-checked`]: checked,\r\n }, className);\r\n delete restProps.onChange; // TypeScript cannot check delete now.\r\n return <div {...restProps} className={cls} onClick={this.handleClick}/>;\r\n }\r\n}\r\nCheckableTag.displayName = 'CheckableTag';\r\n","import React, { Component } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport classNames from 'classnames';\r\nimport omit from 'lodash/omit';\r\nimport Icon from '../icon';\r\nimport CheckableTag from './CheckableTag';\r\nimport Animate from '../animate';\r\nimport { getPrefixCls } from '../configure';\r\nexport { CheckableTagProps } from './CheckableTag';\r\nexport default class Tag extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.state = {\r\n closing: false,\r\n closed: false,\r\n };\r\n this.close = e => {\r\n const { onClose } = this.props;\r\n if (onClose) {\r\n onClose(e);\r\n }\r\n if (e.defaultPrevented) {\r\n return;\r\n }\r\n const dom = findDOMNode(this);\r\n dom.style.width = `${dom.getBoundingClientRect().width}px`;\r\n // It's Magic Code, don't know why\r\n dom.style.width = `${dom.getBoundingClientRect().width}px`;\r\n this.setState({\r\n closing: true,\r\n });\r\n };\r\n this.animationEnd = (_, existed) => {\r\n const { closed } = this.state;\r\n if (!existed && !closed) {\r\n this.setState({\r\n closed: true,\r\n closing: false,\r\n });\r\n const { afterClose } = this.props;\r\n if (afterClose) {\r\n afterClose();\r\n }\r\n }\r\n };\r\n }\r\n isPresetColor(color) {\r\n if (!color) {\r\n return false;\r\n }\r\n return /^(pink|red|yellow|orange|cyan|green|blue|purple|geekblue|magenta|volcano|gold|lime)(-inverse)?$/.test(color);\r\n }\r\n render() {\r\n const { prefixCls: customizePrefixCls, closable, color, className, children, style, ...otherProps } = this.props;\r\n const prefixCls = getPrefixCls('tag', customizePrefixCls);\r\n const { closing, closed } = this.state;\r\n const closeIcon = closable ? <Icon type=\"close\" onClick={this.close}/> : '';\r\n const isPresetColor = this.isPresetColor(color);\r\n const classString = classNames(prefixCls, {\r\n [`${prefixCls}-${color}`]: isPresetColor,\r\n [`${prefixCls}-has-color`]: color && !isPresetColor,\r\n [`${prefixCls}-close`]: closing,\r\n }, className);\r\n // fix https://fb.me/react-unknown-prop\r\n const divProps = omit(otherProps, ['onClose', 'afterClose']);\r\n const tagStyle = {\r\n ...style,\r\n };\r\n if (color && !isPresetColor) {\r\n tagStyle.backgroundColor = color;\r\n }\r\n const tag = closed ? null : (<div hidden={closing} {...divProps} className={classString} style={tagStyle}>\n {children}\n {closeIcon}\n </div>);\r\n return (<Animate component=\"\" hiddenProp=\"hidden\" transitionName={`${prefixCls}-zoom`} transitionAppear onEnd={this.animationEnd}>\n {tag}\n </Animate>);\r\n }\r\n}\r\nTag.displayName = 'Tag';\r\nTag.CheckableTag = CheckableTag;\r\nTag.defaultProps = {\r\n closable: false,\r\n};\r\n","import React, { Component } from 'react';\r\nimport moment from 'moment';\r\nimport classNames from 'classnames';\r\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\r\nimport defaultLocale from './locale/en_US';\r\nimport interopDefault from '../_util/interopDefault';\r\nimport RcTimePicker from '../rc-components/time-picker';\r\nimport { getPrefixCls } from '../configure';\r\nexport function generateShowHourMinuteSecond(format) {\r\n // Ref: http://momentjs.com/docs/#/parsing/string-format/\r\n return {\r\n showHour: format.indexOf('H') > -1 || format.indexOf('h') > -1 || format.indexOf('k') > -1,\r\n showMinute: format.indexOf('m') > -1,\r\n showSecond: format.indexOf('s') > -1,\r\n };\r\n}\r\nexport default class TimePicker extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleChange = (value) => {\r\n if (!('value' in this.props)) {\r\n this.setState({ value });\r\n }\r\n const { onChange, format = 'HH:mm:ss' } = this.props;\r\n if (onChange) {\r\n onChange(value, (value && value.format(format)) || '');\r\n }\r\n };\r\n this.handleOpenClose = ({ open }) => {\r\n const { onOpenChange } = this.props;\r\n if (onOpenChange) {\r\n onOpenChange(open);\r\n }\r\n };\r\n this.saveTimePicker = (timePickerRef) => {\r\n this.timePickerRef = timePickerRef;\r\n };\r\n this.renderTimePicker = (locale) => {\r\n const props = {\r\n ...this.props,\r\n };\r\n const { value } = this.state;\r\n delete props.defaultValue;\r\n const prefixCls = getPrefixCls('time-picker', props.prefixCls);\r\n const format = this.getDefaultFormat();\r\n const className = classNames(props.className, {\r\n [`${prefixCls}-${props.size}`]: !!props.size,\r\n });\r\n const addon = (panel) => props.addon ? <div className={`${prefixCls}-panel-addon`}>{props.addon(panel)}</div> : null;\r\n return (<RcTimePicker {...generateShowHourMinuteSecond(format)} {...props} prefixCls={prefixCls} ref={this.saveTimePicker} format={format} className={className} value={value} placeholder={props.placeholder === undefined ? locale.placeholder : props.placeholder} onChange={this.handleChange} onOpen={this.handleOpenClose} onClose={this.handleOpenClose} addon={addon}/>);\r\n };\r\n const value = props.value || props.defaultValue;\r\n if (value && !interopDefault(moment).isMoment(value)) {\r\n throw new Error('The value/defaultValue of TimePicker must be a moment object');\r\n }\r\n this.state = {\r\n value,\r\n };\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if ('value' in nextProps) {\r\n this.setState({ value: nextProps.value });\r\n }\r\n }\r\n focus() {\r\n this.timePickerRef.focus();\r\n }\r\n blur() {\r\n this.timePickerRef.blur();\r\n }\r\n getDefaultFormat() {\r\n const { format, use12Hours } = this.props;\r\n if (format) {\r\n return format;\r\n }\r\n if (use12Hours) {\r\n return 'h:mm:ss a';\r\n }\r\n return 'HH:mm:ss';\r\n }\r\n render() {\r\n return (<LocaleReceiver componentName=\"TimePicker\" defaultLocale={defaultLocale}>\n {this.renderTimePicker}\n </LocaleReceiver>);\r\n }\r\n}\r\nTimePicker.displayName = 'TimePicker';\r\nTimePicker.defaultProps = {\r\n align: {\r\n offset: [0, -2],\r\n },\r\n disabled: false,\r\n disabledHours: undefined,\r\n disabledMinutes: undefined,\r\n disabledSeconds: undefined,\r\n hideDisabledOptions: false,\r\n placement: 'bottomLeft',\r\n transitionName: 'slide-up',\r\n focusOnOpen: true,\r\n};\r\n","const locale = {\r\n placeholder: 'اختيار الوقت',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Избор на час',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Seleccionar hora',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Vybrat čas',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Zeit auswählen',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Επιλέξτε ώρα',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Select time',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Select time',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Seleccionar hora',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Vali aeg',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'انتخاب زمان',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Valitse aika',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Sélectionner l\\'heure',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Sélectionner l\\'heure',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Velja tíma',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Selezionare il tempo',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: '時刻を選択',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: '날짜 선택',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Demê hilbijêre',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Velg tid',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Selecteer tijd',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Selecteer tijd',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Wybierz godzinę',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Hora',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Hora',\r\n};\r\nexport default locale;\r\n","/**\r\n * Created by Andrey Gayvoronsky on 13/04/16.\r\n */\r\nconst locale = {\r\n placeholder: 'Выберите время',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Vybrať čas',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Izberite čas',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Izaberite vreme',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Välj tid',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'เลือกเวลา',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Zaman Seç',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Оберіть час',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: 'Chọn thời gian',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: '请选择时间',\r\n};\r\nexport default locale;\r\n","const locale = {\r\n placeholder: '請選擇時間',\r\n};\r\nexport default locale;\r\n","import React, { Children, cloneElement, Component, } from 'react';\r\nimport classNames from 'classnames';\r\nimport TimelineItem from './TimelineItem';\r\nimport Icon from '../icon';\r\nimport { getPrefixCls } from '../configure';\r\nexport default class Timeline extends Component {\r\n render() {\r\n const { prefixCls: customizePrefixCls, children, pending, pendingDot, className, ...restProps } = this.props;\r\n const pendingNode = typeof pending === 'boolean' ? null : pending;\r\n const prefixCls = getPrefixCls('timeline', customizePrefixCls);\r\n const classString = classNames(prefixCls, {\r\n [`${prefixCls}-pending`]: !!pending,\r\n }, className);\r\n // Remove falsy items\r\n const falsylessItems = Children.toArray(children).filter(item => !!item);\r\n const items = Children.map(falsylessItems, (ele, idx) => cloneElement(ele, {\r\n last: idx === Children.count(falsylessItems) - 1,\r\n }));\r\n const pendingItem = pending ? (<TimelineItem pending={!!pending} dot={pendingDot || <Icon type=\"loading\"/>}>\n {pendingNode}\n </TimelineItem>) : null;\r\n return (<ul {...restProps} className={classString}>\n {items}\n {pendingItem}\n </ul>);\r\n }\r\n}\r\nTimeline.displayName = 'Timeline';\r\nTimeline.Item = TimelineItem;\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport { getPrefixCls } from '../configure';\r\nconst TimelineItem = props => {\r\n const { prefixCls: customizePrefixCls, className, color = '', last, children, pending, dot, ...restProps } = props;\r\n const prefixCls = getPrefixCls('timeline', customizePrefixCls);\r\n const itemClassName = classNames({\r\n [`${prefixCls}-item`]: true,\r\n [`${prefixCls}-item-last`]: last,\r\n [`${prefixCls}-item-pending`]: pending,\r\n }, className);\r\n const dotClassName = classNames({\r\n [`${prefixCls}-item-head`]: true,\r\n [`${prefixCls}-item-head-custom`]: dot,\r\n [`${prefixCls}-item-head-${color}`]: true,\r\n });\r\n return (<li {...restProps} className={itemClassName}>\n <div className={`${prefixCls}-item-tail`}/>\n <div className={dotClassName} style={{ borderColor: /blue|red|green/.test(color) ? undefined : color }}>\n {dot}\n </div>\n <div className={`${prefixCls}-item-content`}>{children}</div>\n </li>);\r\n};\r\nTimelineItem.displayName = 'TimelineItem';\r\nTimelineItem.defaultProps = {\r\n color: 'blue',\r\n last: false,\r\n pending: false,\r\n};\r\nexport default TimelineItem;\r\n","import Timeline from './Timeline';\r\nexport { TimelineProps } from './Timeline';\r\nexport { TimeLineItemProps } from './TimelineItem';\r\nexport default Timeline;\r\n","import React, { cloneElement, Component, isValidElement, } from 'react';\r\nimport classNames from 'classnames';\r\nimport getPlacements, { AdjustOverflow, PlacementsConfig } from './placements';\r\nimport RcTooltip from '../rc-components/tooltip';\r\nimport { getPrefixCls } from '../configure';\r\nexport { AdjustOverflow, PlacementsConfig };\r\nconst splitObject = (obj, keys) => {\r\n const picked = {};\r\n const omited = { ...obj };\r\n keys.forEach(key => {\r\n if (obj && key in obj) {\r\n picked[key] = obj[key];\r\n delete omited[key];\r\n }\r\n });\r\n return { picked, omited };\r\n};\r\nexport default class Tooltip extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.onVisibleChange = (visible) => {\r\n const { onVisibleChange } = this.props;\r\n if (!('visible' in this.props)) {\r\n this.setState({ visible: this.isNoTitle() ? false : visible });\r\n }\r\n if (onVisibleChange && !this.isNoTitle()) {\r\n onVisibleChange(visible);\r\n }\r\n };\r\n // 动态设置动画点\r\n this.onPopupAlign = (domNode, align) => {\r\n const placements = this.getPlacements();\r\n // 当前返回的位置\r\n const placement = Object.keys(placements).filter(key => placements[key].points[0] === align.points[0] &&\r\n placements[key].points[1] === align.points[1])[0];\r\n if (!placement) {\r\n return;\r\n }\r\n // 根据当前坐标设置动画点\r\n const rect = domNode.getBoundingClientRect();\r\n const transformOrigin = {\r\n top: '50%',\r\n left: '50%',\r\n };\r\n if (placement.indexOf('top') >= 0 || placement.indexOf('Bottom') >= 0) {\r\n transformOrigin.top = `${rect.height - align.offset[1]}px`;\r\n }\r\n else if (placement.indexOf('Top') >= 0 || placement.indexOf('bottom') >= 0) {\r\n transformOrigin.top = `${-align.offset[1]}px`;\r\n }\r\n if (placement.indexOf('left') >= 0 || placement.indexOf('Right') >= 0) {\r\n transformOrigin.left = `${rect.width - align.offset[0]}px`;\r\n }\r\n else if (placement.indexOf('right') >= 0 || placement.indexOf('Left') >= 0) {\r\n transformOrigin.left = `${-align.offset[0]}px`;\r\n }\r\n domNode.style.transformOrigin = `${transformOrigin.left} ${transformOrigin.top}`;\r\n };\r\n this.saveTooltip = (node) => {\r\n this.tooltip = node;\r\n };\r\n this.state = {\r\n visible: !!props.visible || !!props.defaultVisible,\r\n };\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if ('visible' in nextProps) {\r\n this.setState({ visible: nextProps.visible });\r\n }\r\n }\r\n getPopupDomNode() {\r\n return this.tooltip.getPopupDomNode();\r\n }\r\n getPlacements() {\r\n const { builtinPlacements, arrowPointAtCenter, autoAdjustOverflow } = this.props;\r\n return (builtinPlacements ||\r\n getPlacements({\r\n arrowPointAtCenter,\r\n verticalArrowShift: 8,\r\n autoAdjustOverflow,\r\n }));\r\n }\r\n isHoverTrigger() {\r\n const { trigger } = this.props;\r\n if (!trigger || trigger === 'hover') {\r\n return true;\r\n }\r\n if (Array.isArray(trigger)) {\r\n return trigger.indexOf('hover') >= 0;\r\n }\r\n return false;\r\n }\r\n // Fix Tooltip won't hide at disabled button\r\n // mouse events don't trigger at disabled button in Chrome\r\n // https://github.com/react-component/tooltip/issues/18\r\n getDisabledCompatibleChildren(element) {\r\n if ((element.type.__ANT_BUTTON || element.type === 'button') &&\r\n element.props.disabled &&\r\n this.isHoverTrigger()) {\r\n // Pick some layout related style properties up to span\r\n const { picked, omited } = splitObject(element.props.style, [\r\n 'position',\r\n 'left',\r\n 'right',\r\n 'top',\r\n 'bottom',\r\n 'float',\r\n 'display',\r\n 'zIndex',\r\n ]);\r\n const spanStyle = {\r\n display: 'inline-block',\r\n ...picked,\r\n cursor: 'not-allowed',\r\n };\r\n const buttonStyle = {\r\n ...omited,\r\n pointerEvents: 'none',\r\n };\r\n const child = cloneElement(element, {\r\n style: buttonStyle,\r\n className: null,\r\n });\r\n return (<span style={spanStyle} className={element.props.className}>\n {child}\n </span>);\r\n }\r\n return element;\r\n }\r\n isNoTitle() {\r\n const { title, overlay } = this.props;\r\n return !title && !overlay; // overlay for old version compatibility\r\n }\r\n render() {\r\n const { props, state } = this;\r\n const { prefixCls: customizePrefixCls, title, overlay, openClassName, getPopupContainer, getTooltipContainer, } = props;\r\n const prefixCls = getPrefixCls('tooltip', customizePrefixCls);\r\n const children = props.children;\r\n let visible = state.visible;\r\n // Hide tooltip when there is no title\r\n if (!('visible' in props) && this.isNoTitle()) {\r\n visible = false;\r\n }\r\n const child = this.getDisabledCompatibleChildren(isValidElement(children) ? children : <span>{children}</span>);\r\n const childProps = child.props;\r\n const childCls = classNames(childProps.className, {\r\n [openClassName || `${prefixCls}-open`]: true,\r\n });\r\n return (<RcTooltip {...this.props} prefixCls={prefixCls} getTooltipContainer={getPopupContainer || getTooltipContainer} ref={this.saveTooltip} builtinPlacements={this.getPlacements()} overlay={overlay || title || ''} visible={visible} onVisibleChange={this.onVisibleChange} onPopupAlign={this.onPopupAlign}>\n {visible ? cloneElement(child, { className: childCls }) : child}\n </RcTooltip>);\r\n }\r\n}\r\nTooltip.displayName = 'Tooltip';\r\nTooltip.defaultProps = {\r\n placement: 'top',\r\n transitionName: 'zoom-big-fast',\r\n mouseEnterDelay: 0.1,\r\n mouseLeaveDelay: 0.1,\r\n arrowPointAtCenter: false,\r\n autoAdjustOverflow: true,\r\n};\r\n","import rcPlacements from '../rc-components/tooltip/placements';\r\nconst autoAdjustOverflowEnabled = {\r\n adjustX: 1,\r\n adjustY: 1,\r\n};\r\nconst autoAdjustOverflowDisabled = {\r\n adjustX: 0,\r\n adjustY: 0,\r\n};\r\nconst targetOffset = [0, 0];\r\nexport function getOverflowOptions(autoAdjustOverflow) {\r\n if (typeof autoAdjustOverflow === 'boolean') {\r\n return autoAdjustOverflow ? autoAdjustOverflowEnabled : autoAdjustOverflowDisabled;\r\n }\r\n return {\r\n ...autoAdjustOverflowDisabled,\r\n ...autoAdjustOverflow,\r\n };\r\n}\r\nexport default function getPlacements(config = {}) {\r\n const { arrowWidth = 5, horizontalArrowShift = 16, verticalArrowShift = 12, autoAdjustOverflow = true } = config;\r\n const placementMap = {\r\n left: {\r\n points: ['cr', 'cl'],\r\n offset: [-4, 0],\r\n },\r\n right: {\r\n points: ['cl', 'cr'],\r\n offset: [4, 0],\r\n },\r\n top: {\r\n points: ['bc', 'tc'],\r\n offset: [0, -4],\r\n },\r\n bottom: {\r\n points: ['tc', 'bc'],\r\n offset: [0, 4],\r\n },\r\n topLeft: {\r\n points: ['bl', 'tc'],\r\n offset: [-(horizontalArrowShift + arrowWidth), -4],\r\n },\r\n leftTop: {\r\n points: ['tr', 'cl'],\r\n offset: [-4, -(verticalArrowShift + arrowWidth)],\r\n },\r\n topRight: {\r\n points: ['br', 'tc'],\r\n offset: [horizontalArrowShift + arrowWidth, -4],\r\n },\r\n rightTop: {\r\n points: ['tl', 'cr'],\r\n offset: [4, -(verticalArrowShift + arrowWidth)],\r\n },\r\n bottomRight: {\r\n points: ['tr', 'bc'],\r\n offset: [horizontalArrowShift + arrowWidth, 4],\r\n },\r\n rightBottom: {\r\n points: ['bl', 'cr'],\r\n offset: [4, verticalArrowShift + arrowWidth],\r\n },\r\n bottomLeft: {\r\n points: ['tl', 'bc'],\r\n offset: [-(horizontalArrowShift + arrowWidth), 4],\r\n },\r\n leftBottom: {\r\n points: ['br', 'cl'],\r\n offset: [-4, verticalArrowShift + arrowWidth],\r\n },\r\n };\r\n Object.keys(placementMap).forEach(key => {\r\n placementMap[key] = config.arrowPointAtCenter ? {\r\n ...placementMap[key],\r\n overflow: getOverflowOptions(autoAdjustOverflow),\r\n targetOffset,\r\n } : {\r\n ...rcPlacements[key],\r\n overflow: getOverflowOptions(autoAdjustOverflow),\r\n };\r\n });\r\n return placementMap;\r\n}\r\n","export var TransferDirection;\r\n(function (TransferDirection) {\r\n TransferDirection[\"left\"] = \"left\";\r\n TransferDirection[\"right\"] = \"right\";\r\n})(TransferDirection || (TransferDirection = {}));\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport noop from 'lodash/noop';\r\nimport List from './list';\r\nimport Operation from './operation';\r\nimport Search from './search';\r\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\r\nimport defaultLocale from '../locale-provider/default';\r\nimport { TransferDirection } from './enum';\r\nimport { getPrefixCls } from '../configure';\r\nexport { TransferListProps } from './list';\r\nexport { TransferOperationProps } from './operation';\r\nexport { TransferSearchProps } from './search';\r\nexport default class Transfer extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.moveTo = (direction) => {\r\n const { targetKeys = [], dataSource = [], onChange } = this.props;\r\n const { sourceSelectedKeys, targetSelectedKeys } = this.state;\r\n const moveKeys = direction === TransferDirection.right ? sourceSelectedKeys : targetSelectedKeys;\r\n // filter the disabled options\r\n const newMoveKeys = moveKeys.filter((key) => !dataSource.some(data => !!(key === data.key && data.disabled)));\r\n // move items to target box\r\n const newTargetKeys = direction === TransferDirection.right\r\n ? newMoveKeys.concat(targetKeys)\r\n : targetKeys.filter(targetKey => newMoveKeys.indexOf(targetKey) === -1);\r\n // empty checked keys\r\n const oppositeDirection = direction === TransferDirection.right ? TransferDirection.left : TransferDirection.right;\r\n this.setState({\r\n [this.getSelectedKeysName(oppositeDirection)]: [],\r\n });\r\n this.handleSelectChange(oppositeDirection, []);\r\n if (onChange) {\r\n onChange(newTargetKeys, direction, newMoveKeys);\r\n }\r\n };\r\n this.moveToLeft = () => this.moveTo(TransferDirection.left);\r\n this.moveToRight = () => this.moveTo(TransferDirection.right);\r\n this.handleSelectAll = (direction, filteredDataSource, checkAll) => {\r\n const { state, props: { selectedKeys }, } = this;\r\n const originalSelectedKeys = state[this.getSelectedKeysName(direction)] || [];\r\n const currentKeys = filteredDataSource.map(item => item.key);\r\n // Only operate current keys from original selected keys\r\n const newKeys1 = originalSelectedKeys.filter((key) => currentKeys.indexOf(key) === -1);\r\n const newKeys2 = [...originalSelectedKeys];\r\n currentKeys.forEach(key => {\r\n if (newKeys2.indexOf(key) === -1) {\r\n newKeys2.push(key);\r\n }\r\n });\r\n const holder = checkAll ? newKeys1 : newKeys2;\r\n this.handleSelectChange(direction, holder);\r\n if (!selectedKeys) {\r\n this.setState({\r\n [this.getSelectedKeysName(direction)]: holder,\r\n });\r\n }\r\n };\r\n this.handleLeftSelectAll = (filteredDataSource, checkAll) => this.handleSelectAll(TransferDirection.left, filteredDataSource, checkAll);\r\n this.handleRightSelectAll = (filteredDataSource, checkAll) => this.handleSelectAll(TransferDirection.right, filteredDataSource, checkAll);\r\n this.handleFilter = (direction, e) => {\r\n const { onSearchChange } = this.props;\r\n this.setState({\r\n // add filter\r\n [`${direction}Filter`]: e.target.value,\r\n });\r\n if (onSearchChange) {\r\n onSearchChange(direction, e);\r\n }\r\n };\r\n this.handleLeftFilter = (e) => this.handleFilter(TransferDirection.left, e);\r\n this.handleRightFilter = (e) => this.handleFilter(TransferDirection.right, e);\r\n this.handleClear = (direction) => {\r\n this.setState({\r\n [`${direction}Filter`]: '',\r\n });\r\n };\r\n this.handleLeftClear = () => this.handleClear(TransferDirection.left);\r\n this.handleRightClear = () => this.handleClear(TransferDirection.right);\r\n this.handleSelect = (direction, selectedItem, checked) => {\r\n const { selectedKeys } = this.props;\r\n const { sourceSelectedKeys, targetSelectedKeys } = this.state;\r\n const holder = direction === TransferDirection.left ? [...sourceSelectedKeys] : [...targetSelectedKeys];\r\n const index = holder.indexOf(selectedItem.key);\r\n if (index > -1) {\r\n holder.splice(index, 1);\r\n }\r\n if (checked) {\r\n holder.push(selectedItem.key);\r\n }\r\n this.handleSelectChange(direction, holder);\r\n if (!selectedKeys) {\r\n this.setState({\r\n [this.getSelectedKeysName(direction)]: holder,\r\n });\r\n }\r\n };\r\n this.handleLeftSelect = (selectedItem, checked) => {\r\n return this.handleSelect(TransferDirection.left, selectedItem, checked);\r\n };\r\n this.handleRightSelect = (selectedItem, checked) => {\r\n return this.handleSelect(TransferDirection.right, selectedItem, checked);\r\n };\r\n this.handleScroll = (direction, e) => {\r\n const { onScroll } = this.props;\r\n if (onScroll) {\r\n onScroll(direction, e);\r\n }\r\n };\r\n this.handleLeftScroll = (e) => this.handleScroll(TransferDirection.left, e);\r\n this.handleRightScroll = (e) => this.handleScroll(TransferDirection.right, e);\r\n this.renderTransfer = (locale) => {\r\n const { prefixCls: customizePrefixCls, className, operations = [], showSearch, notFoundContent, searchPlaceholder, body, footer, listStyle, filterOption, render, lazy, } = this.props;\r\n const prefixCls = getPrefixCls('transfer', customizePrefixCls);\r\n const { leftFilter, rightFilter, sourceSelectedKeys, targetSelectedKeys } = this.state;\r\n const { leftDataSource, rightDataSource } = this.splitDataSource();\r\n const leftActive = targetSelectedKeys.length > 0;\r\n const rightActive = sourceSelectedKeys.length > 0;\r\n const cls = classNames(className, prefixCls);\r\n const titles = this.getTitles(locale);\r\n return (<div className={cls}>\n <List prefixCls={`${prefixCls}-list`} titleText={titles[0]} dataSource={leftDataSource} filter={leftFilter} filterOption={filterOption} style={listStyle} checkedKeys={sourceSelectedKeys} handleFilter={this.handleLeftFilter} handleClear={this.handleLeftClear} handleSelect={this.handleLeftSelect} handleSelectAll={this.handleLeftSelectAll} render={render} showSearch={showSearch} searchPlaceholder={searchPlaceholder || locale.searchPlaceholder} notFoundContent={notFoundContent || locale.notFoundContent} itemUnit={locale.itemUnit} itemsUnit={locale.itemsUnit} body={body} footer={footer} lazy={lazy} onScroll={this.handleLeftScroll}/>\n <Operation className={`${prefixCls}-operation`} rightActive={rightActive} rightArrowText={operations[0]} moveToRight={this.moveToRight} leftActive={leftActive} leftArrowText={operations[1]} moveToLeft={this.moveToLeft}/>\n <List prefixCls={`${prefixCls}-list`} titleText={titles[1]} dataSource={rightDataSource} filter={rightFilter} filterOption={filterOption} style={listStyle} checkedKeys={targetSelectedKeys} handleFilter={this.handleRightFilter} handleClear={this.handleRightClear} handleSelect={this.handleRightSelect} handleSelectAll={this.handleRightSelectAll} render={render} showSearch={showSearch} searchPlaceholder={searchPlaceholder || locale.searchPlaceholder} notFoundContent={notFoundContent || locale.notFoundContent} itemUnit={locale.itemUnit} itemsUnit={locale.itemsUnit} body={body} footer={footer} lazy={lazy} onScroll={this.handleRightScroll}/>\n </div>);\r\n };\r\n const { selectedKeys = [], targetKeys = [] } = props;\r\n this.state = {\r\n leftFilter: '',\r\n rightFilter: '',\r\n sourceSelectedKeys: selectedKeys.filter(key => targetKeys.indexOf(key) === -1),\r\n targetSelectedKeys: selectedKeys.filter(key => targetKeys.indexOf(key) > -1),\r\n };\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n const { sourceSelectedKeys, targetSelectedKeys } = this.state;\r\n const { props } = this;\r\n if (nextProps.targetKeys !== props.targetKeys || nextProps.dataSource !== props.dataSource) {\r\n // clear cached splited dataSource\r\n this.splitedDataSource = null;\r\n if (!nextProps.selectedKeys) {\r\n // clear key nolonger existed\r\n // clear checkedKeys according to targetKeys\r\n const { dataSource, targetKeys = [] } = nextProps;\r\n const newSourceSelectedKeys = [];\r\n const newTargetSelectedKeys = [];\r\n dataSource.forEach(({ key }) => {\r\n if (sourceSelectedKeys.includes(key) && !targetKeys.includes(key)) {\r\n newSourceSelectedKeys.push(key);\r\n }\r\n if (targetSelectedKeys.includes(key) && targetKeys.includes(key)) {\r\n newTargetSelectedKeys.push(key);\r\n }\r\n });\r\n this.setState({\r\n sourceSelectedKeys: newSourceSelectedKeys,\r\n targetSelectedKeys: newTargetSelectedKeys,\r\n });\r\n }\r\n }\r\n if (nextProps.selectedKeys) {\r\n const targetKeys = nextProps.targetKeys || [];\r\n this.setState({\r\n sourceSelectedKeys: nextProps.selectedKeys.filter(key => !targetKeys.includes(key)),\r\n targetSelectedKeys: nextProps.selectedKeys.filter(key => targetKeys.includes(key)),\r\n });\r\n }\r\n }\r\n splitDataSource() {\r\n if (this.splitedDataSource) {\r\n return this.splitedDataSource;\r\n }\r\n const { dataSource, rowKey, targetKeys = [] } = this.props;\r\n const leftDataSource = [];\r\n const rightDataSource = new Array(targetKeys.length);\r\n dataSource.forEach(record => {\r\n if (rowKey) {\r\n record.key = rowKey(record);\r\n }\r\n // rightDataSource should be ordered by targetKeys\r\n // leftDataSource should be ordered by dataSource\r\n const indexOfKey = targetKeys.indexOf(record.key);\r\n if (indexOfKey !== -1) {\r\n rightDataSource[indexOfKey] = record;\r\n }\r\n else {\r\n leftDataSource.push(record);\r\n }\r\n });\r\n this.splitedDataSource = {\r\n leftDataSource,\r\n rightDataSource,\r\n };\r\n return this.splitedDataSource;\r\n }\r\n handleSelectChange(direction, holder) {\r\n const { onSelectChange } = this.props;\r\n const { sourceSelectedKeys, targetSelectedKeys } = this.state;\r\n if (!onSelectChange) {\r\n return;\r\n }\r\n if (direction === TransferDirection.left) {\r\n onSelectChange(holder, targetSelectedKeys);\r\n }\r\n else {\r\n onSelectChange(sourceSelectedKeys, holder);\r\n }\r\n }\r\n getTitles(transferLocale) {\r\n const { props } = this;\r\n if (props.titles) {\r\n return props.titles;\r\n }\r\n return transferLocale.titles;\r\n }\r\n getSelectedKeysName(direction) {\r\n return direction === TransferDirection.left ? 'sourceSelectedKeys' : 'targetSelectedKeys';\r\n }\r\n render() {\r\n return (<LocaleReceiver componentName=\"Transfer\" defaultLocale={defaultLocale.Transfer}>\n {this.renderTransfer}\n </LocaleReceiver>);\r\n }\r\n}\r\nTransfer.displayName = 'Transfer';\r\nTransfer.List = List;\r\nTransfer.Operation = Operation;\r\nTransfer.Search = Search;\r\nTransfer.defaultProps = {\r\n dataSource: [],\r\n render: noop,\r\n showSearch: false,\r\n};\r\nTransfer.propTypes = {\r\n prefixCls: PropTypes.string,\r\n dataSource: PropTypes.array,\r\n render: PropTypes.func,\r\n targetKeys: PropTypes.array,\r\n onChange: PropTypes.func,\r\n listStyle: PropTypes.object,\r\n className: PropTypes.string,\r\n titles: PropTypes.array,\r\n operations: PropTypes.array,\r\n showSearch: PropTypes.bool,\r\n filterOption: PropTypes.func,\r\n searchPlaceholder: PropTypes.string,\r\n notFoundContent: PropTypes.node,\r\n body: PropTypes.func,\r\n footer: PropTypes.func,\r\n rowKey: PropTypes.func,\r\n lazy: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\r\n};\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport Lazyload from 'react-lazy-load';\r\nimport Checkbox from '../checkbox';\r\nimport PureRenderMixin from '../rc-components/util/PureRenderMixin';\r\nexport default class Item extends Component {\r\n shouldComponentUpdate(...args) {\r\n return PureRenderMixin.shouldComponentUpdate.apply(this, args);\r\n }\r\n render() {\r\n const { renderedText, renderedEl, item, lazy, checked, prefixCls, onClick } = this.props;\r\n const className = classNames({\r\n [`${prefixCls}-content-item`]: true,\r\n [`${prefixCls}-content-item-disabled`]: item.disabled,\r\n });\r\n const listItem = (<li className={className} title={renderedText} onClick={item.disabled ? undefined : () => onClick(item)}>\n <Checkbox checked={checked} disabled={item.disabled}/>\n <span>{renderedEl}</span>\n </li>);\r\n let children = null;\r\n if (lazy) {\r\n const lazyProps = {\r\n height: 32,\r\n offset: 500,\r\n throttle: 0,\r\n debounce: false,\r\n ...lazy,\r\n };\r\n children = <Lazyload {...lazyProps}>{listItem}</Lazyload>;\r\n }\r\n else {\r\n children = listItem;\r\n }\r\n return children;\r\n }\r\n}\r\n","import React, { Component, isValidElement } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport classNames from 'classnames';\r\nimport noop from 'lodash/noop';\r\nimport Checkbox from '../checkbox';\r\nimport Search from './search';\r\nimport Item from './item';\r\nimport triggerEvent from '../_util/triggerEvent';\r\nimport Animate from '../animate';\r\nimport PureRenderMixin from '../rc-components/util/PureRenderMixin';\r\nfunction isRenderResultPlainObject(result) {\r\n return (result &&\r\n !isValidElement(result) &&\r\n Object.prototype.toString.call(result) === '[object Object]');\r\n}\r\nexport default class TransferList extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.state = {\r\n mounted: false,\r\n };\r\n this.handleSelect = (selectedItem) => {\r\n const { checkedKeys, handleSelect } = this.props;\r\n const result = checkedKeys.some(key => key === selectedItem.key);\r\n handleSelect(selectedItem, !result);\r\n };\r\n this.handleFilter = (e) => {\r\n const { handleFilter, prefixCls } = this.props;\r\n handleFilter(e);\r\n if (!e.target.value) {\r\n return;\r\n }\r\n // Manually trigger scroll event for lazy search bug\r\n this.triggerScrollTimer = window.setTimeout(() => {\r\n const listNode = findDOMNode(this).querySelectorAll(`${prefixCls}-content`)[0];\r\n if (listNode) {\r\n triggerEvent(listNode, 'scroll');\r\n }\r\n }, 0);\r\n };\r\n this.handleClear = () => {\r\n const { handleClear } = this.props;\r\n handleClear();\r\n };\r\n this.matchFilter = (text, item) => {\r\n const { filter, filterOption } = this.props;\r\n if (filterOption) {\r\n return filterOption(filter, item);\r\n }\r\n return text.indexOf(filter) >= 0;\r\n };\r\n this.renderItem = (item) => {\r\n const { render = noop } = this.props;\r\n const renderResult = render(item);\r\n if (isRenderResultPlainObject(renderResult)) {\r\n return {\r\n renderedText: renderResult.value,\r\n renderedEl: renderResult.label,\r\n };\r\n }\r\n return {\r\n renderedText: renderResult,\r\n renderedEl: renderResult,\r\n };\r\n };\r\n }\r\n componentDidMount() {\r\n this.timer = window.setTimeout(() => {\r\n this.setState({\r\n mounted: true,\r\n });\r\n }, 0);\r\n }\r\n componentWillUnmount() {\r\n clearTimeout(this.timer);\r\n clearTimeout(this.triggerScrollTimer);\r\n }\r\n shouldComponentUpdate(...args) {\r\n return PureRenderMixin.shouldComponentUpdate.apply(this, args);\r\n }\r\n getCheckStatus(filteredDataSource) {\r\n const { checkedKeys } = this.props;\r\n if (checkedKeys.length === 0) {\r\n return 'none';\r\n }\r\n if (filteredDataSource.every(item => checkedKeys.indexOf(item.key) >= 0)) {\r\n return 'all';\r\n }\r\n return 'part';\r\n }\r\n render() {\r\n const { prefixCls, dataSource, titleText, checkedKeys, lazy, body = noop, footer = noop, showSearch, style, filter, searchPlaceholder, notFoundContent, itemUnit, itemsUnit, onScroll, handleSelectAll, } = this.props;\r\n const { mounted } = this.state;\r\n // Custom Layout\r\n const footerDom = footer({ ...this.props });\r\n const bodyDom = body({ ...this.props });\r\n const listCls = classNames(prefixCls, {\r\n [`${prefixCls}-with-footer`]: !!footerDom,\r\n });\r\n const filteredDataSource = [];\r\n const totalDataSource = [];\r\n const showItems = dataSource.map(item => {\r\n const { renderedText, renderedEl } = this.renderItem(item);\r\n if (filter && filter.trim() && !this.matchFilter(renderedText, item)) {\r\n return null;\r\n }\r\n // all show items\r\n totalDataSource.push(item);\r\n if (!item.disabled) {\r\n // response to checkAll items\r\n filteredDataSource.push(item);\r\n }\r\n const checked = checkedKeys.indexOf(item.key) >= 0;\r\n return (<Item key={item.key} item={item} lazy={lazy} renderedText={renderedText} renderedEl={renderedEl} checked={checked} prefixCls={prefixCls} onClick={this.handleSelect}/>);\r\n });\r\n const unit = dataSource.length > 1 ? itemsUnit : itemUnit;\r\n const search = showSearch ? (<div className={`${prefixCls}-body-search-wrapper`}>\n <Search prefixCls={`${prefixCls}-search`} onChange={this.handleFilter} handleClear={this.handleClear} placeholder={searchPlaceholder} value={filter}/>\n </div>) : null;\r\n const listBody = bodyDom || (<div className={showSearch ? `${prefixCls}-body ${prefixCls}-body-with-search` : `${prefixCls}-body`}>\n {search}\n <Animate component=\"ul\" componentProps={{ onScroll }} className={`${prefixCls}-content`} transitionName={mounted ? `${prefixCls}-content-item-highlight` : ''} transitionLeave={false}>\n {showItems}\n </Animate>\n <div className={`${prefixCls}-body-not-found`}>{notFoundContent}</div>\n </div>);\r\n const listFooter = footerDom ? <div className={`${prefixCls}-footer`}>{footerDom}</div> : null;\r\n const checkStatus = this.getCheckStatus(filteredDataSource);\r\n const checkedAll = checkStatus === 'all';\r\n const checkAllCheckbox = (<Checkbox checked={checkedAll} indeterminate={checkStatus === 'part'} onChange={() => handleSelectAll(filteredDataSource, checkedAll)}/>);\r\n return (<div className={listCls} style={style}>\n <div className={`${prefixCls}-header`}>\n {checkAllCheckbox}\n <span className={`${prefixCls}-header-selected`}>\n <span>\n {(checkedKeys.length > 0 ? `${checkedKeys.length}/` : '') + totalDataSource.length}{' '}\n {unit}\n </span>\n <span className={`${prefixCls}-header-title`}>{titleText}</span>\n </span>\n </div>\n {listBody}\n {listFooter}\n </div>);\r\n }\r\n}\r\nTransferList.displayName = 'TransferList';\r\nTransferList.defaultProps = {\r\n dataSource: [],\r\n titleText: '',\r\n showSearch: false,\r\n render: noop,\r\n lazy: {},\r\n};\r\n","import React from 'react';\r\nimport noop from 'lodash/noop';\r\nimport Button from '../button';\r\nimport { Size } from '../_util/enum';\r\nconst Operation = props => {\r\n const { moveToLeft = noop, moveToRight = noop, leftArrowText = '', rightArrowText = '', leftActive, rightActive, className, } = props;\r\n return (<div className={className}>\n <Button type=\"primary\" size={Size.small} disabled={!leftActive} onClick={moveToLeft} icon=\"left\">\n {leftArrowText}\n </Button>\n <Button type=\"primary\" size={Size.small} disabled={!rightActive} onClick={moveToRight} icon=\"right\">\n {rightArrowText}\n </Button>\n </div>);\r\n};\r\nexport default Operation;\r\n","import React, { Component } from 'react';\r\nimport Icon from '../icon';\r\nimport Input from '../input';\r\nexport default class Search extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.handleChange = (e) => {\r\n const { onChange } = this.props;\r\n if (onChange) {\r\n onChange(e);\r\n }\r\n };\r\n this.handleClear = e => {\r\n e.preventDefault();\r\n const { handleClear } = this.props;\r\n if (handleClear) {\r\n handleClear(e);\r\n }\r\n };\r\n }\r\n render() {\r\n const { placeholder, value, prefixCls } = this.props;\r\n const icon = value && value.length > 0 ? (<a href=\"#\" className={`${prefixCls}-action`} onClick={this.handleClear}>\n <Icon type=\"cross-circle\"/>\n </a>) : (<span className={`${prefixCls}-action`}>\n <Icon type=\"search\"/>\n </span>);\r\n return (<div>\n <Input placeholder={placeholder} className={prefixCls} value={value} onChange={this.handleChange}/>\n {icon}\n </div>);\r\n }\r\n}\r\nSearch.defaultProps = {\r\n placeholder: '',\r\n};\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\r\nimport warning from '../_util/warning';\r\nimport RcTreeSelect, { SHOW_ALL, SHOW_CHILD, SHOW_PARENT, TreeNode, } from '../rc-components/tree-select';\r\nimport { Size } from '../_util/enum';\r\nimport { getPrefixCls } from '../configure';\r\nexport { TreeData, TreeSelectProps } from './interface';\r\nexport default class TreeSelect extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.saveTreeSelect = (node) => {\r\n this.rcTreeSelect = node;\r\n };\r\n this.renderTreeSelect = (locale) => {\r\n const { prefixCls: customizePrefixCls, className, size, notFoundContent, dropdownStyle, dropdownClassName, ...restProps } = this.props;\r\n const prefixCls = getPrefixCls('select', customizePrefixCls);\r\n const cls = classNames({\r\n [`${prefixCls}-lg`]: size === Size.large,\r\n [`${prefixCls}-sm`]: size === Size.small,\r\n }, className);\r\n let checkable = restProps.treeCheckable;\r\n if (checkable) {\r\n checkable = <span className={`${prefixCls}-tree-checkbox-inner`}/>;\r\n }\r\n return (<RcTreeSelect {...restProps} dropdownClassName={classNames(dropdownClassName, `${prefixCls}-tree-dropdown`)} prefixCls={prefixCls} className={cls} dropdownStyle={{ maxHeight: '100vh', overflow: 'auto', ...dropdownStyle }} treeCheckable={checkable} notFoundContent={notFoundContent || locale.notFoundContent} ref={this.saveTreeSelect}/>);\r\n };\r\n warning(props.multiple !== false || !props.treeCheckable, '`multiple` will alway be `true` when `treeCheckable` is true');\r\n }\r\n focus() {\r\n this.rcTreeSelect.focus();\r\n }\r\n blur() {\r\n this.rcTreeSelect.blur();\r\n }\r\n render() {\r\n return (<LocaleReceiver componentName=\"Select\" defaultLocale={{}}>\n {this.renderTreeSelect}\n </LocaleReceiver>);\r\n }\r\n}\r\nTreeSelect.displayName = 'TreeSelect';\r\nTreeSelect.TreeNode = TreeNode;\r\nTreeSelect.SHOW_ALL = SHOW_ALL;\r\nTreeSelect.SHOW_PARENT = SHOW_PARENT;\r\nTreeSelect.SHOW_CHILD = SHOW_CHILD;\r\nTreeSelect.defaultProps = {\r\n transitionName: 'slide-up',\r\n choiceTransitionName: 'zoom',\r\n showSearch: false,\r\n};\r\n","import React, { cloneElement, Component, } from 'react';\r\nimport classNames from 'classnames';\r\nimport animation from '../_util/openAnimation';\r\nimport RcTree, { TreeNode } from '../rc-components/tree';\r\nimport Icon from '../icon';\r\nimport Progress from '../progress';\r\nimport { ProgressType } from '../progress/enum';\r\nimport { Size } from '../_util/enum';\r\nimport { getPrefixCls } from '../configure';\r\nexport { TreeNode };\r\nexport default class Tree extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.renderSwitcherIcon = ({ isLeaf, loading }) => {\r\n const { showLine, switcherIcon } = this.props;\r\n const prefixCls = this.getPrefixCls();\r\n if (loading) {\r\n return (<Progress type={ProgressType.loading} className={`${prefixCls}-switcher-loading-icon`} size={Size.small}/>);\r\n }\r\n const switcherCls = `${prefixCls}-switcher-icon`;\r\n if (showLine) {\r\n if (isLeaf) {\r\n return <Icon type=\"note\" className={`${prefixCls}-switcher-line-icon`}/>;\r\n }\r\n return <Icon type=\"arrow_drop_down\" className={switcherCls}/>;\r\n }\r\n if (isLeaf) {\r\n return null;\r\n }\r\n if (switcherIcon) {\r\n const switcherOriginCls = switcherIcon.props.className || '';\r\n return cloneElement(switcherIcon, {\r\n className: [switcherOriginCls, switcherCls],\r\n });\r\n }\r\n return <Icon type=\"arrow_drop_down\" className={switcherCls}/>;\r\n };\r\n }\r\n getPrefixCls() {\r\n const { prefixCls } = this.props;\r\n return getPrefixCls('tree', prefixCls);\r\n }\r\n render() {\r\n const props = this.props;\r\n const { className, showIcon, checkable, children } = props;\r\n const prefixCls = this.getPrefixCls();\r\n return (<RcTree {...props} className={classNames(!showIcon && `${prefixCls}-icon-hide`, className)} checkable={checkable ? <span className={`${prefixCls}-checkbox-inner`}/> : checkable} switcherIcon={this.renderSwitcherIcon} prefixCls={prefixCls}>\n {children}\n </RcTree>);\r\n }\r\n}\r\nTree.displayName = 'Tree';\r\nTree.TreeNode = TreeNode;\r\nTree.defaultProps = {\r\n checkable: false,\r\n showIcon: false,\r\n openAnimation: animation,\r\n};\r\n","import React from 'react';\r\nimport Upload from './Upload';\r\nconst Dragger = props => {\r\n const { style, height } = props;\r\n return <Upload {...props} type=\"drag\" style={{ ...style, height }}/>;\r\n};\r\nexport default Dragger;\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport uniqBy from 'lodash/uniqBy';\r\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\r\nimport defaultLocale from '../locale-provider/default';\r\nimport UploadList from './UploadList';\r\nimport { UploadProps } from './interface';\r\nimport { fileToObject, genPercentAdd, getFileItem, removeFileItem, T } from './utils';\r\nimport RcUpload from '../rc-components/upload';\r\nimport { getPrefixCls } from '../configure';\r\nexport { UploadProps };\r\nexport default class Upload extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.onStart = (file) => {\r\n const { fileList } = this.state;\r\n const nextFileList = [...fileList];\r\n const targetItem = fileToObject(file);\r\n targetItem.status = 'uploading';\r\n nextFileList.push(targetItem);\r\n this.onChange({\r\n file: targetItem,\r\n fileList: nextFileList,\r\n });\r\n // fix ie progress\r\n if (!window.FormData) {\r\n this.autoUpdateProgress(0, targetItem);\r\n }\r\n };\r\n this.onSuccess = (response, file) => {\r\n this.clearProgressTimer();\r\n try {\r\n if (typeof response === 'string') {\r\n response = JSON.parse(response);\r\n }\r\n }\r\n catch (e) {\r\n /* do nothing */\r\n }\r\n const { fileList } = this.state;\r\n const targetItem = getFileItem(file, fileList);\r\n // removed\r\n if (targetItem) {\r\n targetItem.status = 'done';\r\n targetItem.response = response;\r\n this.onChange({\r\n file: { ...targetItem },\r\n fileList,\r\n });\r\n }\r\n };\r\n this.onProgress = (e, file) => {\r\n const { fileList } = this.state;\r\n const targetItem = getFileItem(file, fileList);\r\n // removed\r\n if (targetItem) {\r\n targetItem.percent = e.percent;\r\n this.onChange({\r\n event: e,\r\n file: { ...targetItem },\r\n fileList,\r\n });\r\n }\r\n };\r\n this.onError = (error, response, file) => {\r\n this.clearProgressTimer();\r\n const { fileList } = this.state;\r\n const targetItem = getFileItem(file, fileList);\r\n // removed\r\n if (!targetItem) {\r\n return;\r\n }\r\n targetItem.error = error;\r\n targetItem.response = response;\r\n targetItem.status = 'error';\r\n this.onChange({\r\n file: { ...targetItem },\r\n fileList,\r\n });\r\n };\r\n this.handleManualRemove = (file) => {\r\n this.upload.abort(file);\r\n file.status = 'removed'; // eslint-disable-line\r\n this.handleRemove(file);\r\n };\r\n this.onChange = (info) => {\r\n if (!('fileList' in this.props)) {\r\n this.setState({ fileList: info.fileList });\r\n }\r\n const { onChange } = this.props;\r\n if (onChange) {\r\n onChange(info);\r\n }\r\n };\r\n this.onFileDrop = (e) => {\r\n this.setState({\r\n dragState: e.type,\r\n });\r\n };\r\n this.beforeUpload = (file, uploadFiles) => {\r\n const { beforeUpload } = this.props;\r\n if (beforeUpload) {\r\n const result = beforeUpload(file, uploadFiles);\r\n if (result === false) {\r\n const { fileList } = this.state;\r\n this.onChange({\r\n file,\r\n fileList: uniqBy(uploadFiles.concat(fileList), (item) => item.uid),\r\n });\r\n return false;\r\n }\r\n if (result && result.then) {\r\n return result;\r\n }\r\n }\r\n return true;\r\n };\r\n this.saveUpload = (node) => {\r\n this.upload = node;\r\n };\r\n this.renderUploadList = (uploadLocale) => {\r\n const { showUploadList, listType, onPreview, locale } = this.props;\r\n const { fileList } = this.state;\r\n const { showRemoveIcon, showPreviewIcon } = showUploadList;\r\n return (<UploadList listType={listType} items={fileList} onPreview={onPreview} onRemove={this.handleManualRemove} showRemoveIcon={showRemoveIcon} showPreviewIcon={showPreviewIcon} locale={{ ...uploadLocale, ...locale }}/>);\r\n };\r\n this.state = {\r\n fileList: props.fileList || props.defaultFileList || [],\r\n dragState: 'drop',\r\n };\r\n }\r\n componentWillUnmount() {\r\n this.clearProgressTimer();\r\n }\r\n autoUpdateProgress(_, file) {\r\n const getPercent = genPercentAdd();\r\n let curPercent = 0;\r\n this.clearProgressTimer();\r\n this.progressTimer = setInterval(() => {\r\n curPercent = getPercent(curPercent);\r\n this.onProgress({\r\n percent: curPercent,\r\n }, file);\r\n }, 200);\r\n }\r\n handleRemove(file) {\r\n const { onRemove } = this.props;\r\n Promise.resolve(typeof onRemove === 'function' ? onRemove(file) : onRemove).then(ret => {\r\n // Prevent removing file\r\n if (ret === false) {\r\n return;\r\n }\r\n const { fileList } = this.state;\r\n const removedFileList = removeFileItem(file, fileList);\r\n if (removedFileList) {\r\n this.onChange({\r\n file,\r\n fileList: removedFileList,\r\n });\r\n }\r\n });\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if ('fileList' in nextProps) {\r\n this.setState({\r\n fileList: nextProps.fileList || [],\r\n });\r\n }\r\n }\r\n clearProgressTimer() {\r\n clearInterval(this.progressTimer);\r\n }\r\n render() {\r\n const { prefixCls: customizePrefixCls, className, showUploadList, listType, type, disabled, children, } = this.props;\r\n const { fileList, dragState } = this.state;\r\n const prefixCls = getPrefixCls('upload', customizePrefixCls);\r\n const rcUploadProps = {\r\n onStart: this.onStart,\r\n onError: this.onError,\r\n onProgress: this.onProgress,\r\n onSuccess: this.onSuccess,\r\n ...this.props,\r\n beforeUpload: this.beforeUpload,\r\n prefixCls,\r\n };\r\n delete rcUploadProps.className;\r\n const uploadList = showUploadList ? (<LocaleReceiver componentName=\"Upload\" defaultLocale={defaultLocale.Upload}>\n {this.renderUploadList}\n </LocaleReceiver>) : null;\r\n if (type === 'drag') {\r\n const dragCls = classNames(prefixCls, {\r\n [`${prefixCls}-drag`]: true,\r\n [`${prefixCls}-drag-uploading`]: fileList.some(file => file.status === 'uploading'),\r\n [`${prefixCls}-drag-hover`]: dragState === 'dragover',\r\n [`${prefixCls}-disabled`]: disabled,\r\n });\r\n return (<span className={className}>\n <div className={dragCls} onDrop={this.onFileDrop} onDragOver={this.onFileDrop} onDragLeave={this.onFileDrop}>\n <RcUpload {...rcUploadProps} ref={this.saveUpload} className={`${prefixCls}-btn`}>\n <div className={`${prefixCls}-drag-container`}>{children}</div>\n </RcUpload>\n </div>\n {uploadList}\n </span>);\r\n }\r\n const uploadButtonCls = classNames(prefixCls, {\r\n [`${prefixCls}-select`]: true,\r\n [`${prefixCls}-select-${listType}`]: true,\r\n [`${prefixCls}-disabled`]: disabled,\r\n });\r\n const uploadButton = (<div className={uploadButtonCls} style={{ display: children ? '' : 'none' }}>\n <RcUpload {...rcUploadProps} ref={this.saveUpload}/>\n </div>);\r\n if (listType === 'picture-card') {\r\n return (<span className={className}>\n {uploadList}\n {uploadButton}\n </span>);\r\n }\r\n return (<span className={className}>\n {uploadButton}\n {uploadList}\n </span>);\r\n }\r\n}\r\nUpload.displayName = 'Upload';\r\nUpload.defaultProps = {\r\n type: 'select',\r\n multiple: false,\r\n action: '',\r\n data: {},\r\n accept: '',\r\n beforeUpload: T,\r\n showUploadList: true,\r\n listType: 'text',\r\n className: '',\r\n disabled: false,\r\n supportServerRender: true,\r\n};\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport Icon from '../icon';\r\nimport Tooltip from '../tooltip';\r\nimport Progress from '../progress';\r\nimport Animate from '../animate';\r\nimport { ProgressType } from '../progress/enum';\r\nimport { getPrefixCls } from '../configure';\r\n// https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL\r\nconst previewFile = (file, callback) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => callback(reader.result);\r\n reader.readAsDataURL(file);\r\n};\r\nconst isImageUrl = (url) => {\r\n return /^data:image\\//.test(url) || /\\.(webp|svg|png|gif|jpg|jpeg)$/.test(url);\r\n};\r\nexport default class UploadList extends Component {\r\n constructor() {\r\n super(...arguments);\r\n this.handleClose = (file) => {\r\n const { onRemove } = this.props;\r\n if (onRemove) {\r\n onRemove(file);\r\n }\r\n };\r\n this.handlePreview = (file, e) => {\r\n const { onPreview } = this.props;\r\n if (!onPreview) {\r\n return;\r\n }\r\n e.preventDefault();\r\n return onPreview(file);\r\n };\r\n }\r\n componentDidUpdate() {\r\n const { listType, items } = this.props;\r\n if (listType !== 'picture' && listType !== 'picture-card') {\r\n return;\r\n }\r\n (items || []).forEach(file => {\r\n if (typeof document === 'undefined' ||\r\n typeof window === 'undefined' ||\r\n !window.FileReader ||\r\n !window.File ||\r\n !(file.originFileObj instanceof File) ||\r\n file.thumbUrl !== undefined) {\r\n return;\r\n }\r\n /* eslint-disable-next-line */\r\n file.thumbUrl = '';\r\n previewFile(file.originFileObj, (previewDataUrl) => {\r\n /* eslint-disable-next-line */\r\n file.thumbUrl = previewDataUrl;\r\n this.forceUpdate();\r\n });\r\n });\r\n }\r\n render() {\r\n const { prefixCls: customizePrefixCls, items = [], listType, showPreviewIcon, showRemoveIcon, locale, } = this.props;\r\n const prefixCls = getPrefixCls('upload', customizePrefixCls);\r\n const list = items.map(file => {\r\n let progress;\r\n let icon = <Icon type={file.status === 'uploading' ? 'loading' : 'attach_file'}/>;\r\n if (listType === 'picture' || listType === 'picture-card') {\r\n if (listType === 'picture-card' && file.status === 'uploading') {\r\n icon = <div className={`${prefixCls}-list-item-uploading-text`}>{locale.uploading}</div>;\r\n }\r\n else if (!file.thumbUrl && !file.url) {\r\n icon = <Icon className={`${prefixCls}-list-item-thumbnail`} type=\"picture\"/>;\r\n }\r\n else {\r\n const thumbnail = isImageUrl((file.thumbUrl || file.url)) ? (<img src={file.thumbUrl || file.url} alt={file.name}/>) : (<Icon type=\"file\" style={{ fontSize: 48, color: 'rgba(0,0,0,0.5)' }}/>);\r\n icon = (<a className={`${prefixCls}-list-item-thumbnail`} onClick={e => this.handlePreview(file, e)} href={file.url || file.thumbUrl} target=\"_blank\" rel=\"noopener noreferrer\">\n {thumbnail}\n </a>);\r\n }\r\n }\r\n if (file.status === 'uploading') {\r\n const { progressAttr } = this.props;\r\n // show loading icon if upload progress listener is disabled\r\n const loadingProgress = 'percent' in file ? (<Progress type={ProgressType.line} {...progressAttr} percent={file.percent}/>) : null;\r\n progress = (<div className={`${prefixCls}-list-item-progress`} key=\"progress\">\n {loadingProgress}\n </div>);\r\n }\r\n const infoUploadingClass = classNames({\r\n [`${prefixCls}-list-item`]: true,\r\n [`${prefixCls}-list-item-${file.status}`]: true,\r\n });\r\n const preview = file.url ? (<a {...file.linkProps} href={file.url} target=\"_blank\" rel=\"noopener noreferrer\" className={`${prefixCls}-list-item-name`} onClick={e => this.handlePreview(file, e)} title={file.name}>\n {file.name}\n </a>) : (<span className={`${prefixCls}-list-item-name`} onClick={e => this.handlePreview(file, e)} title={file.name}>\n {file.name}\n </span>);\r\n const style = file.url || file.thumbUrl\r\n ? undefined\r\n : {\r\n pointerEvents: 'none',\r\n opacity: 0.5,\r\n };\r\n const previewIcon = showPreviewIcon ? (<a href={file.url || file.thumbUrl} target=\"_blank\" rel=\"noopener noreferrer\" style={style} onClick={e => this.handlePreview(file, e)} title={locale.previewFile}>\n <Icon type=\"visibility\"/>\n </a>) : null;\r\n const removeIcon = showRemoveIcon ? (<Icon type=\"delete\" title={locale.removeFile} onClick={() => this.handleClose(file)}/>) : null;\r\n const removeIconCross = showRemoveIcon ? (<Icon type=\"close\" title={locale.removeFile} onClick={() => this.handleClose(file)}/>) : null;\r\n const actions = listType === 'picture-card' && file.status !== 'uploading' ? (<span className={`${prefixCls}-list-item-actions`}>\n {previewIcon}\n {removeIcon}\n </span>) : (removeIconCross);\r\n let message;\r\n if (file.response && typeof file.response === 'string') {\r\n message = file.response;\r\n }\r\n else {\r\n message = (file.error && file.error.statusText) || locale.uploadError;\r\n }\r\n const iconAndPreview = file.status === 'error' ? (<Tooltip title={message}>\n {icon}\n {preview}\n </Tooltip>) : (<span>\n {icon}\n {preview}\n </span>);\r\n return (<div className={infoUploadingClass} key={file.uid}>\n <div className={`${prefixCls}-list-item-info`}>{iconAndPreview}</div>\n {actions}\n <Animate transitionName=\"fade\" component=\"\">\n {progress}\n </Animate>\n </div>);\r\n });\r\n const listClassNames = classNames({\r\n [`${prefixCls}-list`]: true,\r\n [`${prefixCls}-list-${listType}`]: true,\r\n });\r\n const animationDirection = listType === 'picture-card' ? 'animate-inline' : 'animate';\r\n return (<Animate transitionName={`${prefixCls}-${animationDirection}`} component=\"div\" className={listClassNames}>\n {list}\n </Animate>);\r\n }\r\n}\r\nUploadList.displayName = 'UploadList';\r\nUploadList.defaultProps = {\r\n listType: 'text',\r\n progressAttr: {\r\n strokeWidth: 2,\r\n showInfo: false,\r\n },\r\n showRemoveIcon: true,\r\n showPreviewIcon: true,\r\n};\r\n","import Upload from './Upload';\r\nimport Dragger from './Dragger';\r\nexport { UploadProps, UploadListProps, UploadChangeParam } from './interface';\r\nexport { DraggerProps } from './Dragger';\r\nUpload.Dragger = Dragger;\r\nexport default Upload;\r\n","export function T() {\r\n return true;\r\n}\r\n// Fix IE file.status problem\r\n// via coping a new Object\r\nexport function fileToObject(file) {\r\n return {\r\n lastModified: file.lastModified,\r\n lastModifiedDate: file.lastModifiedDate,\r\n name: file.filename || file.name,\r\n size: file.size,\r\n type: file.type,\r\n uid: file.uid,\r\n response: file.response,\r\n error: file.error,\r\n percent: 0,\r\n originFileObj: file,\r\n };\r\n}\r\n/**\r\n * 生成Progress percent: 0.1 -> 0.98\r\n * - for ie\r\n */\r\nexport function genPercentAdd() {\r\n let k = 0.1;\r\n const i = 0.01;\r\n const end = 0.98;\r\n return function (s) {\r\n let start = s;\r\n if (start >= end) {\r\n return start;\r\n }\r\n start += k;\r\n k -= i;\r\n if (k < 0.001) {\r\n k = 0.001;\r\n }\r\n return start * 100;\r\n };\r\n}\r\nexport function getFileItem(file, fileList) {\r\n const matchKey = file.uid !== undefined ? 'uid' : 'name';\r\n return fileList.filter(item => item[matchKey] === file[matchKey])[0];\r\n}\r\nexport function removeFileItem(file, fileList) {\r\n const matchKey = file.uid !== undefined ? 'uid' : 'name';\r\n const removed = fileList.filter(item => item[matchKey] !== file[matchKey]);\r\n if (removed.length === fileList.length) {\r\n return null;\r\n }\r\n return removed;\r\n}\r\n","import { version } from '../../package.json';\r\nexport default version;\r\n","const c7n = require('./components');\n\nconst req = require.context('./components', true, /^\\.\\/locale-provider\\/.+_.+\\.tsx$/);\n\nc7n.locales = {};\n\nreq.keys().forEach(mod => {\n const match = mod.match(/\\/([^/]+).tsx$/);\n c7n.locales[match[1]] = req(mod).default;\n});\n\nmodule.exports = c7n;\n","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nmodule.exports = _arrayWithoutHoles;","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;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","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\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _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\nmodule.exports = _defineProperty;","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;","var superPropBase = require(\"./superPropBase\");\n\nfunction _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}\n\nmodule.exports = _get;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _iterableToArrayLimit(arr, i) {\n if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nmodule.exports = _nonIterableRest;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nmodule.exports = _nonIterableSpread;","function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure undefined\");\n}\n\nmodule.exports = _objectDestructuringEmpty;","var defineProperty = require(\"./defineProperty\");\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\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\nmodule.exports = _objectSpread2;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","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;","var _typeof = require(\"../helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","var getPrototypeOf = require(\"./getPrototypeOf\");\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nmodule.exports = _superPropBase;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","module.exports = require(\"regenerator-runtime\");\n","/**\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 * @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'];","'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'];","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.arrayTreeFilter = factory());\n}(this, (function () { 'use strict';\n\nfunction arrayTreeFilter(data, filterFn, options) {\n options = options || {};\n options.childrenKeyName = options.childrenKeyName || \"children\";\n var children = data || [];\n var result = [];\n var level = 0;\n do {\n var foundItem = children.filter(function (item) {\n return filterFn(item, level);\n })[0];\n if (!foundItem) {\n break;\n }\n result.push(foundItem);\n children = foundItem[options.childrenKeyName] || [];\n level += 1;\n } while (children.length > 0);\n return result;\n}\n\nreturn arrayTreeFilter;\n\n})));\n","'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 _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 _util = require('./util');\n\nvar _validator = require('./validator/');\n\nvar _validator2 = _interopRequireDefault(_validator);\n\nvar _messages2 = require('./messages');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\nfunction Schema(descriptor) {\n this.rules = null;\n this._messages = _messages2.messages;\n this.define(descriptor);\n}\n\nSchema.prototype = {\n messages: function messages(_messages) {\n if (_messages) {\n this._messages = (0, _util.deepMerge)((0, _messages2.newMessages)(), _messages);\n }\n return this._messages;\n },\n define: function define(rules) {\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n if ((typeof rules === 'undefined' ? 'undefined' : _typeof(rules)) !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n this.rules = {};\n var z = void 0;\n var item = void 0;\n for (z in rules) {\n if (rules.hasOwnProperty(z)) {\n item = rules[z];\n this.rules[z] = Array.isArray(item) ? item : [item];\n }\n }\n },\n validate: function validate(source_) {\n var _this = this;\n\n var o = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var oc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n\n var source = source_;\n var options = o;\n var callback = oc;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback();\n }\n return Promise.resolve();\n }\n\n function complete(results) {\n var i = void 0;\n var errors = [];\n var fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n var _errors;\n\n errors = (_errors = errors).concat.apply(_errors, e);\n } else {\n errors.push(e);\n }\n }\n\n for (i = 0; i < results.length; i++) {\n add(results[i]);\n }\n if (!errors.length) {\n errors = null;\n fields = null;\n } else {\n fields = (0, _util.convertFieldsError)(errors);\n }\n callback(errors, fields);\n }\n\n if (options.messages) {\n var messages = this.messages();\n if (messages === _messages2.messages) {\n messages = (0, _messages2.newMessages)();\n }\n (0, _util.deepMerge)(messages, options.messages);\n options.messages = messages;\n } else {\n options.messages = this.messages();\n }\n var arr = void 0;\n var value = void 0;\n var series = {};\n var keys = options.keys || Object.keys(this.rules);\n keys.forEach(function (z) {\n arr = _this.rules[z];\n value = source[z];\n arr.forEach(function (r) {\n var rule = r;\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = _extends({}, source);\n }\n value = source[z] = rule.transform(value);\n }\n if (typeof rule === 'function') {\n rule = {\n validator: rule\n };\n } else {\n rule = _extends({}, rule);\n }\n rule.validator = _this.getValidationMethod(rule);\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = _this.getType(rule);\n if (!rule.validator) {\n return;\n }\n series[z] = series[z] || [];\n series[z].push({\n rule: rule,\n value: value,\n source: source,\n field: z\n });\n });\n });\n var errorFields = {};\n return (0, _util.asyncMap)(series, options, function (data, doIt) {\n var rule = data.rule;\n var deep = (rule.type === 'object' || rule.type === 'array') && (_typeof(rule.fields) === 'object' || _typeof(rule.defaultField) === 'object');\n deep = deep && (rule.required || !rule.required && data.value);\n rule.field = data.field;\n\n function addFullfield(key, schema) {\n return _extends({}, schema, {\n fullField: rule.fullField + '.' + key\n });\n }\n\n function cb() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var errors = e;\n if (!Array.isArray(errors)) {\n errors = [errors];\n }\n if (!options.suppressWarning && errors.length) {\n Schema.warning('async-validator:', errors);\n }\n if (errors.length && rule.message) {\n errors = [].concat(rule.message);\n }\n\n errors = errors.map((0, _util.complementError)(rule));\n\n if (options.first && errors.length) {\n errorFields[rule.field] = 1;\n return doIt(errors);\n }\n if (!deep) {\n doIt(errors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message) {\n errors = [].concat(rule.message).map((0, _util.complementError)(rule));\n } else if (options.error) {\n errors = [options.error(rule, (0, _util.format)(options.messages.required, rule.field))];\n } else {\n errors = [];\n }\n return doIt(errors);\n }\n\n var fieldsSchema = {};\n if (rule.defaultField) {\n for (var k in data.value) {\n if (data.value.hasOwnProperty(k)) {\n fieldsSchema[k] = rule.defaultField;\n }\n }\n }\n fieldsSchema = _extends({}, fieldsSchema, data.rule.fields);\n for (var f in fieldsSchema) {\n if (fieldsSchema.hasOwnProperty(f)) {\n var fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];\n fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));\n }\n }\n var schema = new Schema(fieldsSchema);\n schema.messages(options.messages);\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n schema.validate(data.value, data.rule.options || options, function (errs) {\n var finalErrors = [];\n if (errors && errors.length) {\n finalErrors.push.apply(finalErrors, errors);\n }\n if (errs && errs.length) {\n finalErrors.push.apply(finalErrors, errs);\n }\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n var res = void 0;\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n res = rule.validator(rule, data.value, cb, data.source, options);\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(rule.message || rule.field + ' fails');\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n if (res && res.then) {\n res.then(function () {\n return cb();\n }, function (e) {\n return cb(e);\n });\n }\n }, function (results) {\n complete(results);\n });\n },\n getType: function getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n if (typeof rule.validator !== 'function' && rule.type && !_validator2['default'].hasOwnProperty(rule.type)) {\n throw new Error((0, _util.format)('Unknown rule type %s', rule.type));\n }\n return rule.type || 'string';\n },\n getValidationMethod: function getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n var keys = Object.keys(rule);\n var messageIndex = keys.indexOf('message');\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n if (keys.length === 1 && keys[0] === 'required') {\n return _validator2['default'].required;\n }\n return _validator2['default'][this.getType(rule)] || false;\n }\n};\n\nSchema.register = function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error('Cannot register a validator by type, validator is not a function');\n }\n _validator2['default'][type] = validator;\n};\n\nSchema.warning = _util.warning;\n\nSchema.messages = _messages2.messages;\n\nexports['default'] = Schema;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.newMessages = newMessages;\nfunction newMessages() {\n return {\n 'default': 'Validation error on field %s',\n required: '%s is required',\n 'enum': '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid'\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n boolean: '%s is not a %s',\n integer: '%s is not an %s',\n float: '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s'\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters'\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s'\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length'\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s'\n },\n clone: function clone() {\n var cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n }\n };\n}\n\nvar messages = exports.messages = newMessages();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = require('../util');\n\nvar util = _interopRequireWildcard(_util);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nvar ENUM = 'enum';\n\n/**\n * Rule for validating a value exists in an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, source, errors, options) {\n rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n if (rule[ENUM].indexOf(value) === -1) {\n errors.push(util.format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));\n }\n}\n\nexports['default'] = enumerable;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _required = require('./required');\n\nvar _required2 = _interopRequireDefault(_required);\n\nvar _whitespace = require('./whitespace');\n\nvar _whitespace2 = _interopRequireDefault(_whitespace);\n\nvar _type = require('./type');\n\nvar _type2 = _interopRequireDefault(_type);\n\nvar _range = require('./range');\n\nvar _range2 = _interopRequireDefault(_range);\n\nvar _enum = require('./enum');\n\nvar _enum2 = _interopRequireDefault(_enum);\n\nvar _pattern = require('./pattern');\n\nvar _pattern2 = _interopRequireDefault(_pattern);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = {\n required: _required2['default'],\n whitespace: _whitespace2['default'],\n type: _type2['default'],\n range: _range2['default'],\n 'enum': _enum2['default'],\n pattern: _pattern2['default']\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = require('../util');\n\nvar util = _interopRequireWildcard(_util);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n/**\n * Rule for validating a regular expression pattern.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction pattern(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n if (!rule.pattern.test(value)) {\n errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n } else if (typeof rule.pattern === 'string') {\n var _pattern = new RegExp(rule.pattern);\n if (!_pattern.test(value)) {\n errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n }\n }\n}\n\nexports['default'] = pattern;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = require('../util');\n\nvar util = _interopRequireWildcard(_util);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n/**\n * Rule for validating minimum and maximum allowed values.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction range(rule, value, source, errors, options) {\n var len = typeof rule.len === 'number';\n var min = typeof rule.min === 'number';\n var max = typeof rule.max === 'number';\n // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n var spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n var val = value;\n var key = null;\n var num = typeof value === 'number';\n var str = typeof value === 'string';\n var arr = Array.isArray(value);\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n }\n // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n if (!key) {\n return false;\n }\n if (arr) {\n val = value.length;\n }\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n if (len) {\n if (val !== rule.len) {\n errors.push(util.format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(util.format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(util.format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(util.format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n }\n}\n\nexports['default'] = range;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = require('../util');\n\nvar util = _interopRequireWildcard(_util);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n/**\n * Rule for validating required fields.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction required(rule, value, source, errors, options, type) {\n if (rule.required && (!source.hasOwnProperty(rule.field) || util.isEmptyValue(value, type || rule.type))) {\n errors.push(util.format(options.messages.required, rule.fullField));\n }\n}\n\nexports['default'] = required;","'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 _util = require('../util');\n\nvar util = _interopRequireWildcard(_util);\n\nvar _required = require('./required');\n\nvar _required2 = _interopRequireDefault(_required);\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)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n/* eslint max-len:0 */\n\nvar pattern = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n url: new RegExp('^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-?)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-?)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$', 'i'),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\n\nvar types = {\n integer: function integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n float: function float(value) {\n return types.number(value) && !types.integer(value);\n },\n array: function array(value) {\n return Array.isArray(value);\n },\n regexp: function regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date: function date(value) {\n return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function';\n },\n number: function number(value) {\n if (isNaN(value)) {\n return false;\n }\n return typeof value === 'number';\n },\n object: function object(value) {\n return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && !types.array(value);\n },\n method: function method(value) {\n return typeof value === 'function';\n },\n email: function email(value) {\n return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;\n },\n url: function url(value) {\n return typeof value === 'string' && !!value.match(pattern.url);\n },\n hex: function hex(value) {\n return typeof value === 'string' && !!value.match(pattern.hex);\n }\n};\n\n/**\n * Rule for validating the type of a value.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n (0, _required2['default'])(rule, value, source, errors, options);\n return;\n }\n var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n var ruleType = rule.type;\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(util.format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n // straight typeof check\n } else if (ruleType && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== rule.type) {\n errors.push(util.format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n}\n\nexports['default'] = type;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = require('../util');\n\nvar util = _interopRequireWildcard(_util);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(util.format(options.messages.whitespace, rule.fullField));\n }\n}\n\nexports['default'] = whitespace;","'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 _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\nexports.convertFieldsError = convertFieldsError;\nexports.format = format;\nexports.isEmptyValue = isEmptyValue;\nexports.isEmptyObject = isEmptyObject;\nexports.asyncMap = asyncMap;\nexports.complementError = complementError;\nexports.deepMerge = deepMerge;\n/* eslint no-console:0 */\n\nvar formatRegExp = /%[sdj%]/g;\n\nvar warning = exports.warning = function warning() {};\n\n// don't print warning message when in production env or node runtime\nif (process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {\n exports.warning = warning = function warning(type, errors) {\n if (typeof console !== 'undefined' && console.warn) {\n if (errors.every(function (e) {\n return typeof e === 'string';\n })) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nfunction convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n var fields = {};\n errors.forEach(function (error) {\n var field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\n\nfunction format() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var i = 1;\n var f = args[0];\n var len = args.length;\n if (typeof f === 'function') {\n return f.apply(null, args.slice(1));\n }\n if (typeof f === 'string') {\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') {\n return '%';\n }\n if (i >= len) {\n return x;\n }\n switch (x) {\n case '%s':\n return String(args[i++]);\n case '%d':\n return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n break;\n default:\n return x;\n }\n });\n for (var arg = args[i]; i < len; arg = args[++i]) {\n str += ' ' + arg;\n }\n return str;\n }\n return f;\n}\n\nfunction isNativeStringType(type) {\n return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'pattern';\n}\n\nfunction isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n return false;\n}\n\nfunction isEmptyObject(obj) {\n return Object.keys(obj).length === 0;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n var results = [];\n var total = 0;\n var arrLength = arr.length;\n\n function count(errors) {\n results.push.apply(results, errors);\n total++;\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(function (a) {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n var index = 0;\n var arrLength = arr.length;\n\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n var original = index;\n index = index + 1;\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr) {\n var ret = [];\n Object.keys(objArr).forEach(function (k) {\n ret.push.apply(ret, objArr[k]);\n });\n return ret;\n}\n\nfunction asyncMap(objArr, option, func, callback) {\n if (option.first) {\n var flattenArr = flattenObjArr(objArr);\n return asyncSerialArray(flattenArr, func, callback);\n }\n var firstFields = option.firstFields || [];\n if (firstFields === true) {\n firstFields = Object.keys(objArr);\n }\n var objArrKeys = Object.keys(objArr);\n var objArrLength = objArrKeys.length;\n var total = 0;\n var results = [];\n var pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n results.push.apply(results, errors);\n total++;\n if (total === objArrLength) {\n callback(results);\n return results.length ? reject({ errors: results, fields: convertFieldsError(results) }) : resolve();\n }\n };\n objArrKeys.forEach(function (key) {\n var arr = objArr[key];\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending['catch'](function (e) {\n return e;\n });\n return pending;\n}\n\nfunction complementError(rule) {\n return function (oe) {\n if (oe && oe.message) {\n oe.field = oe.field || rule.fullField;\n return oe;\n }\n return {\n message: typeof oe === 'function' ? oe() : oe,\n field: oe.field || rule.fullField\n };\n };\n}\n\nfunction deepMerge(target, source) {\n if (source) {\n for (var s in source) {\n if (source.hasOwnProperty(s)) {\n var value = source[s];\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && _typeof(target[s]) === 'object') {\n target[s] = _extends({}, target[s], value);\n } else {\n target[s] = value;\n }\n }\n }\n }\n return target;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates an array.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction array(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value, 'array') && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options, 'array');\n if (!(0, _util.isEmptyValue)(value, 'array')) {\n _rule2['default'].type(rule, value, source, errors, options);\n _rule2['default'].range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = array;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = require('../util');\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a boolean.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction boolean(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = boolean;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n // console.log('validate on %s value', value);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (!(0, _util.isEmptyValue)(value)) {\n var dateObject = void 0;\n\n if (typeof value === 'number') {\n dateObject = new Date(value);\n } else {\n dateObject = value;\n }\n\n _rule2['default'].type(rule, dateObject, source, errors, options);\n if (dateObject) {\n _rule2['default'].range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\nexports['default'] = date;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar ENUM = 'enum';\n\n/**\n * Validates an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value) {\n _rule2['default'][ENUM](rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = enumerable;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a number is a floating point number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction floatFn(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n _rule2['default'].range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = floatFn;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _string = require('./string');\n\nvar _string2 = _interopRequireDefault(_string);\n\nvar _method = require('./method');\n\nvar _method2 = _interopRequireDefault(_method);\n\nvar _number = require('./number');\n\nvar _number2 = _interopRequireDefault(_number);\n\nvar _boolean = require('./boolean');\n\nvar _boolean2 = _interopRequireDefault(_boolean);\n\nvar _regexp = require('./regexp');\n\nvar _regexp2 = _interopRequireDefault(_regexp);\n\nvar _integer = require('./integer');\n\nvar _integer2 = _interopRequireDefault(_integer);\n\nvar _float = require('./float');\n\nvar _float2 = _interopRequireDefault(_float);\n\nvar _array = require('./array');\n\nvar _array2 = _interopRequireDefault(_array);\n\nvar _object = require('./object');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _enum = require('./enum');\n\nvar _enum2 = _interopRequireDefault(_enum);\n\nvar _pattern = require('./pattern');\n\nvar _pattern2 = _interopRequireDefault(_pattern);\n\nvar _date = require('./date');\n\nvar _date2 = _interopRequireDefault(_date);\n\nvar _required = require('./required');\n\nvar _required2 = _interopRequireDefault(_required);\n\nvar _type = require('./type');\n\nvar _type2 = _interopRequireDefault(_type);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = {\n string: _string2['default'],\n method: _method2['default'],\n number: _number2['default'],\n boolean: _boolean2['default'],\n regexp: _regexp2['default'],\n integer: _integer2['default'],\n float: _float2['default'],\n array: _array2['default'],\n object: _object2['default'],\n 'enum': _enum2['default'],\n pattern: _pattern2['default'],\n date: _date2['default'],\n url: _type2['default'],\n hex: _type2['default'],\n email: _type2['default'],\n required: _required2['default']\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a number is an integer.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction integer(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n _rule2['default'].range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = integer;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a function.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction method(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = method;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction number(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n _rule2['default'].range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = number;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates an object.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction object(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = object;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a regular expression pattern.\n *\n * Performs validation when a rule only contains\n * a pattern property but is not declared as a string type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction pattern(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value, 'string') && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (!(0, _util.isEmptyValue)(value, 'string')) {\n _rule2['default'].pattern(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = pattern;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates the regular expression type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction regexp(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (!(0, _util.isEmptyValue)(value)) {\n _rule2['default'].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = regexp;","'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 _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction required(rule, value, callback, source, options) {\n var errors = [];\n var type = Array.isArray(value) ? 'array' : typeof value === 'undefined' ? 'undefined' : _typeof(value);\n _rule2['default'].required(rule, value, source, errors, options, type);\n callback(errors);\n}\n\nexports['default'] = required;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Performs validation for string types.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction string(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value, 'string') && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options, 'string');\n if (!(0, _util.isEmptyValue)(value, 'string')) {\n _rule2['default'].type(rule, value, source, errors, options);\n _rule2['default'].range(rule, value, source, errors, options);\n _rule2['default'].pattern(rule, value, source, errors, options);\n if (rule.whitespace === true) {\n _rule2['default'].whitespace(rule, value, source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\nexports['default'] = string;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction type(rule, value, callback, source, options) {\n var ruleType = rule.type;\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value, ruleType) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options, ruleType);\n if (!(0, _util.isEmptyValue)(value, ruleType)) {\n _rule2['default'].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = type;","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = 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 (0, _defineProperty2.default)(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}();","\"use strict\";\n\nexports.__esModule = true;\n\nvar _assign = require(\"../core-js/object/assign\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || 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};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true,\n});\n\nvar categories = {\n whatsNew: [\n 'circulate', 'knowledge', 'pipeline',\n 'role_assignments', 'application_allocation', 'redeploy_line', 'add_column', 'add_row', 'application_market', 'backup_line', 'delete_column', 'delete_row', 'establish_base',\n 'merge_cell', 'rate_review1', 'revocation', 'split_cell', 'template_configuration', 'widgets_line',\n 'project_line', 'project_group', 'project_filled', 'scissors', 'category',\n 'subscription', 'line_manage', 'nearby', 'authorize',\n 'publish_cancel', 'subscription_cancel', 'project_program', 'agile-feature', 'baseline-vertical_split',\n 'number', 'popup_selection', 'toggle_off', 'project_program_analyze', 'application_-general',\n 'deploy_list', 'auto_complete', 'combo_box', 'data_source', 'multistage_combo_box',\n 'API_management', 'API_market', 'API_publish', 'API_subscription', 'APIS', 'auto_deploy',\n 'sync_records', 'sync_user', 'test-case', 'test-automation', 'token', 'change_size',\n 'add_crt', 'add_branch', 'line', 'secret', 'recover', 'table', 'test_execution', 'test_progress',\n 'test_record', 'execution_schedule', 'cluster', 'kubernetes_cluster', 'disconnect',\n 'running', 'notification_setting', 'authority', 'develop_console', 'frame', 'record_test',\n 'agile_epic', 'agile_fault', 'agile_story', 'agile_subtask', 'agile_task', 'auto_test',\n ],\n direction: [\n 'baseline-arrow_drop_down', 'baseline-arrow_drop_up', 'baseline-arrow_left', 'baseline-arrow_right',\n 'play_90', 'replay_90', 'navigate_before', 'navigate_next', 'arrow_back',\n 'arrow_downward', 'arrow_drop_down', 'arrow_drop_down_circle', 'arrow_drop_up', 'arrow_forward', 'arrow_upward',\n 'expand_less', 'expand_more', 'fast_forward', 'fast_rewind', 'first_page', 'last_page', 'skip_next', 'skip_previous',\n 'subdirectory_arrow_left', 'subdirectory_arrow_right', 'trending_down', 'trending_flat', 'trending_up',\n 'unfold_less', 'unfold_more',\n ],\n suggestion: [\n 'cancle_a', 'cancle_b', 'forbidden_a', 'forbidden_b', 'block', 'finished', 'alarm', 'access_alarms', 'schedule', 'alarm_off', 'alarm_on',\n 'add', 'add_a_photo', 'alarm_add', 'add_alert', 'add_box', 'add_circle', 'control_point', 'add_location',\n 'add_shopping_cart', 'queue', 'add_to_queue', 'cancel', 'check', 'check_circle', 'close', 'not_interested', 'do_not_disturb_alt',\n 'do_not_disturb_off', 'remove', 'remove_circle_outline', 'remove_circle', 'done', 'done_all', 'indeterminate_check_box', 'info', 'info_outline',\n 'priority_high', 'verified_user', 'report', 'warning',\n ],\n edit: [\n 'border_all', 'border_bottom', 'border_clear',\n 'border_color', 'border_horizontal', 'border_inner', 'border_left', 'border_outer',\n 'border_right', 'border_style', 'border_top', 'border_vertical',\n 'code', 'photo_library', 'collections_bookmark', 'palette', 'colorize', 'comment',\n 'compare', 'compare_arrows', 'content_cut', 'content_paste', 'content_copy', 'mode_edit',\n 'crop', 'crop_16_9', 'crop_3_2', 'crop_landscape', 'crop_7_5', 'crop_din', 'crop_free', 'crop_original', 'crop_portrait', 'crop_rotate',\n 'crop_square', 'delete', 'delete_forever', 'delete_sweep', 'error', 'error_outline',\n 'flip', 'flip_to_back', 'flip_to_front', 'font_download',\n 'format_align_center', 'format_align_justify', 'format_align_left', 'format_align_right', 'format_bold', 'format_clear',\n 'format_color_fill', 'format_color_reset', 'format_color_text', 'format_indent_decrease', 'format_indent_increase', 'format_italic',\n 'format_line_spacing', 'format_list_bulleted', 'format_list_numbered', 'format_paint', 'format_quote', 'format_shapes', 'format_size',\n 'format_strikethrough', 'format_textdirection_l_to_r', 'format_textdirection_r_to_l', 'format_underlined',\n 'fullscreen', 'fullscreen_exit', 'functions', 'g_translate', 'grid_off', 'grid_on', 'print', 'sort', 'sort_by_alpha',\n 'text_fields', 'text_format', 'texture', 'transform', 'translate', 'undo', 'wrap_text', 'zoom_in', 'zoom_out', 'zoom_out_map',\n ],\n data: [\n 'devops_chart', 'agile_chart', 'test_chart', 'bar_chart', 'burnout_map', 'table_chart', 'bubble_chart', 'pie_chart', 'pie_chart_outlined',\n 'show_chart',\n ],\n other: [\n 'create_new_folder', 'folder_open2', 'folder', 'folder_open', 'folder_shared', 'folder_special', 'note', 'note_add',\n 'lock', 'unlock', 'lock_open', 'lock_outline', 'classname', 'state_over', 'task_schedule', 'unallocated_question',\n 'unfinished_question', 'all_reports', 'iterative_workbench', 'outstanding_tasks', 'report_overview', 'test_execute',\n 'test_planning', 'project_list', 'domain_list', 'IP_out', 'message_notification',\n 'all_read', 'inmail_template', 'mail_set', 'export_EOT', 'export_html',\n 'export_PDF', 'export_RTF', 'export_XAR', 'mail_modal', 'message_modal', 'message2', 'usermap', 'document',\n 'pass', 'operation_bug', 'operation_change', 'operation_event', 'operation_help',\n 'operation_new_feature', 'operation_problem', 'operation_service_request',\n 'operation_subtask', 'operation_task', 'port', 'aim_port',\n 'saga_define', 'role_tag', 'agile', 'quality', 'appmarket', 'merge_request',\n 'APItest', 'relation', 'relate', 'manage_project', 'book', 'contact_support',\n 'ballot', 'test', 'priority', 'compass', 'sutask',\n 'explicit-outline', 'explicit2', 'framework', 'inbox_content', 'visits', 'work_log',\n 'link', 'link2', 'baseline-link_off', 'baseline-drag_indicator', 'baseline-file_copy', 'sms_outline', 'versionline',\n 'root', 'micro', 'publish2', 'center', 'filter2', 'manage_person',\n 'manage_organization', 'password', 'custom_Directory', 'predefine', 'project', 'return', 'API',\n '/', 'application_model', 'microservice', 'instance', 'instance_outline', 'IAM', 'routeroutline',\n 'version', 'devops', 'CI', 'kubernetes', 'branch', 'point', 'wait_circle', 'add_activity',\n 'add_task', 'export', 'debug',\n 'database', 'Development-monitoring', 'insight', 'jsfiddle', 'Operation-monitoring', 'rocket',\n 'wrench', 'skipped_a', 'skipped_b', 'd_rotation', 'ac_unit', 'accessibility',\n 'accessible', 'account_balance', 'account_balance_wallet', 'account_box', 'account_circle', 'adb',\n 'adjust', 'airline_seat_flat', 'airline_seat_flat_angled',\n 'airline_seat_individual_suite', 'airline_seat_legroom_extra', 'airline_seat_legroom_normal',\n 'airline_seat_legroom_reduced', 'airline_seat_recline_extra', 'airline_seat_recline_normal',\n 'flight', 'airplanemode_inactive', 'airplay', 'airport_shuttle',\n 'album', 'all_inclusive', 'all_out', 'announcement', 'apps', 'archive',\n 'art_track', 'aspect_ratio', 'poll', 'assignment', 'assignment_ind', 'assignment_late', 'assignment_return',\n 'assignment_returned', 'assignment_turned_in', 'assistant', 'flag', 'attach_file', 'attach_money', 'attachment',\n 'audiotrack', 'autorenew', 'av_timer', 'backspace', 'cloud_upload', 'battery_alert', 'battery_charging_full',\n 'battery_std', 'battery_unknown', 'beach_access', 'beenhere', 'bluetooth', 'bluetooth_searching',\n 'bluetooth_connected', 'bluetooth_disabled', 'blur_circular', 'blur_linear', 'blur_off',\n 'blur_on', 'class', 'turned_in', 'turned_in_not', 'branding_watermark',\n 'brightness_1', 'brightness_2', 'brightness_3', 'brightness_4', 'brightness_low',\n 'brightness_medium', 'brightness_high', 'brightness_auto', 'broken_image', 'brush',\n 'bug_report', 'build', 'burst_mode', 'domain', 'business_center',\n 'cached', 'cake', 'phone', 'call_end', 'call_made', 'merge_type', 'call_missed',\n 'call_missed_outgoing', 'call_received', 'call_split', 'call_to_action', 'redeem', 'card_membership', 'card_travel',\n 'casino', 'cast', 'cast_connected', 'center_focus_strong', 'center_focus_weak', 'change_history', 'chat', 'chat_bubble',\n 'chat_bubble_outline', 'check_box', 'check_box_outline_blank', 'child_care',\n 'child_friendly', 'chrome_reader_mode', 'clear_all', 'closed_caption', 'wb_cloudy', 'cloud_circle', 'cloud_done',\n 'cloud_download', 'cloud_off', 'cloud_queue', 'laptop', 'confirmation_number', 'contact_mail', 'contact_phone', 'contacts',\n 'control_point_duplicate', 'copyright', 'payment', 'dashboard', 'data_usage', 'dehaze', 'description',\n 'desktop_mac', 'desktop_windows', 'details', 'developer_board', 'developer_mode', 'device_hub', 'phonelink', 'devices_other',\n 'dialer_sip', 'dialpad', 'directions', 'directions_bike', 'directions_boat', 'directions_bus', 'directions_car', 'directions_railway',\n 'directions_run', 'directions_transit', 'directions_walk', 'disc_full', 'dns', 'dock', 'donut_large', 'donut_small', 'drafts', 'drag_handle',\n 'time_to_leave', 'dvr', 'edit_location', 'eject', 'markunread', 'enhanced_encryption', 'equalizer',\n 'euro_symbol', 'ev_station', 'today', 'date_range', 'insert_invitation', 'event_available', 'event_busy', 'event_note', 'event_seat',\n 'exit_to_app', 'explicit', 'explore', 'extension', 'face', 'favorite', 'favorite_border',\n 'featured_play_list', 'featured_video', 'sms_failed', 'fiber_dvr', 'fiber_manual_record', 'fiber_new', 'fiber_pin',\n 'fiber_smart_record', 'get_app', 'file_upload', 'terrain', 'find_in_page', 'find_replace',\n 'fingerprint', 'fitness_center', 'flare', 'flash_auto', 'flash_off', 'flash_on', 'flight_land', 'flight_takeoff',\n 'question_answer', 'forward', 'forward_10', 'forward_30', 'forward_5', 'free_breakfast', 'games', 'gavel',\n 'gesture', 'gif', 'goat', 'golf_course', 'my_location', 'location_searching', 'location_disabled', 'star', 'gradient', 'grain',\n 'graphic_eq', 'people', 'group_add', 'group_work', 'hd', 'hdr_off', 'hdr_on', 'hdr_strong', 'hdr_weak',\n 'headset', 'headset_mic', 'healing', 'hearing', 'help', 'help_outline', 'high_quality', 'highlight', 'highlight_off', 'restore',\n 'home', 'hot_tub', 'local_hotel', 'hourglass_empty', 'hourglass_full', 'http', 'image_aspect_ratio',\n 'import_contacts', 'import_export', 'important_devices', 'inbox',\n 'input', 'insert_comment', 'insert_drive_file', 'tag_faces', 'invert_colors', 'invert_colors_off', 'iso', 'kitchen', 'label',\n 'label_outline', 'language', 'laptop_chromebook', 'laptop_mac', 'laptop_windows', 'open_in_new',\n 'layers', 'layers_clear', 'leak_add', 'leak_remove', 'lens', 'library_books', 'library_music', 'lightbulb_outline',\n 'line_style', 'line_weight', 'linear_scale', 'linked_camera', 'list', 'live_help', 'live_tv', 'local_play', 'local_airport',\n 'local_atm', 'local_bar', 'local_cafe', 'local_car_wash', 'local_convenience_store', 'restaurant_menu', 'local_drink',\n 'local_florist', 'local_gas_station', 'shopping_cart', 'local_hospital', 'local_laundry_service', 'local_library', 'local_mall',\n 'theaters', 'local_offer', 'local_parking', 'local_pharmacy', 'local_pizza', 'local_shipping', 'local_taxi', 'location_city',\n 'location_off', 'room', 'sync', 'loupe', 'low_priority', 'loyalty', 'mail_outline',\n 'map', 'markunread_mailbox', 'memory', 'menu', 'message', 'mic', 'mic_none', 'mic_off', 'mms',\n 'mode_comment', 'monetization_on', 'money_off', 'monochrome_photos', 'mood_bad', 'more', 'more_horiz',\n 'more_vert', 'motorcycle', 'mouse', 'move_to_inbox', 'movie_creation', 'movie_filter', 'multiline_chart',\n 'music_note', 'music_video', 'nature', 'nature_people', 'navigation', 'near_me', 'network_cell',\n 'network_check', 'network_locked', 'network_wifi', 'new_releases', 'next_week', 'nfc', 'no_encryption',\n 'signal_cellular_no_sim', 'offline_pin', 'ondemand_video', 'opacity', 'open_in_browser',\n 'open_with', 'pages', 'pageview', 'pan_tool', 'panorama', 'radio_button_unchecked', 'panorama_horizontal',\n 'panorama_vertical', 'panorama_wide_angle', 'party_mode', 'pause', 'pause_circle_filled', 'pause_circle_outline',\n 'people_outline', 'perm_camera_mic', 'perm_contact_calendar', 'perm_data_setting', 'perm_device_information', 'person_outline',\n 'perm_media', 'perm_phone_msg', 'perm_scan_wifi', 'person', 'person_add', 'person_pin', 'person_pin_circle', 'personal_video',\n 'pets', 'pin_drop', 'plus_one', 'polymer', 'pool', 'portable_wifi_off',\n 'portrait', 'power', 'power_input', 'power_settings_new', 'pregnant_woman', 'present_to_all',\n 'public', 'publish', 'queue_music', 'queue_play_next', 'radio', 'radio_button_checked', 'rate_review', 'receipt',\n 'recent_actors', 'record_voice_over', 'redo', 'refresh', 'remove_from_queue',\n 'visibility', 'remove_shopping_cart', 'reorder', 'repeat', 'repeat_one', 'replay', 'replay_10', 'replay_30', 'replay_5',\n 'reply', 'reply_all', 'restaurant', 'restore_page', 'ring_volume', 'room_service',\n 'rotate_90_degrees_ccw', 'rotate_left', 'rotate_right', 'rounded_corner', 'router', 'rowing', 'rss_feed',\n 'rv_hookup', 'satellite', 'save', 'scanner', 'school', 'screen_lock_landscape', 'screen_lock_portrait',\n 'screen_lock_rotation', 'screen_rotation', 'screen_share', 'sd_storage', 'search', 'security', 'select_all',\n 'send', 'share', 'shop', 'shop_two', 'shopping_basket', 'short_text',\n 'shuffle', 'slideshow', 'slow_motion_video', 'stay_primary_portrait', 'smoke_free', 'smoking_rooms',\n 'textsms', 'snooze', 'spa', 'space_bar', 'speaker', 'speaker_group',\n 'speaker_notes', 'speaker_notes_off', 'speaker_phone', 'spellcheck', 'star_border', 'star_half',\n 'stars', 'stay_primary_landscape', 'stop', 'stop_screen_share', 'storage', 'store_mall_directory',\n 'straighten', 'streetview', 'strikethrough_s', 'style',\n 'subject', 'subscriptions', 'subtitles', 'subway', 'supervisor_account', 'surround_sound', 'sync_disabled', 'sync_problem',\n 'system_update', 'system_update_alt', 'tab', 'tab_unselected', 'tablet', 'tablet_android', 'tablet_mac', 'tap_and_play',\n 'thumb_down', 'thumb_up', 'thumbs_up_down', 'timelapse',\n 'timeline', 'timer', 'timer_10', 'timer_3', 'timer_off', 'title', 'toc', 'toll', 'tonality',\n 'touch_app', 'toys', 'track_changes', 'traffic', 'train', 'tram', 'transfer_within_a_station',\n 'tune', 'tv', 'unarchive', 'update', 'usb', 'vertical_align_bottom', 'vertical_align_center', 'vertical_align_top',\n 'vibration', 'video_call', 'video_label', 'video_library', 'videocam', 'videocam_off', 'videogame_asset',\n 'vignette', 'visibility_off', 'voice_chat', 'voicemail', 'vpn_key', 'vpn_lock', 'wallpaper', 'watch', 'watch_later',\n 'wb_auto', 'wb_incandescent', 'wb_iridescent', 'wb_sunny', 'wc', 'web', 'web_asset', 'weekend', 'whatshot', 'widgets',\n 'wifi', 'wifi_lock', 'wifi_tethering', 'work', 'youtube_searched_for', 'git', 'android',\n ],\n series: [\n 'wait_one_a', 'wait_one_b', 'wait_two_a', 'wait_two_b', 'wait_three_a', 'wait_three_b',\n 'wait_four_a', 'wait_four_b', 'wait_five_a', 'wait_five_b',\n 'exposure', 'exposure_neg_1', 'exposure_neg_2', 'exposure_plus_1', 'exposure_plus_2', 'exposure_zero',\n 'filter', 'filter_1', 'filter_2', 'filter_3', 'filter_4', 'filter_5',\n 'filter_6', 'filter_7', 'filter_8', 'filter_9', 'filter_9_plus', 'filter_b_and_w', 'filter_center_focus', 'filter_drama',\n 'filter_frames', 'filter_list', 'filter_none', 'filter_tilt_shift', 'filter_vintage',\n 'keyboard', 'keyboard_arrow_down', 'keyboard_arrow_left', 'keyboard_arrow_right', 'keyboard_arrow_up', 'keyboard_backspace',\n 'keyboard_capslock', 'keyboard_hide', 'keyboard_return', 'keyboard_tab', 'keyboard_voice',\n 'looks', 'looks_one', 'looks_two', 'looks_3', 'looks_4', 'looks_5', 'looks_6',\n 'notifications', 'notifications_active', 'notifications_none', 'notifications_off', 'notifications_paused',\n 'phone_android', 'phone_android2', 'phone_bluetooth_speaker', 'phone_forwarded', 'phone_in_talk', 'phone_iphone', 'phone_locked',\n 'phone_missed', 'phone_paused', 'phonelink_erase', 'phonelink_lock', 'phonelink_off', 'phonelink_ring', 'phonelink_setup',\n 'camera', 'photo_camera', 'camera_enhance', 'camera_front', 'camera_rear', 'camera_roll', 'photo',\n 'photo_album', 'photo_filter', 'photo_size_select_actual', 'photo_size_select_large',\n 'photo_size_select_small', 'picture_as_pdf', 'picture_in_picture', 'picture_in_picture_alt',\n 'play_arrow', 'play_circle_filled', 'play_circle_outline', 'play_for_work', 'playlist_add', 'playlist_add_check', 'playlist_play',\n 'sentiment_dissatisfied', 'sentiment_neutral', 'sentiment_satisfied', 'sentiment_very_dissatisfied', 'sentiment_very_satisfied',\n 'settings', 'settings_applications', 'settings_backup_restore', 'settings_bluetooth',\n 'settings_brightness', 'settings_cell', 'settings_ethernet', 'settings_input_antenna', 'settings_input_composite',\n 'settings_input_hdmi', 'settings_input_svideo', 'settings_overscan', 'settings_phone', 'settings_power', 'settings_remote',\n 'settings_system_daydream', 'settings_voice',\n 'signal_cellular_4_bar', 'signal_cellular_connected_no_internet_4_bar',\n 'signal_cellular_null', 'signal_cellular_off', 'signal_wifi_4_bar', 'signal_wifi_4_bar_lock',\n 'signal_wifi_off', 'sim_card', 'sim_card_alert',\n 'swap_calls', 'swap_horiz', 'swap_vert', 'swap_vertical_circle', 'switch_camera', 'switch_video',\n 'view_agenda', 'view_array', 'view_carousel', 'view_column', 'view_comfy', 'view_compact', 'view_day', 'view_headline', 'view_list',\n 'view_module', 'view_quilt', 'view_stream', 'view_week', 'volume_down', 'volume_mute', 'volume_off', 'volume_up',\n ],\n};\n\nvar icons = {\n favorite: ['routeroutline', 'role_tag', 'hdr_strong', 'bar_chart', 'reply', 'class', 'manage_project', 'transfer_within_a_station', 'room_service', 'publish2', 'laptop_mac', 'developer_board', 'CI', 'content_copy', 'book', 'wrench', 'view_day', 'date_range', 'extension', 'filter_vintage', 'hdr_weak', 'dashboard', 'Operation-monitoring', 'application_model', 'folder_shared', 'delete', 'develop_console', 'agile', 'merge_request', 'task_schedule', 'link', 'settings', 'baseline-drag_indicator', 'apps', 'account_box', 'test_planning', 'donut_small', 'agile_fault', 'person', 'view_list', 'directions_run', 'instance_outline', 'password', 'inmail_template', 'error', 'vpn_key', 'classname', 'assignment_ind', 'contact_mail', 'work_log', 'speaker_notes', 'format_list_numbered', 'shuffle', 'API', 'linear_scale', 'device_hub', 'saga_define', 'devops_chart', 'table_chart', 'settings_input_composite', 'event_available', 'flip_to_back', 'kubernetes', 'notifications', 'hearing', 'authority', 'cluster', 'public', 'devops', 'account_balance', 'mail_set', 'person_add', 'record_test', 'folder', 'usermap', 'assignment_late', 'micro', 'secret', 'appmarket', 'brightness_low', 'IAM', 'test', 'message', 'project', 'local_offer', 'domain', 'router', 'settings_applications', 'style', 'polymer', 'manage_organization', 'microservice', 'description', 'jsfiddle', 'manage_person', 'transform', 'subject', 'compare_arrows', 'branch', 'root', 'auto_test', 'strikethrough_s', 'center', 'widgets', 'volume_up', 'link2', 'Development-monitoring', 'whatshot', 'message_notification', 'insert_drive_file', 'accessibility', 'youtube_searched_for', 'test_execution', 'baseline-list_alt', 'cloud_upload', 'APItest', 'build', 'assignment', 'language', 'home', 'favorite', 'filter_drama', 'flare', 'folder_special', 'tag_faces', 'lightbulb_outline', 'loyalty', 'star_border'],\n default: [],\n};\n\nObject.keys(categories).forEach(function (key) {\n icons.default.push.apply(icons.default, categories[key]);\n});\n\nexports.categories = categories;\nexports.icons = icons;\n","/*!\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 * 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","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};","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.map');\nrequire('../modules/es7.map.to-json');\nrequire('../modules/es7.map.of');\nrequire('../modules/es7.map.from');\nmodule.exports = require('../modules/_core').Map;\n","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","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","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.set');\nrequire('../modules/es7.set.to-json');\nrequire('../modules/es7.set.of');\nrequire('../modules/es7.set.from');\nmodule.exports = require('../modules/_core').Set;\n","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","module.exports = function () { /* empty */ };\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","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","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","// 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","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof');\nvar from = require('./_array-from-iterable');\nmodule.exports = function (NAME) {\n return function toJSON() {\n if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar meta = require('./_meta');\nvar fails = require('./_fails');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar setToStringTag = require('./_set-to-string-tag');\nvar dP = require('./_object-dp').f;\nvar each = require('./_array-methods')(0);\nvar DESCRIPTORS = require('./_descriptors');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME, '_c');\n target._c = new Base();\n if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);\n });\n each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {\n var IS_ADDER = KEY == 'add' || KEY == 'set';\n if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {\n anInstance(this, C, KEY);\n if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;\n var result = this._c[KEY](a === 0 ? 0 : a, b);\n return IS_ADDER ? this : result;\n });\n });\n IS_WEAK || dP(C.prototype, 'size', {\n get: function () {\n return this._c.size;\n }\n });\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F, O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","var core = module.exports = { version: '2.6.9' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// 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","// 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","// 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","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","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","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","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","// 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","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","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","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 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","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = {};\n","module.exports = true;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\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) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","// 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","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","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","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","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","// 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","exports.f = {}.propertyIsEnumerable;\n","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","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n","module.exports = require('./_hide');\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar ctx = require('./_ctx');\nvar forOf = require('./_for-of');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n } });\n};\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\n};\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","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: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","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","// 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","// 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","// 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","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 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","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","exports.f = require('./_wks');\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","// 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","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","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\nrequire('./_set-collection-from')('Map');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\nrequire('./_set-collection-of')('Map');\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', { toJSON: require('./_collection-to-json')('Map') });\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\nrequire('./_set-collection-from')('Set');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\nrequire('./_set-collection-of')('Set');\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', { toJSON: require('./_collection-to-json')('Set') });\n","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\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'use strict';\n\nvar _assign = require('object-assign');\n\nvar emptyObject = require('fbjs/lib/emptyObject');\nvar _invariant = require('fbjs/lib/invariant');\n\nif (process.env.NODE_ENV !== 'production') {\n var warning = require('fbjs/lib/warning');\n}\n\nvar MIXINS_KEY = 'mixins';\n\n// Helper function to allow the creation of anonymous functions which do not\n// have .name set to the name of the variable being assigned to.\nfunction identity(fn) {\n return fn;\n}\n\nvar ReactPropTypeLocationNames;\nif (process.env.NODE_ENV !== 'production') {\n ReactPropTypeLocationNames = {\n prop: 'prop',\n context: 'context',\n childContext: 'child context'\n };\n} else {\n ReactPropTypeLocationNames = {};\n}\n\nfunction factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {\n /**\n * Policies that describe methods in `ReactClassInterface`.\n */\n\n var injectedMixins = [];\n\n /**\n * Composite components are higher-level components that compose other composite\n * or host components.\n *\n * To create a new type of `ReactClass`, pass a specification of\n * your new class to `React.createClass`. The only requirement of your class\n * specification is that you implement a `render` method.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return <div>Hello World</div>;\n * }\n * });\n *\n * The class specification supports a specific protocol of methods that have\n * special meaning (e.g. `render`). See `ReactClassInterface` for\n * more the comprehensive protocol. Any other properties and methods in the\n * class specification will be available on the prototype.\n *\n * @interface ReactClassInterface\n * @internal\n */\n var ReactClassInterface = {\n /**\n * An array of Mixin objects to include when defining your component.\n *\n * @type {array}\n * @optional\n */\n mixins: 'DEFINE_MANY',\n\n /**\n * An object containing properties and methods that should be defined on\n * the component's constructor instead of its prototype (static methods).\n *\n * @type {object}\n * @optional\n */\n statics: 'DEFINE_MANY',\n\n /**\n * Definition of prop types for this component.\n *\n * @type {object}\n * @optional\n */\n propTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types for this component.\n *\n * @type {object}\n * @optional\n */\n contextTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types this component sets for its children.\n *\n * @type {object}\n * @optional\n */\n childContextTypes: 'DEFINE_MANY',\n\n // ==== Definition methods ====\n\n /**\n * Invoked when the component is mounted. Values in the mapping will be set on\n * `this.props` if that prop is not specified (i.e. using an `in` check).\n *\n * This method is invoked before `getInitialState` and therefore cannot rely\n * on `this.state` or use `this.setState`.\n *\n * @return {object}\n * @optional\n */\n getDefaultProps: 'DEFINE_MANY_MERGED',\n\n /**\n * Invoked once before the component is mounted. The return value will be used\n * as the initial value of `this.state`.\n *\n * getInitialState: function() {\n * return {\n * isOn: false,\n * fooBaz: new BazFoo()\n * }\n * }\n *\n * @return {object}\n * @optional\n */\n getInitialState: 'DEFINE_MANY_MERGED',\n\n /**\n * @return {object}\n * @optional\n */\n getChildContext: 'DEFINE_MANY_MERGED',\n\n /**\n * Uses props from `this.props` and state from `this.state` to render the\n * structure of the component.\n *\n * No guarantees are made about when or how often this method is invoked, so\n * it must not have side effects.\n *\n * render: function() {\n * var name = this.props.name;\n * return <div>Hello, {name}!</div>;\n * }\n *\n * @return {ReactComponent}\n * @required\n */\n render: 'DEFINE_ONCE',\n\n // ==== Delegate methods ====\n\n /**\n * Invoked when the component is initially created and about to be mounted.\n * This may have side effects, but any external subscriptions or data created\n * by this method must be cleaned up in `componentWillUnmount`.\n *\n * @optional\n */\n componentWillMount: 'DEFINE_MANY',\n\n /**\n * Invoked when the component has been mounted and has a DOM representation.\n * However, there is no guarantee that the DOM node is in the document.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been mounted (initialized and rendered) for the first time.\n *\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidMount: 'DEFINE_MANY',\n\n /**\n * Invoked before the component receives new props.\n *\n * Use this as an opportunity to react to a prop transition by updating the\n * state using `this.setState`. Current props are accessed via `this.props`.\n *\n * componentWillReceiveProps: function(nextProps, nextContext) {\n * this.setState({\n * likesIncreasing: nextProps.likeCount > this.props.likeCount\n * });\n * }\n *\n * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop\n * transition may cause a state change, but the opposite is not true. If you\n * need it, you are probably looking for `componentWillUpdate`.\n *\n * @param {object} nextProps\n * @optional\n */\n componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Invoked while deciding if the component should be updated as a result of\n * receiving new props, state and/or context.\n *\n * Use this as an opportunity to `return false` when you're certain that the\n * transition to the new props/state/context will not require a component\n * update.\n *\n * shouldComponentUpdate: function(nextProps, nextState, nextContext) {\n * return !equal(nextProps, this.props) ||\n * !equal(nextState, this.state) ||\n * !equal(nextContext, this.context);\n * }\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @return {boolean} True if the component should update.\n * @optional\n */\n shouldComponentUpdate: 'DEFINE_ONCE',\n\n /**\n * Invoked when the component is about to update due to a transition from\n * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`\n * and `nextContext`.\n *\n * Use this as an opportunity to perform preparation before an update occurs.\n *\n * NOTE: You **cannot** use `this.setState()` in this method.\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @param {ReactReconcileTransaction} transaction\n * @optional\n */\n componentWillUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component's DOM representation has been updated.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been updated.\n *\n * @param {object} prevProps\n * @param {?object} prevState\n * @param {?object} prevContext\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component is about to be removed from its parent and have\n * its DOM representation destroyed.\n *\n * Use this as an opportunity to deallocate any external resources.\n *\n * NOTE: There is no `componentDidUnmount` since your component will have been\n * destroyed by that point.\n *\n * @optional\n */\n componentWillUnmount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillMount`.\n *\n * @optional\n */\n UNSAFE_componentWillMount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillReceiveProps`.\n *\n * @optional\n */\n UNSAFE_componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillUpdate`.\n *\n * @optional\n */\n UNSAFE_componentWillUpdate: 'DEFINE_MANY',\n\n // ==== Advanced methods ====\n\n /**\n * Updates the component's currently mounted DOM representation.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n * @overridable\n */\n updateComponent: 'OVERRIDE_BASE'\n };\n\n /**\n * Similar to ReactClassInterface but for static methods.\n */\n var ReactClassStaticInterface = {\n /**\n * This method is invoked after a component is instantiated and when it\n * receives new props. Return an object to update state in response to\n * prop changes. Return null to indicate no change to state.\n *\n * If an object is returned, its keys will be merged into the existing state.\n *\n * @return {object || null}\n * @optional\n */\n getDerivedStateFromProps: 'DEFINE_MANY_MERGED'\n };\n\n /**\n * Mapping from class specification keys to special processing functions.\n *\n * Although these are declared like instance properties in the specification\n * when defining classes using `React.createClass`, they are actually static\n * and are accessible on the constructor instead of the prototype. Despite\n * being static, they must be defined outside of the \"statics\" key under\n * which all other static methods are defined.\n */\n var RESERVED_SPEC_KEYS = {\n displayName: function(Constructor, displayName) {\n Constructor.displayName = displayName;\n },\n mixins: function(Constructor, mixins) {\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n mixSpecIntoComponent(Constructor, mixins[i]);\n }\n }\n },\n childContextTypes: function(Constructor, childContextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, childContextTypes, 'childContext');\n }\n Constructor.childContextTypes = _assign(\n {},\n Constructor.childContextTypes,\n childContextTypes\n );\n },\n contextTypes: function(Constructor, contextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, contextTypes, 'context');\n }\n Constructor.contextTypes = _assign(\n {},\n Constructor.contextTypes,\n contextTypes\n );\n },\n /**\n * Special case getDefaultProps which should move into statics but requires\n * automatic merging.\n */\n getDefaultProps: function(Constructor, getDefaultProps) {\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps = createMergedResultFunction(\n Constructor.getDefaultProps,\n getDefaultProps\n );\n } else {\n Constructor.getDefaultProps = getDefaultProps;\n }\n },\n propTypes: function(Constructor, propTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, propTypes, 'prop');\n }\n Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);\n },\n statics: function(Constructor, statics) {\n mixStaticSpecIntoComponent(Constructor, statics);\n },\n autobind: function() {}\n };\n\n function validateTypeDef(Constructor, typeDef, location) {\n for (var propName in typeDef) {\n if (typeDef.hasOwnProperty(propName)) {\n // use a warning instead of an _invariant so components\n // don't show up in prod but only in __DEV__\n if (process.env.NODE_ENV !== 'production') {\n warning(\n typeof typeDef[propName] === 'function',\n '%s: %s type `%s` is invalid; it must be a function, usually from ' +\n 'React.PropTypes.',\n Constructor.displayName || 'ReactClass',\n ReactPropTypeLocationNames[location],\n propName\n );\n }\n }\n }\n }\n\n function validateMethodOverride(isAlreadyDefined, name) {\n var specPolicy = ReactClassInterface.hasOwnProperty(name)\n ? ReactClassInterface[name]\n : null;\n\n // Disallow overriding of base class methods unless explicitly allowed.\n if (ReactClassMixin.hasOwnProperty(name)) {\n _invariant(\n specPolicy === 'OVERRIDE_BASE',\n 'ReactClassInterface: You are attempting to override ' +\n '`%s` from your class specification. Ensure that your method names ' +\n 'do not overlap with React methods.',\n name\n );\n }\n\n // Disallow defining methods more than once unless explicitly allowed.\n if (isAlreadyDefined) {\n _invariant(\n specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClassInterface: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be due ' +\n 'to a mixin.',\n name\n );\n }\n }\n\n /**\n * Mixin helper which handles policy validation and reserved\n * specification keys when building React classes.\n */\n function mixSpecIntoComponent(Constructor, spec) {\n if (!spec) {\n if (process.env.NODE_ENV !== 'production') {\n var typeofSpec = typeof spec;\n var isMixinValid = typeofSpec === 'object' && spec !== null;\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n isMixinValid,\n \"%s: You're attempting to include a mixin that is either null \" +\n 'or not an object. Check the mixins included by the component, ' +\n 'as well as any mixins they include themselves. ' +\n 'Expected object but got %s.',\n Constructor.displayName || 'ReactClass',\n spec === null ? null : typeofSpec\n );\n }\n }\n\n return;\n }\n\n _invariant(\n typeof spec !== 'function',\n \"ReactClass: You're attempting to \" +\n 'use a component class or function as a mixin. Instead, just use a ' +\n 'regular object.'\n );\n _invariant(\n !isValidElement(spec),\n \"ReactClass: You're attempting to \" +\n 'use a component as a mixin. Instead, just use a regular object.'\n );\n\n var proto = Constructor.prototype;\n var autoBindPairs = proto.__reactAutoBindPairs;\n\n // By handling mixins before any other properties, we ensure the same\n // chaining order is applied to methods with DEFINE_MANY policy, whether\n // mixins are listed before or after these methods in the spec.\n if (spec.hasOwnProperty(MIXINS_KEY)) {\n RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);\n }\n\n for (var name in spec) {\n if (!spec.hasOwnProperty(name)) {\n continue;\n }\n\n if (name === MIXINS_KEY) {\n // We have already handled mixins in a special case above.\n continue;\n }\n\n var property = spec[name];\n var isAlreadyDefined = proto.hasOwnProperty(name);\n validateMethodOverride(isAlreadyDefined, name);\n\n if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {\n RESERVED_SPEC_KEYS[name](Constructor, property);\n } else {\n // Setup methods on prototype:\n // The following member methods should not be automatically bound:\n // 1. Expected ReactClass methods (in the \"interface\").\n // 2. Overridden methods (that were mixed in).\n var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);\n var isFunction = typeof property === 'function';\n var shouldAutoBind =\n isFunction &&\n !isReactClassMethod &&\n !isAlreadyDefined &&\n spec.autobind !== false;\n\n if (shouldAutoBind) {\n autoBindPairs.push(name, property);\n proto[name] = property;\n } else {\n if (isAlreadyDefined) {\n var specPolicy = ReactClassInterface[name];\n\n // These cases should already be caught by validateMethodOverride.\n _invariant(\n isReactClassMethod &&\n (specPolicy === 'DEFINE_MANY_MERGED' ||\n specPolicy === 'DEFINE_MANY'),\n 'ReactClass: Unexpected spec policy %s for key %s ' +\n 'when mixing in component specs.',\n specPolicy,\n name\n );\n\n // For methods which are defined more than once, call the existing\n // methods before calling the new property, merging if appropriate.\n if (specPolicy === 'DEFINE_MANY_MERGED') {\n proto[name] = createMergedResultFunction(proto[name], property);\n } else if (specPolicy === 'DEFINE_MANY') {\n proto[name] = createChainedFunction(proto[name], property);\n }\n } else {\n proto[name] = property;\n if (process.env.NODE_ENV !== 'production') {\n // Add verbose displayName to the function, which helps when looking\n // at profiling tools.\n if (typeof property === 'function' && spec.displayName) {\n proto[name].displayName = spec.displayName + '_' + name;\n }\n }\n }\n }\n }\n }\n }\n\n function mixStaticSpecIntoComponent(Constructor, statics) {\n if (!statics) {\n return;\n }\n\n for (var name in statics) {\n var property = statics[name];\n if (!statics.hasOwnProperty(name)) {\n continue;\n }\n\n var isReserved = name in RESERVED_SPEC_KEYS;\n _invariant(\n !isReserved,\n 'ReactClass: You are attempting to define a reserved ' +\n 'property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it ' +\n 'as an instance property instead; it will still be accessible on the ' +\n 'constructor.',\n name\n );\n\n var isAlreadyDefined = name in Constructor;\n if (isAlreadyDefined) {\n var specPolicy = ReactClassStaticInterface.hasOwnProperty(name)\n ? ReactClassStaticInterface[name]\n : null;\n\n _invariant(\n specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClass: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be ' +\n 'due to a mixin.',\n name\n );\n\n Constructor[name] = createMergedResultFunction(Constructor[name], property);\n\n return;\n }\n\n Constructor[name] = property;\n }\n }\n\n /**\n * Merge two objects, but throw if both contain the same key.\n *\n * @param {object} one The first object, which is mutated.\n * @param {object} two The second object\n * @return {object} one after it has been mutated to contain everything in two.\n */\n function mergeIntoWithNoDuplicateKeys(one, two) {\n _invariant(\n one && two && typeof one === 'object' && typeof two === 'object',\n 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'\n );\n\n for (var key in two) {\n if (two.hasOwnProperty(key)) {\n _invariant(\n one[key] === undefined,\n 'mergeIntoWithNoDuplicateKeys(): ' +\n 'Tried to merge two objects with the same key: `%s`. This conflict ' +\n 'may be due to a mixin; in particular, this may be caused by two ' +\n 'getInitialState() or getDefaultProps() methods returning objects ' +\n 'with clashing keys.',\n key\n );\n one[key] = two[key];\n }\n }\n return one;\n }\n\n /**\n * Creates a function that invokes two functions and merges their return values.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createMergedResultFunction(one, two) {\n return function mergedResult() {\n var a = one.apply(this, arguments);\n var b = two.apply(this, arguments);\n if (a == null) {\n return b;\n } else if (b == null) {\n return a;\n }\n var c = {};\n mergeIntoWithNoDuplicateKeys(c, a);\n mergeIntoWithNoDuplicateKeys(c, b);\n return c;\n };\n }\n\n /**\n * Creates a function that invokes two functions and ignores their return vales.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createChainedFunction(one, two) {\n return function chainedFunction() {\n one.apply(this, arguments);\n two.apply(this, arguments);\n };\n }\n\n /**\n * Binds a method to the component.\n *\n * @param {object} component Component whose method is going to be bound.\n * @param {function} method Method to be bound.\n * @return {function} The bound method.\n */\n function bindAutoBindMethod(component, method) {\n var boundMethod = method.bind(component);\n if (process.env.NODE_ENV !== 'production') {\n boundMethod.__reactBoundContext = component;\n boundMethod.__reactBoundMethod = method;\n boundMethod.__reactBoundArguments = null;\n var componentName = component.constructor.displayName;\n var _bind = boundMethod.bind;\n boundMethod.bind = function(newThis) {\n for (\n var _len = arguments.length,\n args = Array(_len > 1 ? _len - 1 : 0),\n _key = 1;\n _key < _len;\n _key++\n ) {\n args[_key - 1] = arguments[_key];\n }\n\n // User is trying to bind() an autobound method; we effectively will\n // ignore the value of \"this\" that the user is trying to use, so\n // let's warn.\n if (newThis !== component && newThis !== null) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): React component methods may only be bound to the ' +\n 'component instance. See %s',\n componentName\n );\n }\n } else if (!args.length) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): You are binding a component method to the component. ' +\n 'React does this for you automatically in a high-performance ' +\n 'way, so you can safely remove this call. See %s',\n componentName\n );\n }\n return boundMethod;\n }\n var reboundMethod = _bind.apply(boundMethod, arguments);\n reboundMethod.__reactBoundContext = component;\n reboundMethod.__reactBoundMethod = method;\n reboundMethod.__reactBoundArguments = args;\n return reboundMethod;\n };\n }\n return boundMethod;\n }\n\n /**\n * Binds all auto-bound methods in a component.\n *\n * @param {object} component Component whose method is going to be bound.\n */\n function bindAutoBindMethods(component) {\n var pairs = component.__reactAutoBindPairs;\n for (var i = 0; i < pairs.length; i += 2) {\n var autoBindKey = pairs[i];\n var method = pairs[i + 1];\n component[autoBindKey] = bindAutoBindMethod(component, method);\n }\n }\n\n var IsMountedPreMixin = {\n componentDidMount: function() {\n this.__isMounted = true;\n }\n };\n\n var IsMountedPostMixin = {\n componentWillUnmount: function() {\n this.__isMounted = false;\n }\n };\n\n /**\n * Add more to the ReactClass base class. These are all legacy features and\n * therefore not already part of the modern ReactComponent.\n */\n var ReactClassMixin = {\n /**\n * TODO: This will be deprecated because state should always keep a consistent\n * type signature and the only use case for this, is to avoid that.\n */\n replaceState: function(newState, callback) {\n this.updater.enqueueReplaceState(this, newState, callback);\n },\n\n /**\n * Checks whether or not this composite component is mounted.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function() {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this.__didWarnIsMounted,\n '%s: isMounted is deprecated. Instead, make sure to clean up ' +\n 'subscriptions and pending requests in componentWillUnmount to ' +\n 'prevent memory leaks.',\n (this.constructor && this.constructor.displayName) ||\n this.name ||\n 'Component'\n );\n this.__didWarnIsMounted = true;\n }\n return !!this.__isMounted;\n }\n };\n\n var ReactClassComponent = function() {};\n _assign(\n ReactClassComponent.prototype,\n ReactComponent.prototype,\n ReactClassMixin\n );\n\n /**\n * Creates a composite component class given a class specification.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass\n *\n * @param {object} spec Class specification (which must define `render`).\n * @return {function} Component constructor function.\n * @public\n */\n function createClass(spec) {\n // To keep our warnings more understandable, we'll use a little hack here to\n // ensure that Constructor.name !== 'Constructor'. This makes sure we don't\n // unnecessarily identify a class without displayName as 'Constructor'.\n var Constructor = identity(function(props, context, updater) {\n // This constructor gets overridden by mocks. The argument is used\n // by mocks to assert on what gets mounted.\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this instanceof Constructor,\n 'Something is calling a React component directly. Use a factory or ' +\n 'JSX instead. See: https://fb.me/react-legacyfactory'\n );\n }\n\n // Wire up auto-binding\n if (this.__reactAutoBindPairs.length) {\n bindAutoBindMethods(this);\n }\n\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n\n this.state = null;\n\n // ReactClasses doesn't have constructors. Instead, they use the\n // getInitialState and componentWillMount methods for initialization.\n\n var initialState = this.getInitialState ? this.getInitialState() : null;\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (\n initialState === undefined &&\n this.getInitialState._isMockFunction\n ) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n initialState = null;\n }\n }\n _invariant(\n typeof initialState === 'object' && !Array.isArray(initialState),\n '%s.getInitialState(): must return an object or null',\n Constructor.displayName || 'ReactCompositeComponent'\n );\n\n this.state = initialState;\n });\n Constructor.prototype = new ReactClassComponent();\n Constructor.prototype.constructor = Constructor;\n Constructor.prototype.__reactAutoBindPairs = [];\n\n injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));\n\n mixSpecIntoComponent(Constructor, IsMountedPreMixin);\n mixSpecIntoComponent(Constructor, spec);\n mixSpecIntoComponent(Constructor, IsMountedPostMixin);\n\n // Initialize the defaultProps property after all mixins have been merged.\n if (Constructor.getDefaultProps) {\n Constructor.defaultProps = Constructor.getDefaultProps();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This is a tag to indicate that the use of these method names is ok,\n // since it's used with createClass. If it's not, then it's likely a\n // mistake so we'll warn you to use the static property, property\n // initializer or constructor respectively.\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps.isReactClassApproved = {};\n }\n if (Constructor.prototype.getInitialState) {\n Constructor.prototype.getInitialState.isReactClassApproved = {};\n }\n }\n\n _invariant(\n Constructor.prototype.render,\n 'createClass(...): Class specification must implement a `render` method.'\n );\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n !Constructor.prototype.componentShouldUpdate,\n '%s has a method called ' +\n 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +\n 'The name is phrased as a question because the function is ' +\n 'expected to return a value.',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.componentWillRecieveProps,\n '%s has a method called ' +\n 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.UNSAFE_componentWillRecieveProps,\n '%s has a method called UNSAFE_componentWillRecieveProps(). ' +\n 'Did you mean UNSAFE_componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n }\n\n // Reduce time spent doing lookups by setting these on the prototype.\n for (var methodName in ReactClassInterface) {\n if (!Constructor.prototype[methodName]) {\n Constructor.prototype[methodName] = null;\n }\n }\n\n return Constructor;\n }\n\n return createClass;\n}\n\nmodule.exports = factory;\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'use strict';\n\nvar React = require('react');\nvar factory = require('./factory');\n\nif (typeof React === 'undefined') {\n throw Error(\n 'create-react-class could not find the React object. If you are using script tags, ' +\n 'make sure that React is being loaded before create-react-class.'\n );\n}\n\n// Hack to grab NoopUpdateQueue from isomorphic React\nvar ReactNoopUpdateQueue = new React.Component().updater;\n\nmodule.exports = factory(\n React.Component,\n React.isValidElement,\n ReactNoopUpdateQueue\n);\n","var START_EVENT_NAME_MAP = {\n transitionstart: {\n transition: 'transitionstart',\n WebkitTransition: 'webkitTransitionStart',\n MozTransition: 'mozTransitionStart',\n OTransition: 'oTransitionStart',\n msTransition: 'MSTransitionStart'\n },\n\n animationstart: {\n animation: 'animationstart',\n WebkitAnimation: 'webkitAnimationStart',\n MozAnimation: 'mozAnimationStart',\n OAnimation: 'oAnimationStart',\n msAnimation: 'MSAnimationStart'\n }\n};\n\nvar END_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 startEvents = [];\nvar endEvents = [];\n\nfunction detectEvents() {\n var testEl = document.createElement('div');\n var style = testEl.style;\n\n if (!('AnimationEvent' in window)) {\n delete START_EVENT_NAME_MAP.animationstart.animation;\n delete END_EVENT_NAME_MAP.animationend.animation;\n }\n\n if (!('TransitionEvent' in window)) {\n delete START_EVENT_NAME_MAP.transitionstart.transition;\n delete END_EVENT_NAME_MAP.transitionend.transition;\n }\n\n function process(EVENT_NAME_MAP, events) {\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 events.push(baseEvents[styleName]);\n break;\n }\n }\n }\n }\n }\n\n process(START_EVENT_NAME_MAP, startEvents);\n process(END_EVENT_NAME_MAP, endEvents);\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 // Start events\n startEvents: startEvents,\n\n addStartEventListener: function addStartEventListener(node, eventListener) {\n if (startEvents.length === 0) {\n window.setTimeout(eventListener, 0);\n return;\n }\n startEvents.forEach(function (startEvent) {\n addEventListener(node, startEvent, eventListener);\n });\n },\n removeStartEventListener: function removeStartEventListener(node, eventListener) {\n if (startEvents.length === 0) {\n return;\n }\n startEvents.forEach(function (startEvent) {\n removeEventListener(node, startEvent, eventListener);\n });\n },\n\n\n // End events\n endEvents: endEvents,\n\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 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\nexport default TransitionEvents;","import _typeof from 'babel-runtime/helpers/typeof';\nimport Event from './Event';\nimport classes from 'component-classes';\n\nvar isCssAnimationSupported = Event.endEvents.length !== 0;\nvar capitalPrefixes = ['Webkit', 'Moz', 'O',\n// ms is special .... !\n'ms'];\nvar prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];\n\nfunction getStyleProperty(node, name) {\n // old ff need null, https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle\n var style = window.getComputedStyle(node, null);\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 = classes(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 Event.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 Event.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 Event.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 Event.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\nexport { isCssAnimationSupported };\n\nexport default cssAnimation;","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\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 var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\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\nvar vendorPrefix;\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\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"TransitionProperty\") : 'transitionProperty';\n}\n\nfunction getTransformName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"Transform\") : 'transform';\n}\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n\n if (name) {\n node.style[name] = value;\n\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n var name = getTransformName();\n\n if (name) {\n node.style[name] = value;\n\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}\nfunction getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return {\n x: parseFloat(matrix[12] || matrix[4], 0),\n y: parseFloat(matrix[13] || matrix[5], 0)\n };\n }\n\n return {\n x: 0,\n y: 0\n };\n}\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\nfunction setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n if (transform && transform !== 'none') {\n var arr;\n var match2d = transform.match(matrix2d);\n\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(\".concat(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(\".concat(arr.join(','), \")\"));\n }\n } else {\n setTransform(node, \"translateX(\".concat(xy.x, \"px) translateY(\").concat(xy.y, \"px) translateZ(0)\"));\n }\n}\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\nvar getComputedStyleX; // https://stackoverflow.com/a/3485654/3040605\n\nfunction forceRelayout(elem) {\n var originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n\n elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n var value = v;\n\n if (_typeof(name) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n\n return undefined;\n }\n\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = \"\".concat(value, \"px\");\n }\n\n el.style[name] = value;\n return undefined;\n }\n\n return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n var box;\n var x;\n var y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement; // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n\n box = elem.getBoundingClientRect(); // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top; // 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 // 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 // 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 return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n\n if (typeof ret !== 'number') {\n var d = w.document; // ie6,7,8 standard mode\n\n ret = d.documentElement[method];\n\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\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 * A crude way of determining if an object is a window\n * @member util\n */\n\n\nfunction isWindow(obj) {\n // must use == for ie8\n\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\n if (node.nodeType === 9) {\n return node;\n }\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); // https://github.com/kissyteam/kissy/issues/61\n\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\n\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]; // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\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\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]; // prevent flashing of content\n\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT]; // Put in the new values to get a computed value out\n\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX; // Revert the changed values\n\n style[LEFT] = left;\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\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\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} // 设置 elem 相对 elem.ownerDocument 的坐标\n\n\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\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\n var originalTransition = '';\n var originalOffset = getOffset(elem);\n\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = \"\".concat(presetH, \"px\");\n }\n\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = \"\".concat(presetV, \"px\");\n } // force relayout\n\n\n forceRelayout(elem);\n var old = getOffset(elem);\n var originalStyle = {};\n\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\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n\n css(elem, originalStyle); // force relayout\n\n forceRelayout(elem);\n\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n\n var ret = {};\n\n for (var _key in offset) {\n if (offset.hasOwnProperty(_key)) {\n var _dir = getOffsetDirection(_key, option);\n\n var _off = offset[_key] - originalOffset[_key];\n\n if (_key === _dir) {\n ret[_dir] = originalStyle[_dir] + _off;\n } else {\n ret[_dir] = originalStyle[_dir] - _off;\n }\n }\n }\n\n css(elem, ret);\n}\n\nfunction setTransform$1(elem, offset) {\n var originalOffset = getOffset(elem);\n var originalXY = getTransformXY(elem);\n var resultXY = {\n x: originalXY.x,\n y: originalXY.y\n };\n\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n\n setTransformXY(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n var oriOffset = getOffset(elem);\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 && getTransformName() in document.body.style) {\n setTransform$1(elem, offset);\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; // Remember the old values, and insert the new ones\n\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); // Revert the old values\n\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;\n var j;\n var i;\n\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n\n if (prop === 'border') {\n cssProp = \"\".concat(prop).concat(which[i], \"Width\");\n } else {\n cssProp = prop + which[i];\n }\n\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n\n return value;\n}\n\nvar domUtils = {\n getParent: function getParent(element) {\n var parent = element;\n\n do {\n if (parent.nodeType === 11 && parent.host) {\n parent = parent.host;\n } else {\n parent = parent.parentNode;\n }\n } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9);\n\n return parent;\n }\n};\neach(['Width', 'Height'], function (name) {\n domUtils[\"doc\".concat(name)] = function (refWin) {\n var d = refWin.document;\n return Math.max( // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[\"scroll\".concat(name)], // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\n };\n\n domUtils[\"viewport\".concat(name)] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = \"client\".concat(name);\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop]; // 标准模式取 documentElement\n // backcompat 取 body\n\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\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 */\n\nfunction getWH(elem, name, ex) {\n var extra = ex;\n\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\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);\n var cssBoxValue = 0;\n\n if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n borderBoxValue = undefined; // Fall back to computed then un computed css if necessary\n\n cssBoxValue = getComputedStyleX(elem, name);\n\n if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n } // Normalize '', auto, and prepare for extra\n\n\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n\n return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which));\n }\n\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n}; // fix #119 : https://github.com/kissyteam/kissy/issues/119\n\nfunction getWHIgnoreDisplay() {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var val;\n var elem = args[0]; // in case elem is window\n // elem.offsetWidth === undefined\n\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\n return val;\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n\n domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, v) {\n var val = v;\n\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n\n return css(elem, name, val);\n }\n\n return undefined;\n }\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\n return to;\n}\n\nvar utils = {\n getWindow: function getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\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 isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var i;\n var ret = {};\n\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n\n var overflow = obj.overflow;\n\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n\n return ret;\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 i = 0; i < arguments.length; i++) {\n utils.mix(ret, i < 0 || arguments.length <= i ? undefined : arguments[i]);\n }\n\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0\n};\nmix(utils, domUtils);\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\n\nvar getParent = utils.getParent;\n\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n } // ie 这个也不是完全可行\n\n /*\n <div style=\"width: 50px;height: 100px;overflow: hidden\">\n <div style=\"width: 50px;height: 100px;position: relative;\" id=\"d6\">\n 元素 6 高 100px 宽 50px<br/>\n </div>\n </div>\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\n\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent;\n var positionStyle = utils.css(element, 'position');\n var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n\n if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html' ? null : getParent(element);\n }\n\n for (parent = getParent(element); parent && parent !== body; parent = getParent(parent)) {\n positionStyle = utils.css(parent, 'position');\n\n if (positionStyle !== 'static') {\n return parent;\n }\n }\n\n return null;\n}\n\nvar getParent$1 = utils.getParent;\nfunction isAncestorFixed(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent = null;\n\n for (parent = getParent$1(element); parent && parent !== body; parent = getParent$1(parent)) {\n var positionStyle = utils.css(parent, 'position');\n\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n\n return false;\n}\n\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 = getOffsetParent(element);\n var doc = utils.getDocument(element);\n var win = doc.defaultView || doc.parentWindow;\n var body = doc.body;\n var documentElement = doc.documentElement; // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) && // 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 && utils.css(el, 'overflow') !== 'visible') {\n var pos = utils.offset(el); // add border\n\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, // 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\n el = getOffsetParent(el);\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\n\n var originalPosition = null;\n\n if (!utils.isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n var position = utils.css(element, 'position');\n\n if (position === 'absolute') {\n element.style.position = 'fixed';\n }\n }\n\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n var documentWidth = documentElement.scrollWidth;\n var documentHeight = documentElement.scrollHeight; // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n // We should cut this ourself.\n\n var bodyStyle = window.getComputedStyle(body);\n\n if (bodyStyle.overflowX === 'hidden') {\n documentWidth = win.innerWidth;\n }\n\n if (bodyStyle.overflowY === 'hidden') {\n documentHeight = win.innerHeight;\n } // Reset element position after calculate the visible area\n\n\n if (element.style) {\n element.style.position = originalPosition;\n }\n\n if (isAncestorFixed(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 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\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = utils.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 } // Left edge inside and right edge outside viewport, try to resize it.\n\n\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n } // Right edge outside viewport, try to move it.\n\n\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n } // Top edge outside viewport, try to move it.\n\n\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n } // Top edge inside and bottom edge outside viewport, try to resize it.\n\n\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n } // Bottom edge outside viewport, try to move it.\n\n\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 utils.mix(pos, size);\n}\n\nfunction getRegion(node) {\n var offset;\n var w;\n var h;\n\n if (!utils.isWindow(node) && node.nodeType !== 9) {\n offset = utils.offset(node);\n w = utils.outerWidth(node);\n h = utils.outerHeight(node);\n } else {\n var win = utils.getWindow(node);\n offset = {\n left: utils.getWindowScrollLeft(win),\n top: utils.getWindowScrollTop(win)\n };\n w = utils.viewportWidth(win);\n h = utils.viewportHeight(win);\n }\n\n offset.width = w;\n offset.height = h;\n return offset;\n}\n\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\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 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\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = getAlignOffset(refNodeRegion, points[1]);\n var p2 = getAlignOffset(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\n return {\n left: Math.round(elRegion.left - diff[0] + offset[0] - targetOffset[0]),\n top: Math.round(elRegion.top - diff[1] + offset[1] - targetOffset[1])\n };\n}\n\n/**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\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 utils.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;\n\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\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 * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\n\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 = getVisibleRectForElement(source); // 当前节点所占的区域, left/top/width/height\n\n var elRegion = getRegion(source); // 将 offset 转换成数值,支持百分比\n\n normalizeOffset(offset, elRegion);\n normalizeOffset(targetOffset, tgtRegion); // 当前节点将要被放置的位置\n\n var elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset); // 当前节点将要所处的区域\n\n var newElRegion = utils.merge(elRegion, elFuturePos); // 如果可视区域不能完全放置当前节点时允许调整\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]/gi, {\n l: 'r',\n r: 'l'\n }); // 偏移量也反下\n\n var newOffset = flipOffset(offset, 0);\n var newTargetOffset = flipOffset(targetOffset, 0);\n var newElFuturePos = getElFuturePos(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]/gi, {\n t: 'b',\n b: 't'\n }); // 偏移量也反下\n\n\n var _newOffset = flipOffset(offset, 1);\n\n var _newTargetOffset = flipOffset(targetOffset, 1);\n\n var _newElFuturePos = getElFuturePos(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 = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset);\n utils.mix(newElRegion, elFuturePos);\n }\n\n var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect); // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n\n if (isStillFailX || isStillFailY) {\n points = align.points;\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n } // 2. 只有指定了可以调整当前方向才调整\n\n\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY; // 确实要调整,甚至可能会调整高度宽度\n\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = adjustForViewport(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n }\n } // need judge to in case set fixed with in css on height auto element\n\n\n if (newElRegion.width !== elRegion.width) {\n utils.css(source, 'width', utils.width(source) + newElRegion.width - elRegion.width);\n }\n\n if (newElRegion.height !== elRegion.height) {\n utils.css(source, 'height', utils.height(source) + newElRegion.height - elRegion.height);\n } // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如 <div 'relative'><el absolute></div>\n\n\n utils.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 return {\n points: points,\n offset: offset,\n targetOffset: targetOffset,\n overflow: newOverflowCfg\n };\n}\n/**\n * 2012-04-26 yiminghe@gmail.com\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 yiminghe@gmail.com note:\n * - 增加智能对齐,以及大小调整选项\n **/\n\nfunction isOutOfVisibleRect(target) {\n var visibleRect = getVisibleRectForElement(target);\n var targetRegion = getRegion(target);\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 = getRegion(target);\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target);\n return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = getOffsetParent;\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\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;\n var pageY;\n var doc = utils.getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.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 var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight; // Provide default target point\n\n var points = [align.points[0], 'cc'];\n return doAlign(el, tgtRegion, _objectSpread2({}, align, {\n points: points\n }), pointInView);\n}\n\nexport default alignElement;\nexport { alignElement, alignPoint };\n//# sourceMappingURL=index.js.map\n","/**\n * Module dependencies\n */\n\nvar matches = require('dom-matches');\n\n/**\n * @param element {Element}\n * @param selector {String}\n * @param context {Element}\n * @return {Element}\n */\nmodule.exports = function (element, selector, context) {\n context = context || document;\n // guard against orphans\n element = { parentNode: element };\n\n while ((element = element.parentNode) && element !== context) {\n if (matches(element, selector)) {\n return element;\n }\n }\n};\n","'use strict';\n\n/**\n * Determine if a DOM element matches a CSS selector\n *\n * @param {Element} elem\n * @param {String} selector\n * @return {Boolean}\n * @api public\n */\n\nfunction matches(elem, selector) {\n // Vendor-specific implementations of `Element.prototype.matches()`.\n var proto = window.Element.prototype;\n var nativeMatches = proto.matches ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n\n if (!elem || elem.nodeType !== 1) {\n return false;\n }\n\n var parentElem = elem.parentNode;\n\n // use native 'matches'\n if (nativeMatches) {\n return nativeMatches.call(elem, selector);\n }\n\n // native support for `matches` is missing and a fallback is required\n var nodes = parentElem.querySelectorAll(selector);\n var len = nodes.length;\n\n for (var i = 0; i < len; i++) {\n if (nodes[i] === elem) {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * Expose `matches`\n */\n\nmodule.exports = matches;\n","'use strict';\n\nvar util = require('./util');\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {};\n // document 归一化到 window\n if (container.nodeType === 9) {\n container = util.getWindow(container);\n }\n\n var allowHorizontalScroll = config.allowHorizontalScroll;\n var onlyScrollIfNeeded = config.onlyScrollIfNeeded;\n var alignWithTop = config.alignWithTop;\n var alignWithLeft = config.alignWithLeft;\n var offsetTop = config.offsetTop || 0;\n var offsetLeft = config.offsetLeft || 0;\n var offsetBottom = config.offsetBottom || 0;\n var offsetRight = config.offsetRight || 0;\n\n allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\n\n var isWin = util.isWindow(container);\n var elemOffset = util.offset(elem);\n var eh = util.outerHeight(elem);\n var ew = util.outerWidth(elem);\n var containerOffset = undefined;\n var ch = undefined;\n var cw = undefined;\n var containerScroll = undefined;\n var diffTop = undefined;\n var diffBottom = undefined;\n var win = undefined;\n var winScroll = undefined;\n var ww = undefined;\n var wh = undefined;\n\n if (isWin) {\n win = container;\n wh = util.height(win);\n ww = util.width(win);\n winScroll = {\n left: util.scrollLeft(win),\n top: util.scrollTop(win)\n };\n // elem 相对 container 可视视窗的距离\n diffTop = {\n left: elemOffset.left - winScroll.left - offsetLeft,\n top: elemOffset.top - winScroll.top - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,\n top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom\n };\n containerScroll = winScroll;\n } else {\n containerOffset = util.offset(container);\n ch = container.clientHeight;\n cw = container.clientWidth;\n containerScroll = {\n left: container.scrollLeft,\n top: container.scrollTop\n };\n // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n diffTop = {\n left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,\n top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,\n top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom\n };\n }\n\n if (diffTop.top < 0 || diffBottom.top > 0) {\n // 强制向上\n if (alignWithTop === true) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else if (alignWithTop === false) {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n } else {\n // 自动调整\n if (diffTop.top < 0) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;\n if (alignWithTop) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n }\n\n if (allowHorizontalScroll) {\n if (diffTop.left < 0 || diffBottom.left > 0) {\n // 强制向上\n if (alignWithLeft === true) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else if (alignWithLeft === false) {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n } else {\n // 自动调整\n if (diffTop.left < 0) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;\n if (alignWithLeft) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n }\n }\n}\n\nmodule.exports = scrollIntoView;","'use strict';\n\nmodule.exports = require('./dom-scroll-into-view');","'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 _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nfunction getClientPosition(elem) {\n var box = undefined;\n var x = undefined;\n var y = undefined;\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}\nfunction _getComputedStyle(elem, name, computedStyle_) {\n var val = '';\n var d = elem.ownerDocument;\n var 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\nvar getComputedStyleX = undefined;\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\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 = undefined;\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 = undefined;\n var j = undefined;\n var i = undefined;\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 = undefined;\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\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 == obj.window;\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, extra) {\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.offsetWidth : elem.offsetHeight;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue == null || 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 || 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 }\n if (borderBoxValueOrIsBorderBox) {\n var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle);\n return val + (extra === BORDER_INDEX ? 0 : padding);\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(elem) {\n var val = undefined;\n var args = arguments;\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\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 += 'px';\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\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, val) {\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\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setOffset(elem, offset) {\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\n var old = getOffset(elem);\n var ret = {};\n var current = undefined;\n var key = undefined;\n\n for (key in offset) {\n if (offset.hasOwnProperty(key)) {\n current = parseFloat(css(elem, key)) || 0;\n ret[key] = current + offset[key] - old[key];\n }\n }\n css(elem, ret);\n}\n\nmodule.exports = _extends({\n getWindow: function getWindow(node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n offset: function offset(el, value) {\n if (typeof value !== 'undefined') {\n setOffset(el, value);\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 ret = {};\n for (var 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 (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n scrollLeft: function scrollLeft(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollLeft(w);\n }\n window.scrollTo(v, getScrollTop(w));\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n }\n w.scrollLeft = v;\n }\n },\n scrollTop: function scrollTop(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollTop(w);\n }\n window.scrollTo(getScrollLeft(w), v);\n } else {\n if (v === undefined) {\n return w.scrollTop;\n }\n w.scrollTop = v;\n }\n },\n\n viewportWidth: 0,\n viewportHeight: 0\n}, domUtils);","/**\n * Copyright (c) 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 * @providesModule AtomicBlockUtils\n * @format\n * \n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar _extends = _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 BlockMapBuilder = require('./BlockMapBuilder');\nvar CharacterMetadata = require('./CharacterMetadata');\nvar ContentBlock = require('./ContentBlock');\nvar ContentBlockNode = require('./ContentBlockNode');\nvar DraftFeatureFlags = require('./DraftFeatureFlags');\nvar DraftModifier = require('./DraftModifier');\nvar EditorState = require('./EditorState');\nvar Immutable = require('immutable');\nvar SelectionState = require('./SelectionState');\n\nvar generateRandomKey = require('./generateRandomKey');\nvar moveBlockInContentState = require('./moveBlockInContentState');\n\nvar experimentalTreeDataSupport = DraftFeatureFlags.draft_tree_data_support;\nvar ContentBlockRecord = experimentalTreeDataSupport ? ContentBlockNode : ContentBlock;\n\nvar List = Immutable.List,\n Repeat = Immutable.Repeat;\n\n\nvar AtomicBlockUtils = {\n insertAtomicBlock: function insertAtomicBlock(editorState, entityKey, character) {\n var contentState = editorState.getCurrentContent();\n var selectionState = editorState.getSelection();\n\n var afterRemoval = DraftModifier.removeRange(contentState, selectionState, 'backward');\n\n var targetSelection = afterRemoval.getSelectionAfter();\n var afterSplit = DraftModifier.splitBlock(afterRemoval, targetSelection);\n var insertionTarget = afterSplit.getSelectionAfter();\n\n var asAtomicBlock = DraftModifier.setBlockType(afterSplit, insertionTarget, 'atomic');\n\n var charData = CharacterMetadata.create({ entity: entityKey });\n\n var atomicBlockConfig = {\n key: generateRandomKey(),\n type: 'atomic',\n text: character,\n characterList: List(Repeat(charData, character.length))\n };\n\n var atomicDividerBlockConfig = {\n key: generateRandomKey(),\n type: 'unstyled'\n };\n\n if (experimentalTreeDataSupport) {\n atomicBlockConfig = _extends({}, atomicBlockConfig, {\n nextSibling: atomicDividerBlockConfig.key\n });\n atomicDividerBlockConfig = _extends({}, atomicDividerBlockConfig, {\n prevSibling: atomicBlockConfig.key\n });\n }\n\n var fragmentArray = [new ContentBlockRecord(atomicBlockConfig), new ContentBlockRecord(atomicDividerBlockConfig)];\n\n var fragment = BlockMapBuilder.createFromArray(fragmentArray);\n\n var withAtomicBlock = DraftModifier.replaceWithFragment(asAtomicBlock, insertionTarget, fragment);\n\n var newContent = withAtomicBlock.merge({\n selectionBefore: selectionState,\n selectionAfter: withAtomicBlock.getSelectionAfter().set('hasFocus', true)\n });\n\n return EditorState.push(editorState, newContent, 'insert-fragment');\n },\n\n moveAtomicBlock: function moveAtomicBlock(editorState, atomicBlock, targetRange, insertionMode) {\n var contentState = editorState.getCurrentContent();\n var selectionState = editorState.getSelection();\n\n var withMovedAtomicBlock = void 0;\n\n if (insertionMode === 'before' || insertionMode === 'after') {\n var targetBlock = contentState.getBlockForKey(insertionMode === 'before' ? targetRange.getStartKey() : targetRange.getEndKey());\n\n withMovedAtomicBlock = moveBlockInContentState(contentState, atomicBlock, targetBlock, insertionMode);\n } else {\n var afterRemoval = DraftModifier.removeRange(contentState, targetRange, 'backward');\n\n var selectionAfterRemoval = afterRemoval.getSelectionAfter();\n var _targetBlock = afterRemoval.getBlockForKey(selectionAfterRemoval.getFocusKey());\n\n if (selectionAfterRemoval.getStartOffset() === 0) {\n withMovedAtomicBlock = moveBlockInContentState(afterRemoval, atomicBlock, _targetBlock, 'before');\n } else if (selectionAfterRemoval.getEndOffset() === _targetBlock.getLength()) {\n withMovedAtomicBlock = moveBlockInContentState(afterRemoval, atomicBlock, _targetBlock, 'after');\n } else {\n var afterSplit = DraftModifier.splitBlock(afterRemoval, selectionAfterRemoval);\n\n var selectionAfterSplit = afterSplit.getSelectionAfter();\n var _targetBlock2 = afterSplit.getBlockForKey(selectionAfterSplit.getFocusKey());\n\n withMovedAtomicBlock = moveBlockInContentState(afterSplit, atomicBlock, _targetBlock2, 'before');\n }\n }\n\n var newContent = withMovedAtomicBlock.merge({\n selectionBefore: selectionState,\n selectionAfter: withMovedAtomicBlock.getSelectionAfter().set('hasFocus', true)\n });\n\n return EditorState.push(editorState, newContent, 'move-block');\n }\n};\n\nmodule.exports = AtomicBlockUtils;","/**\n * Copyright (c) 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 * @providesModule BlockMapBuilder\n * @format\n * \n */\n\n'use strict';\n\nvar Immutable = require('immutable');\n\nvar OrderedMap = Immutable.OrderedMap;\n\n\nvar BlockMapBuilder = {\n createFromArray: function createFromArray(blocks) {\n return OrderedMap(blocks.map(function (block) {\n return [block.getKey(), block];\n }));\n }\n};\n\nmodule.exports = BlockMapBuilder;","/**\n * Copyright (c) 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 * @providesModule BlockTree\n * @format\n * \n */\n\n'use strict';\n\nvar Immutable = require('immutable');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar findRangesImmutable = require('./findRangesImmutable');\n\nvar List = Immutable.List,\n Repeat = Immutable.Repeat,\n Record = Immutable.Record;\n\n\nvar returnTrue = emptyFunction.thatReturnsTrue;\n\nvar FINGERPRINT_DELIMITER = '-';\n\nvar defaultLeafRange = {\n start: null,\n end: null\n};\n\nvar LeafRange = Record(defaultLeafRange);\n\nvar defaultDecoratorRange = {\n start: null,\n end: null,\n decoratorKey: null,\n leaves: null\n};\n\nvar DecoratorRange = Record(defaultDecoratorRange);\n\nvar BlockTree = {\n /**\n * Generate a block tree for a given ContentBlock/decorator pair.\n */\n generate: function generate(contentState, block, decorator) {\n var textLength = block.getLength();\n if (!textLength) {\n return List.of(new DecoratorRange({\n start: 0,\n end: 0,\n decoratorKey: null,\n leaves: List.of(new LeafRange({ start: 0, end: 0 }))\n }));\n }\n\n var leafSets = [];\n var decorations = decorator ? decorator.getDecorations(block, contentState) : List(Repeat(null, textLength));\n\n var chars = block.getCharacterList();\n\n findRangesImmutable(decorations, areEqual, returnTrue, function (start, end) {\n leafSets.push(new DecoratorRange({\n start: start,\n end: end,\n decoratorKey: decorations.get(start),\n leaves: generateLeaves(chars.slice(start, end).toList(), start)\n }));\n });\n\n return List(leafSets);\n },\n\n /**\n * Create a string representation of the given tree map. This allows us\n * to rapidly determine whether a tree has undergone a significant\n * structural change.\n */\n getFingerprint: function getFingerprint(tree) {\n return tree.map(function (leafSet) {\n var decoratorKey = leafSet.get('decoratorKey');\n var fingerprintString = decoratorKey !== null ? decoratorKey + '.' + (leafSet.get('end') - leafSet.get('start')) : '';\n return '' + fingerprintString + '.' + leafSet.get('leaves').size;\n }).join(FINGERPRINT_DELIMITER);\n }\n};\n\n/**\n * Generate LeafRange records for a given character list.\n */\nfunction generateLeaves(characters, offset) {\n var leaves = [];\n var inlineStyles = characters.map(function (c) {\n return c.getStyle();\n }).toList();\n findRangesImmutable(inlineStyles, areEqual, returnTrue, function (start, end) {\n leaves.push(new LeafRange({\n start: start + offset,\n end: end + offset\n }));\n });\n return List(leaves);\n}\n\nfunction areEqual(a, b) {\n return a === b;\n}\n\nmodule.exports = BlockTree;","/**\n * Copyright (c) 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 * @providesModule CharacterMetadata\n * @format\n * \n */\n\n'use strict';\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 _require = require('immutable'),\n Map = _require.Map,\n OrderedSet = _require.OrderedSet,\n Record = _require.Record;\n\n// Immutable.map is typed such that the value for every key in the map\n// must be the same type\n\n\nvar EMPTY_SET = OrderedSet();\n\nvar defaultRecord = {\n style: EMPTY_SET,\n entity: null\n};\n\nvar CharacterMetadataRecord = Record(defaultRecord);\n\nvar CharacterMetadata = function (_CharacterMetadataRec) {\n _inherits(CharacterMetadata, _CharacterMetadataRec);\n\n function CharacterMetadata() {\n _classCallCheck(this, CharacterMetadata);\n\n return _possibleConstructorReturn(this, _CharacterMetadataRec.apply(this, arguments));\n }\n\n CharacterMetadata.prototype.getStyle = function getStyle() {\n return this.get('style');\n };\n\n CharacterMetadata.prototype.getEntity = function getEntity() {\n return this.get('entity');\n };\n\n CharacterMetadata.prototype.hasStyle = function hasStyle(style) {\n return this.getStyle().includes(style);\n };\n\n CharacterMetadata.applyStyle = function applyStyle(record, style) {\n var withStyle = record.set('style', record.getStyle().add(style));\n return CharacterMetadata.create(withStyle);\n };\n\n CharacterMetadata.removeStyle = function removeStyle(record, style) {\n var withoutStyle = record.set('style', record.getStyle().remove(style));\n return CharacterMetadata.create(withoutStyle);\n };\n\n CharacterMetadata.applyEntity = function applyEntity(record, entityKey) {\n var withEntity = record.getEntity() === entityKey ? record : record.set('entity', entityKey);\n return CharacterMetadata.create(withEntity);\n };\n\n /**\n * Use this function instead of the `CharacterMetadata` constructor.\n * Since most content generally uses only a very small number of\n * style/entity permutations, we can reuse these objects as often as\n * possible.\n */\n\n\n CharacterMetadata.create = function create(config) {\n if (!config) {\n return EMPTY;\n }\n\n var defaultConfig = {\n style: EMPTY_SET,\n entity: null\n };\n\n // Fill in unspecified properties, if necessary.\n var configMap = Map(defaultConfig).merge(config);\n\n var existing = pool.get(configMap);\n if (existing) {\n return existing;\n }\n\n var newCharacter = new CharacterMetadata(configMap);\n pool = pool.set(configMap, newCharacter);\n return newCharacter;\n };\n\n return CharacterMetadata;\n}(CharacterMetadataRecord);\n\nvar EMPTY = new CharacterMetadata();\nvar pool = Map([[Map(defaultRecord), EMPTY]]);\n\nCharacterMetadata.EMPTY = EMPTY;\n\nmodule.exports = CharacterMetadata;","/**\n * Copyright (c) 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 * @providesModule CompositeDraftDecorator\n * @format\n * \n */\n\n'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Immutable = require('immutable');\n\nvar List = Immutable.List;\n\n\nvar DELIMITER = '.';\n\n/**\n * A CompositeDraftDecorator traverses through a list of DraftDecorator\n * instances to identify sections of a ContentBlock that should be rendered\n * in a \"decorated\" manner. For example, hashtags, mentions, and links may\n * be intended to stand out visually, be rendered as anchors, etc.\n *\n * The list of decorators supplied to the constructor will be used in the\n * order they are provided. This allows the caller to specify a priority for\n * string matching, in case of match collisions among decorators.\n *\n * For instance, I may have a link with a `#` in its text. Though this section\n * of text may match our hashtag decorator, it should not be treated as a\n * hashtag. I should therefore list my link DraftDecorator\n * before my hashtag DraftDecorator when constructing this composite\n * decorator instance.\n *\n * Thus, when a collision like this is encountered, the earlier match is\n * preserved and the new match is discarded.\n */\n\nvar CompositeDraftDecorator = function () {\n function CompositeDraftDecorator(decorators) {\n _classCallCheck(this, CompositeDraftDecorator);\n\n // Copy the decorator array, since we use this array order to determine\n // precedence of decoration matching. If the array is mutated externally,\n // we don't want to be affected here.\n this._decorators = decorators.slice();\n }\n\n CompositeDraftDecorator.prototype.getDecorations = function getDecorations(block, contentState) {\n var decorations = Array(block.getText().length).fill(null);\n\n this._decorators.forEach(function ( /*object*/decorator, /*number*/ii) {\n var counter = 0;\n var strategy = decorator.strategy;\n var callback = function callback( /*number*/start, /*number*/end) {\n // Find out if any of our matching range is already occupied\n // by another decorator. If so, discard the match. Otherwise, store\n // the component key for rendering.\n if (canOccupySlice(decorations, start, end)) {\n occupySlice(decorations, start, end, ii + DELIMITER + counter);\n counter++;\n }\n };\n strategy(block, callback, contentState);\n });\n\n return List(decorations);\n };\n\n CompositeDraftDecorator.prototype.getComponentForKey = function getComponentForKey(key) {\n var componentKey = parseInt(key.split(DELIMITER)[0], 10);\n return this._decorators[componentKey].component;\n };\n\n CompositeDraftDecorator.prototype.getPropsForKey = function getPropsForKey(key) {\n var componentKey = parseInt(key.split(DELIMITER)[0], 10);\n return this._decorators[componentKey].props;\n };\n\n return CompositeDraftDecorator;\n}();\n\n/**\n * Determine whether we can occupy the specified slice of the decorations\n * array.\n */\n\n\nfunction canOccupySlice(decorations, start, end) {\n for (var ii = start; ii < end; ii++) {\n if (decorations[ii] != null) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Splice the specified component into our decoration array at the desired\n * range.\n */\nfunction occupySlice(targetArr, start, end, componentKey) {\n for (var ii = start; ii < end; ii++) {\n targetArr[ii] = componentKey;\n }\n}\n\nmodule.exports = CompositeDraftDecorator;","/**\n * Copyright (c) 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 * @providesModule ContentBlock\n * @format\n * \n */\n\n'use strict';\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 CharacterMetadata = require('./CharacterMetadata');\nvar Immutable = require('immutable');\n\nvar findRangesImmutable = require('./findRangesImmutable');\n\nvar List = Immutable.List,\n Map = Immutable.Map,\n OrderedSet = Immutable.OrderedSet,\n Record = Immutable.Record,\n Repeat = Immutable.Repeat;\n\n\nvar EMPTY_SET = OrderedSet();\n\nvar defaultRecord = {\n key: '',\n type: 'unstyled',\n text: '',\n characterList: List(),\n depth: 0,\n data: Map()\n};\n\nvar ContentBlockRecord = Record(defaultRecord);\n\nvar decorateCharacterList = function decorateCharacterList(config) {\n if (!config) {\n return config;\n }\n\n var characterList = config.characterList,\n text = config.text;\n\n\n if (text && !characterList) {\n config.characterList = List(Repeat(CharacterMetadata.EMPTY, text.length));\n }\n\n return config;\n};\n\nvar ContentBlock = function (_ContentBlockRecord) {\n _inherits(ContentBlock, _ContentBlockRecord);\n\n function ContentBlock(config) {\n _classCallCheck(this, ContentBlock);\n\n return _possibleConstructorReturn(this, _ContentBlockRecord.call(this, decorateCharacterList(config)));\n }\n\n ContentBlock.prototype.getKey = function getKey() {\n return this.get('key');\n };\n\n ContentBlock.prototype.getType = function getType() {\n return this.get('type');\n };\n\n ContentBlock.prototype.getText = function getText() {\n return this.get('text');\n };\n\n ContentBlock.prototype.getCharacterList = function getCharacterList() {\n return this.get('characterList');\n };\n\n ContentBlock.prototype.getLength = function getLength() {\n return this.getText().length;\n };\n\n ContentBlock.prototype.getDepth = function getDepth() {\n return this.get('depth');\n };\n\n ContentBlock.prototype.getData = function getData() {\n return this.get('data');\n };\n\n ContentBlock.prototype.getInlineStyleAt = function getInlineStyleAt(offset) {\n var character = this.getCharacterList().get(offset);\n return character ? character.getStyle() : EMPTY_SET;\n };\n\n ContentBlock.prototype.getEntityAt = function getEntityAt(offset) {\n var character = this.getCharacterList().get(offset);\n return character ? character.getEntity() : null;\n };\n\n /**\n * Execute a callback for every contiguous range of styles within the block.\n */\n\n\n ContentBlock.prototype.findStyleRanges = function findStyleRanges(filterFn, callback) {\n findRangesImmutable(this.getCharacterList(), haveEqualStyle, filterFn, callback);\n };\n\n /**\n * Execute a callback for every contiguous range of entities within the block.\n */\n\n\n ContentBlock.prototype.findEntityRanges = function findEntityRanges(filterFn, callback) {\n findRangesImmutable(this.getCharacterList(), haveEqualEntity, filterFn, callback);\n };\n\n return ContentBlock;\n}(ContentBlockRecord);\n\nfunction haveEqualStyle(charA, charB) {\n return charA.getStyle() === charB.getStyle();\n}\n\nfunction haveEqualEntity(charA, charB) {\n return charA.getEntity() === charB.getEntity();\n}\n\nmodule.exports = ContentBlock;","/**\n * Copyright (c) 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 * @providesModule ContentBlockNode\n * @format\n * \n *\n * This file is a fork of ContentBlock adding support for nesting references by\n * providing links to children, parent, prevSibling, and nextSibling.\n *\n * This is unstable and not part of the public API and should not be used by\n * production systems. This file may be update/removed without notice.\n */\n\n'use strict';\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 CharacterMetadata = require('./CharacterMetadata');\nvar Immutable = require('immutable');\n\nvar findRangesImmutable = require('./findRangesImmutable');\n\nvar List = Immutable.List,\n Map = Immutable.Map,\n OrderedSet = Immutable.OrderedSet,\n Record = Immutable.Record,\n Repeat = Immutable.Repeat;\n\n\nvar EMPTY_SET = OrderedSet();\n\nvar defaultRecord = {\n parent: null,\n characterList: List(),\n data: Map(),\n depth: 0,\n key: '',\n text: '',\n type: 'unstyled',\n children: List(),\n prevSibling: null,\n nextSibling: null\n};\n\nvar haveEqualStyle = function haveEqualStyle(charA, charB) {\n return charA.getStyle() === charB.getStyle();\n};\n\nvar haveEqualEntity = function haveEqualEntity(charA, charB) {\n return charA.getEntity() === charB.getEntity();\n};\n\nvar decorateCharacterList = function decorateCharacterList(config) {\n if (!config) {\n return config;\n }\n\n var characterList = config.characterList,\n text = config.text;\n\n\n if (text && !characterList) {\n config.characterList = List(Repeat(CharacterMetadata.EMPTY, text.length));\n }\n\n return config;\n};\n\nvar ContentBlockNode = function (_Record) {\n _inherits(ContentBlockNode, _Record);\n\n function ContentBlockNode() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultRecord;\n\n _classCallCheck(this, ContentBlockNode);\n\n return _possibleConstructorReturn(this, _Record.call(this, decorateCharacterList(props)));\n }\n\n ContentBlockNode.prototype.getKey = function getKey() {\n return this.get('key');\n };\n\n ContentBlockNode.prototype.getType = function getType() {\n return this.get('type');\n };\n\n ContentBlockNode.prototype.getText = function getText() {\n return this.get('text');\n };\n\n ContentBlockNode.prototype.getCharacterList = function getCharacterList() {\n return this.get('characterList');\n };\n\n ContentBlockNode.prototype.getLength = function getLength() {\n return this.getText().length;\n };\n\n ContentBlockNode.prototype.getDepth = function getDepth() {\n return this.get('depth');\n };\n\n ContentBlockNode.prototype.getData = function getData() {\n return this.get('data');\n };\n\n ContentBlockNode.prototype.getInlineStyleAt = function getInlineStyleAt(offset) {\n var character = this.getCharacterList().get(offset);\n return character ? character.getStyle() : EMPTY_SET;\n };\n\n ContentBlockNode.prototype.getEntityAt = function getEntityAt(offset) {\n var character = this.getCharacterList().get(offset);\n return character ? character.getEntity() : null;\n };\n\n ContentBlockNode.prototype.getChildKeys = function getChildKeys() {\n return this.get('children');\n };\n\n ContentBlockNode.prototype.getParentKey = function getParentKey() {\n return this.get('parent');\n };\n\n ContentBlockNode.prototype.getPrevSiblingKey = function getPrevSiblingKey() {\n return this.get('prevSibling');\n };\n\n ContentBlockNode.prototype.getNextSiblingKey = function getNextSiblingKey() {\n return this.get('nextSibling');\n };\n\n ContentBlockNode.prototype.findStyleRanges = function findStyleRanges(filterFn, callback) {\n findRangesImmutable(this.getCharacterList(), haveEqualStyle, filterFn, callback);\n };\n\n ContentBlockNode.prototype.findEntityRanges = function findEntityRanges(filterFn, callback) {\n findRangesImmutable(this.getCharacterList(), haveEqualEntity, filterFn, callback);\n };\n\n return ContentBlockNode;\n}(Record(defaultRecord));\n\nmodule.exports = ContentBlockNode;","/**\n * Copyright (c) 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 * @providesModule ContentState\n * @format\n * \n */\n\n'use strict';\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 BlockMapBuilder = require('./BlockMapBuilder');\nvar CharacterMetadata = require('./CharacterMetadata');\nvar ContentBlock = require('./ContentBlock');\nvar ContentBlockNode = require('./ContentBlockNode');\nvar DraftEntity = require('./DraftEntity');\nvar DraftFeatureFlags = require('./DraftFeatureFlags');\nvar Immutable = require('immutable');\nvar SelectionState = require('./SelectionState');\n\nvar generateRandomKey = require('./generateRandomKey');\nvar sanitizeDraftText = require('./sanitizeDraftText');\n\nvar List = Immutable.List,\n Record = Immutable.Record,\n Repeat = Immutable.Repeat;\n\n\nvar experimentalTreeDataSupport = DraftFeatureFlags.draft_tree_data_support;\n\nvar defaultRecord = {\n entityMap: null,\n blockMap: null,\n selectionBefore: null,\n selectionAfter: null\n};\n\nvar ContentBlockNodeRecord = experimentalTreeDataSupport ? ContentBlockNode : ContentBlock;\n\nvar ContentStateRecord = Record(defaultRecord);\n\nvar ContentState = function (_ContentStateRecord) {\n _inherits(ContentState, _ContentStateRecord);\n\n function ContentState() {\n _classCallCheck(this, ContentState);\n\n return _possibleConstructorReturn(this, _ContentStateRecord.apply(this, arguments));\n }\n\n ContentState.prototype.getEntityMap = function getEntityMap() {\n // TODO: update this when we fully remove DraftEntity\n return DraftEntity;\n };\n\n ContentState.prototype.getBlockMap = function getBlockMap() {\n return this.get('blockMap');\n };\n\n ContentState.prototype.getSelectionBefore = function getSelectionBefore() {\n return this.get('selectionBefore');\n };\n\n ContentState.prototype.getSelectionAfter = function getSelectionAfter() {\n return this.get('selectionAfter');\n };\n\n ContentState.prototype.getBlockForKey = function getBlockForKey(key) {\n var block = this.getBlockMap().get(key);\n return block;\n };\n\n ContentState.prototype.getKeyBefore = function getKeyBefore(key) {\n return this.getBlockMap().reverse().keySeq().skipUntil(function (v) {\n return v === key;\n }).skip(1).first();\n };\n\n ContentState.prototype.getKeyAfter = function getKeyAfter(key) {\n return this.getBlockMap().keySeq().skipUntil(function (v) {\n return v === key;\n }).skip(1).first();\n };\n\n ContentState.prototype.getBlockAfter = function getBlockAfter(key) {\n return this.getBlockMap().skipUntil(function (_, k) {\n return k === key;\n }).skip(1).first();\n };\n\n ContentState.prototype.getBlockBefore = function getBlockBefore(key) {\n return this.getBlockMap().reverse().skipUntil(function (_, k) {\n return k === key;\n }).skip(1).first();\n };\n\n ContentState.prototype.getBlocksAsArray = function getBlocksAsArray() {\n return this.getBlockMap().toArray();\n };\n\n ContentState.prototype.getFirstBlock = function getFirstBlock() {\n return this.getBlockMap().first();\n };\n\n ContentState.prototype.getLastBlock = function getLastBlock() {\n return this.getBlockMap().last();\n };\n\n ContentState.prototype.getPlainText = function getPlainText(delimiter) {\n return this.getBlockMap().map(function (block) {\n return block ? block.getText() : '';\n }).join(delimiter || '\\n');\n };\n\n ContentState.prototype.getLastCreatedEntityKey = function getLastCreatedEntityKey() {\n // TODO: update this when we fully remove DraftEntity\n return DraftEntity.__getLastCreatedEntityKey();\n };\n\n ContentState.prototype.hasText = function hasText() {\n var blockMap = this.getBlockMap();\n return blockMap.size > 1 || blockMap.first().getLength() > 0;\n };\n\n ContentState.prototype.createEntity = function createEntity(type, mutability, data) {\n // TODO: update this when we fully remove DraftEntity\n DraftEntity.__create(type, mutability, data);\n return this;\n };\n\n ContentState.prototype.mergeEntityData = function mergeEntityData(key, toMerge) {\n // TODO: update this when we fully remove DraftEntity\n DraftEntity.__mergeData(key, toMerge);\n return this;\n };\n\n ContentState.prototype.replaceEntityData = function replaceEntityData(key, newData) {\n // TODO: update this when we fully remove DraftEntity\n DraftEntity.__replaceData(key, newData);\n return this;\n };\n\n ContentState.prototype.addEntity = function addEntity(instance) {\n // TODO: update this when we fully remove DraftEntity\n DraftEntity.__add(instance);\n return this;\n };\n\n ContentState.prototype.getEntity = function getEntity(key) {\n // TODO: update this when we fully remove DraftEntity\n return DraftEntity.__get(key);\n };\n\n ContentState.createFromBlockArray = function createFromBlockArray(\n // TODO: update flow type when we completely deprecate the old entity API\n blocks, entityMap) {\n // TODO: remove this when we completely deprecate the old entity API\n var theBlocks = Array.isArray(blocks) ? blocks : blocks.contentBlocks;\n var blockMap = BlockMapBuilder.createFromArray(theBlocks);\n var selectionState = blockMap.isEmpty() ? new SelectionState() : SelectionState.createEmpty(blockMap.first().getKey());\n return new ContentState({\n blockMap: blockMap,\n entityMap: entityMap || DraftEntity,\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n };\n\n ContentState.createFromText = function createFromText(text) {\n var delimiter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : /\\r\\n?|\\n/g;\n\n var strings = text.split(delimiter);\n var blocks = strings.map(function (block) {\n block = sanitizeDraftText(block);\n return new ContentBlockNodeRecord({\n key: generateRandomKey(),\n text: block,\n type: 'unstyled',\n characterList: List(Repeat(CharacterMetadata.EMPTY, block.length))\n });\n });\n return ContentState.createFromBlockArray(blocks);\n };\n\n return ContentState;\n}(ContentStateRecord);\n\nmodule.exports = ContentState;","/**\n * Copyright (c) 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 * @providesModule ContentStateInlineStyle\n * @format\n * \n */\n\n'use strict';\n\nvar CharacterMetadata = require('./CharacterMetadata');\n\nvar _require = require('immutable'),\n Map = _require.Map;\n\nvar ContentStateInlineStyle = {\n add: function add(contentState, selectionState, inlineStyle) {\n return modifyInlineStyle(contentState, selectionState, inlineStyle, true);\n },\n\n remove: function remove(contentState, selectionState, inlineStyle) {\n return modifyInlineStyle(contentState, selectionState, inlineStyle, false);\n }\n};\n\nfunction modifyInlineStyle(contentState, selectionState, inlineStyle, addOrRemove) {\n var blockMap = contentState.getBlockMap();\n var startKey = selectionState.getStartKey();\n var startOffset = selectionState.getStartOffset();\n var endKey = selectionState.getEndKey();\n var endOffset = selectionState.getEndOffset();\n\n var newBlocks = blockMap.skipUntil(function (_, k) {\n return k === startKey;\n }).takeUntil(function (_, k) {\n return k === endKey;\n }).concat(Map([[endKey, blockMap.get(endKey)]])).map(function (block, blockKey) {\n var sliceStart;\n var sliceEnd;\n\n if (startKey === endKey) {\n sliceStart = startOffset;\n sliceEnd = endOffset;\n } else {\n sliceStart = blockKey === startKey ? startOffset : 0;\n sliceEnd = blockKey === endKey ? endOffset : block.getLength();\n }\n\n var chars = block.getCharacterList();\n var current;\n while (sliceStart < sliceEnd) {\n current = chars.get(sliceStart);\n chars = chars.set(sliceStart, addOrRemove ? CharacterMetadata.applyStyle(current, inlineStyle) : CharacterMetadata.removeStyle(current, inlineStyle));\n sliceStart++;\n }\n\n return block.set('characterList', chars);\n });\n\n return contentState.merge({\n blockMap: blockMap.merge(newBlocks),\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n}\n\nmodule.exports = ContentStateInlineStyle;","/**\n * Copyright (c) 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 * @providesModule DefaultDraftBlockRenderMap\n * @format\n * \n */\n\n'use strict';\n\nvar _require = require('immutable'),\n Map = _require.Map;\n\nvar React = require('react');\n\nvar cx = require('fbjs/lib/cx');\n\nvar UL_WRAP = React.createElement('ul', { className: cx('public/DraftStyleDefault/ul') });\nvar OL_WRAP = React.createElement('ol', { className: cx('public/DraftStyleDefault/ol') });\nvar PRE_WRAP = React.createElement('pre', { className: cx('public/DraftStyleDefault/pre') });\n\nvar DefaultDraftBlockRenderMap = Map({\n 'header-one': {\n element: 'h1'\n },\n 'header-two': {\n element: 'h2'\n },\n 'header-three': {\n element: 'h3'\n },\n 'header-four': {\n element: 'h4'\n },\n 'header-five': {\n element: 'h5'\n },\n 'header-six': {\n element: 'h6'\n },\n 'unordered-list-item': {\n element: 'li',\n wrapper: UL_WRAP\n },\n 'ordered-list-item': {\n element: 'li',\n wrapper: OL_WRAP\n },\n blockquote: {\n element: 'blockquote'\n },\n atomic: {\n element: 'figure'\n },\n 'code-block': {\n element: 'pre',\n wrapper: PRE_WRAP\n },\n unstyled: {\n element: 'div',\n aliasedElements: ['p']\n }\n});\n\nmodule.exports = DefaultDraftBlockRenderMap;","/**\n * Copyright (c) 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 * @providesModule DefaultDraftInlineStyle\n * @format\n * \n */\n\n'use strict';\n\nmodule.exports = {\n BOLD: {\n fontWeight: 'bold'\n },\n\n CODE: {\n fontFamily: 'monospace',\n wordWrap: 'break-word'\n },\n\n ITALIC: {\n fontStyle: 'italic'\n },\n\n STRIKETHROUGH: {\n textDecoration: 'line-through'\n },\n\n UNDERLINE: {\n textDecoration: 'underline'\n }\n};","/**\n * Copyright (c) 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 * @providesModule Draft\n * @format\n * \n */\n\n'use strict';\n\nvar AtomicBlockUtils = require('./AtomicBlockUtils');\nvar BlockMapBuilder = require('./BlockMapBuilder');\nvar CharacterMetadata = require('./CharacterMetadata');\nvar CompositeDraftDecorator = require('./CompositeDraftDecorator');\nvar ContentBlock = require('./ContentBlock');\nvar ContentState = require('./ContentState');\nvar DefaultDraftBlockRenderMap = require('./DefaultDraftBlockRenderMap');\nvar DefaultDraftInlineStyle = require('./DefaultDraftInlineStyle');\nvar DraftEditor = require('./DraftEditor.react');\nvar DraftEditorBlock = require('./DraftEditorBlock.react');\nvar DraftEntity = require('./DraftEntity');\nvar DraftModifier = require('./DraftModifier');\nvar DraftEntityInstance = require('./DraftEntityInstance');\nvar EditorState = require('./EditorState');\nvar KeyBindingUtil = require('./KeyBindingUtil');\nvar RichTextEditorUtil = require('./RichTextEditorUtil');\nvar SelectionState = require('./SelectionState');\n\nvar convertFromDraftStateToRaw = require('./convertFromDraftStateToRaw');\nvar convertFromHTMLToContentBlocks = require('./convertFromHTMLToContentBlocks');\nvar convertFromRawToDraftState = require('./convertFromRawToDraftState');\nvar generateRandomKey = require('./generateRandomKey');\nvar getDefaultKeyBinding = require('./getDefaultKeyBinding');\nvar getVisibleSelectionRect = require('./getVisibleSelectionRect');\n\nvar DraftPublic = {\n Editor: DraftEditor,\n EditorBlock: DraftEditorBlock,\n EditorState: EditorState,\n\n CompositeDecorator: CompositeDraftDecorator,\n Entity: DraftEntity,\n EntityInstance: DraftEntityInstance,\n\n BlockMapBuilder: BlockMapBuilder,\n CharacterMetadata: CharacterMetadata,\n ContentBlock: ContentBlock,\n ContentState: ContentState,\n SelectionState: SelectionState,\n\n AtomicBlockUtils: AtomicBlockUtils,\n KeyBindingUtil: KeyBindingUtil,\n Modifier: DraftModifier,\n RichUtils: RichTextEditorUtil,\n\n DefaultDraftBlockRenderMap: DefaultDraftBlockRenderMap,\n DefaultDraftInlineStyle: DefaultDraftInlineStyle,\n\n convertFromHTML: convertFromHTMLToContentBlocks,\n convertFromRaw: convertFromRawToDraftState,\n convertToRaw: convertFromDraftStateToRaw,\n genKey: generateRandomKey,\n getDefaultKeyBinding: getDefaultKeyBinding,\n getVisibleSelectionRect: getVisibleSelectionRect\n};\n\nmodule.exports = DraftPublic;","/**\n * Copyright (c) 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 * @providesModule DraftEditor.react\n * @format\n * \n * @preventMunge\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar _extends = _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\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 DefaultDraftBlockRenderMap = require('./DefaultDraftBlockRenderMap');\nvar DefaultDraftInlineStyle = require('./DefaultDraftInlineStyle');\nvar DraftEditorCompositionHandler = require('./DraftEditorCompositionHandler');\nvar DraftEditorContents = require('./DraftEditorContents.react');\nvar DraftEditorDragHandler = require('./DraftEditorDragHandler');\nvar DraftEditorEditHandler = require('./DraftEditorEditHandler');\nvar DraftEditorPlaceholder = require('./DraftEditorPlaceholder.react');\nvar EditorState = require('./EditorState');\nvar React = require('react');\nvar ReactDOM = require('react-dom');\nvar Scroll = require('fbjs/lib/Scroll');\nvar Style = require('fbjs/lib/Style');\nvar UserAgent = require('fbjs/lib/UserAgent');\n\nvar cx = require('fbjs/lib/cx');\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar generateRandomKey = require('./generateRandomKey');\nvar getDefaultKeyBinding = require('./getDefaultKeyBinding');\nvar getScrollPosition = require('fbjs/lib/getScrollPosition');\nvar invariant = require('fbjs/lib/invariant');\nvar nullthrows = require('fbjs/lib/nullthrows');\n\nvar isIE = UserAgent.isBrowser('IE');\n\n// IE does not support the `input` event on contentEditable, so we can't\n// observe spellcheck behavior.\nvar allowSpellCheck = !isIE;\n\n// Define a set of handler objects to correspond to each possible `mode`\n// of editor behavior.\nvar handlerMap = {\n edit: DraftEditorEditHandler,\n composite: DraftEditorCompositionHandler,\n drag: DraftEditorDragHandler,\n cut: null,\n render: null\n};\n\n/**\n * `DraftEditor` is the root editor component. It composes a `contentEditable`\n * div, and provides a wide variety of useful function props for managing the\n * state of the editor. See `DraftEditorProps` for details.\n */\nvar DraftEditor = function (_React$Component) {\n _inherits(DraftEditor, _React$Component);\n\n function DraftEditor(props) {\n _classCallCheck(this, DraftEditor);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.focus = function (scrollPosition) {\n var editorState = _this.props.editorState;\n\n var alreadyHasFocus = editorState.getSelection().getHasFocus();\n var editorNode = ReactDOM.findDOMNode(_this.editor);\n\n if (!editorNode) {\n // once in a while people call 'focus' in a setTimeout, and the node has\n // been deleted, so it can be null in that case.\n return;\n }\n\n var scrollParent = Style.getScrollParent(editorNode);\n\n var _ref = scrollPosition || getScrollPosition(scrollParent),\n x = _ref.x,\n y = _ref.y;\n\n !(editorNode instanceof HTMLElement) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'editorNode is not an HTMLElement') : invariant(false) : void 0;\n editorNode.focus();\n\n // Restore scroll position\n if (scrollParent === window) {\n window.scrollTo(x, y);\n } else {\n Scroll.setTop(scrollParent, y);\n }\n\n // On Chrome and Safari, calling focus on contenteditable focuses the\n // cursor at the first character. This is something you don't expect when\n // you're clicking on an input element but not directly on a character.\n // Put the cursor back where it was before the blur.\n if (!alreadyHasFocus) {\n _this.update(EditorState.forceSelection(editorState, editorState.getSelection()));\n }\n };\n\n _this.blur = function () {\n var editorNode = ReactDOM.findDOMNode(_this.editor);\n !(editorNode instanceof HTMLElement) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'editorNode is not an HTMLElement') : invariant(false) : void 0;\n editorNode.blur();\n };\n\n _this.setMode = function (mode) {\n _this._handler = handlerMap[mode];\n };\n\n _this.exitCurrentMode = function () {\n _this.setMode('edit');\n };\n\n _this.restoreEditorDOM = function (scrollPosition) {\n _this.setState({ contentsKey: _this.state.contentsKey + 1 }, function () {\n _this.focus(scrollPosition);\n });\n };\n\n _this.setClipboard = function (clipboard) {\n _this._clipboard = clipboard;\n };\n\n _this.getClipboard = function () {\n return _this._clipboard;\n };\n\n _this.update = function (editorState) {\n _this._latestEditorState = editorState;\n _this.props.onChange(editorState);\n };\n\n _this.onDragEnter = function () {\n _this._dragCount++;\n };\n\n _this.onDragLeave = function () {\n _this._dragCount--;\n if (_this._dragCount === 0) {\n _this.exitCurrentMode();\n }\n };\n\n _this._blockSelectEvents = false;\n _this._clipboard = null;\n _this._handler = null;\n _this._dragCount = 0;\n _this._editorKey = props.editorKey || generateRandomKey();\n _this._placeholderAccessibilityID = 'placeholder-' + _this._editorKey;\n _this._latestEditorState = props.editorState;\n _this._latestCommittedEditorState = props.editorState;\n\n _this._onBeforeInput = _this._buildHandler('onBeforeInput');\n _this._onBlur = _this._buildHandler('onBlur');\n _this._onCharacterData = _this._buildHandler('onCharacterData');\n _this._onCompositionEnd = _this._buildHandler('onCompositionEnd');\n _this._onCompositionStart = _this._buildHandler('onCompositionStart');\n _this._onCopy = _this._buildHandler('onCopy');\n _this._onCut = _this._buildHandler('onCut');\n _this._onDragEnd = _this._buildHandler('onDragEnd');\n _this._onDragOver = _this._buildHandler('onDragOver');\n _this._onDragStart = _this._buildHandler('onDragStart');\n _this._onDrop = _this._buildHandler('onDrop');\n _this._onInput = _this._buildHandler('onInput');\n _this._onFocus = _this._buildHandler('onFocus');\n _this._onKeyDown = _this._buildHandler('onKeyDown');\n _this._onKeyPress = _this._buildHandler('onKeyPress');\n _this._onKeyUp = _this._buildHandler('onKeyUp');\n _this._onMouseDown = _this._buildHandler('onMouseDown');\n _this._onMouseUp = _this._buildHandler('onMouseUp');\n _this._onPaste = _this._buildHandler('onPaste');\n _this._onSelect = _this._buildHandler('onSelect');\n\n _this.getEditorKey = function () {\n return _this._editorKey;\n };\n\n // See `restoreEditorDOM()`.\n _this.state = { contentsKey: 0 };\n return _this;\n }\n\n /**\n * Build a method that will pass the event to the specified handler method.\n * This allows us to look up the correct handler function for the current\n * editor mode, if any has been specified.\n */\n\n\n /**\n * Define proxies that can route events to the current handler.\n */\n\n\n DraftEditor.prototype._buildHandler = function _buildHandler(eventName) {\n var _this2 = this;\n\n return function (e) {\n if (!_this2.props.readOnly) {\n var method = _this2._handler && _this2._handler[eventName];\n method && method(_this2, e);\n }\n };\n };\n\n DraftEditor.prototype._showPlaceholder = function _showPlaceholder() {\n return !!this.props.placeholder && !this.props.editorState.isInCompositionMode() && !this.props.editorState.getCurrentContent().hasText();\n };\n\n DraftEditor.prototype._renderPlaceholder = function _renderPlaceholder() {\n if (this._showPlaceholder()) {\n var placeHolderProps = {\n text: nullthrows(this.props.placeholder),\n editorState: this.props.editorState,\n textAlignment: this.props.textAlignment,\n accessibilityID: this._placeholderAccessibilityID\n };\n\n return React.createElement(DraftEditorPlaceholder, placeHolderProps);\n }\n return null;\n };\n\n DraftEditor.prototype.render = function render() {\n var _this3 = this;\n\n var _props = this.props,\n blockRenderMap = _props.blockRenderMap,\n blockRendererFn = _props.blockRendererFn,\n blockStyleFn = _props.blockStyleFn,\n customStyleFn = _props.customStyleFn,\n customStyleMap = _props.customStyleMap,\n editorState = _props.editorState,\n readOnly = _props.readOnly,\n textAlignment = _props.textAlignment,\n textDirectionality = _props.textDirectionality;\n\n\n var rootClass = cx({\n 'DraftEditor/root': true,\n 'DraftEditor/alignLeft': textAlignment === 'left',\n 'DraftEditor/alignRight': textAlignment === 'right',\n 'DraftEditor/alignCenter': textAlignment === 'center'\n });\n\n var contentStyle = {\n outline: 'none',\n // fix parent-draggable Safari bug. #1326\n userSelect: 'text',\n WebkitUserSelect: 'text',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word'\n };\n\n // The aria-expanded and aria-haspopup properties should only be rendered\n // for a combobox.\n var ariaRole = this.props.role || 'textbox';\n var ariaExpanded = ariaRole === 'combobox' ? !!this.props.ariaExpanded : null;\n\n var editorContentsProps = {\n blockRenderMap: blockRenderMap,\n blockRendererFn: blockRendererFn,\n blockStyleFn: blockStyleFn,\n customStyleMap: _extends({}, DefaultDraftInlineStyle, customStyleMap),\n customStyleFn: customStyleFn,\n editorKey: this._editorKey,\n editorState: editorState,\n key: 'contents' + this.state.contentsKey,\n textDirectionality: textDirectionality\n };\n\n return React.createElement(\n 'div',\n { className: rootClass },\n this._renderPlaceholder(),\n React.createElement(\n 'div',\n {\n className: cx('DraftEditor/editorContainer'),\n ref: function ref(_ref3) {\n return _this3.editorContainer = _ref3;\n } },\n React.createElement(\n 'div',\n {\n 'aria-activedescendant': readOnly ? null : this.props.ariaActiveDescendantID,\n 'aria-autocomplete': readOnly ? null : this.props.ariaAutoComplete,\n 'aria-controls': readOnly ? null : this.props.ariaControls,\n 'aria-describedby': this.props.ariaDescribedBy || this._placeholderAccessibilityID,\n 'aria-expanded': readOnly ? null : ariaExpanded,\n 'aria-label': this.props.ariaLabel,\n 'aria-labelledby': this.props.ariaLabelledBy,\n 'aria-multiline': this.props.ariaMultiline,\n autoCapitalize: this.props.autoCapitalize,\n autoComplete: this.props.autoComplete,\n autoCorrect: this.props.autoCorrect,\n className: cx({\n // Chrome's built-in translation feature mutates the DOM in ways\n // that Draft doesn't expect (ex: adding <font> tags inside\n // DraftEditorLeaf spans) and causes problems. We add notranslate\n // here which makes its autotranslation skip over this subtree.\n notranslate: !readOnly,\n 'public/DraftEditor/content': true\n }),\n contentEditable: !readOnly,\n 'data-testid': this.props.webDriverTestID,\n onBeforeInput: this._onBeforeInput,\n onBlur: this._onBlur,\n onCompositionEnd: this._onCompositionEnd,\n onCompositionStart: this._onCompositionStart,\n onCopy: this._onCopy,\n onCut: this._onCut,\n onDragEnd: this._onDragEnd,\n onDragEnter: this.onDragEnter,\n onDragLeave: this.onDragLeave,\n onDragOver: this._onDragOver,\n onDragStart: this._onDragStart,\n onDrop: this._onDrop,\n onFocus: this._onFocus,\n onInput: this._onInput,\n onKeyDown: this._onKeyDown,\n onKeyPress: this._onKeyPress,\n onKeyUp: this._onKeyUp,\n onMouseUp: this._onMouseUp,\n onPaste: this._onPaste,\n onSelect: this._onSelect,\n ref: function ref(_ref2) {\n return _this3.editor = _ref2;\n },\n role: readOnly ? null : ariaRole,\n spellCheck: allowSpellCheck && this.props.spellCheck,\n style: contentStyle,\n suppressContentEditableWarning: true,\n tabIndex: this.props.tabIndex },\n React.createElement(DraftEditorContents, editorContentsProps)\n )\n )\n );\n };\n\n DraftEditor.prototype.componentDidMount = function componentDidMount() {\n this.setMode('edit');\n\n /**\n * IE has a hardcoded \"feature\" that attempts to convert link text into\n * anchors in contentEditable DOM. This breaks the editor's expectations of\n * the DOM, and control is lost. Disable it to make IE behave.\n * See: http://blogs.msdn.com/b/ieinternals/archive/2010/09/15/\n * ie9-beta-minor-change-list.aspx\n */\n if (isIE) {\n document.execCommand('AutoUrlDetect', false, false);\n }\n };\n\n /**\n * Prevent selection events from affecting the current editor state. This\n * is mostly intended to defend against IE, which fires off `selectionchange`\n * events regardless of whether the selection is set via the browser or\n * programmatically. We only care about selection events that occur because\n * of browser interaction, not re-renders and forced selections.\n */\n\n\n DraftEditor.prototype.componentWillUpdate = function componentWillUpdate(nextProps) {\n this._blockSelectEvents = true;\n this._latestEditorState = nextProps.editorState;\n };\n\n DraftEditor.prototype.componentDidUpdate = function componentDidUpdate() {\n this._blockSelectEvents = false;\n this._latestCommittedEditorState = this.props.editorState;\n };\n\n /**\n * Used via `this.focus()`.\n *\n * Force focus back onto the editor node.\n *\n * We attempt to preserve scroll position when focusing. You can also pass\n * a specified scroll position (for cases like `cut` behavior where it should\n * be restored to a known position).\n */\n\n\n /**\n * Used via `this.setMode(...)`.\n *\n * Set the behavior mode for the editor component. This switches the current\n * handler module to ensure that DOM events are managed appropriately for\n * the active mode.\n */\n\n\n /**\n * Used via `this.restoreEditorDOM()`.\n *\n * Force a complete re-render of the DraftEditorContents based on the current\n * EditorState. This is useful when we know we are going to lose control of\n * the DOM state (cut command, IME) and we want to make sure that\n * reconciliation occurs on a version of the DOM that is synchronized with\n * our EditorState.\n */\n\n\n /**\n * Used via `this.setClipboard(...)`.\n *\n * Set the clipboard state for a cut/copy event.\n */\n\n\n /**\n * Used via `this.getClipboard()`.\n *\n * Retrieve the clipboard state for a cut/copy event.\n */\n\n\n /**\n * Used via `this.update(...)`.\n *\n * Propagate a new `EditorState` object to higher-level components. This is\n * the method by which event handlers inform the `DraftEditor` component of\n * state changes. A component that composes a `DraftEditor` **must** provide\n * an `onChange` prop to receive state updates passed along from this\n * function.\n */\n\n\n /**\n * Used in conjunction with `onDragLeave()`, by counting the number of times\n * a dragged element enters and leaves the editor (or any of its children),\n * to determine when the dragged element absolutely leaves the editor.\n */\n\n\n /**\n * See `onDragEnter()`.\n */\n\n\n return DraftEditor;\n}(React.Component);\n\nDraftEditor.defaultProps = {\n blockRenderMap: DefaultDraftBlockRenderMap,\n blockRendererFn: emptyFunction.thatReturnsNull,\n blockStyleFn: emptyFunction.thatReturns(''),\n keyBindingFn: getDefaultKeyBinding,\n readOnly: false,\n spellCheck: false,\n stripPastedStyles: false\n};\n\n\nmodule.exports = DraftEditor;","/**\n * Copyright (c) 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 * @providesModule DraftEditorBlock.react\n * @format\n * \n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar _extends = _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\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 DraftEditorLeaf = require('./DraftEditorLeaf.react');\nvar DraftOffsetKey = require('./DraftOffsetKey');\nvar React = require('react');\nvar ReactDOM = require('react-dom');\nvar Scroll = require('fbjs/lib/Scroll');\nvar Style = require('fbjs/lib/Style');\nvar UnicodeBidi = require('fbjs/lib/UnicodeBidi');\nvar UnicodeBidiDirection = require('fbjs/lib/UnicodeBidiDirection');\n\nvar cx = require('fbjs/lib/cx');\nvar getElementPosition = require('fbjs/lib/getElementPosition');\nvar getScrollPosition = require('fbjs/lib/getScrollPosition');\nvar getViewportDimensions = require('fbjs/lib/getViewportDimensions');\nvar invariant = require('fbjs/lib/invariant');\nvar nullthrows = require('fbjs/lib/nullthrows');\n\nvar SCROLL_BUFFER = 10;\n\n/**\n * Return whether a block overlaps with either edge of the `SelectionState`.\n */\nvar isBlockOnSelectionEdge = function isBlockOnSelectionEdge(selection, key) {\n return selection.getAnchorKey() === key || selection.getFocusKey() === key;\n};\n\n/**\n * The default block renderer for a `DraftEditor` component.\n *\n * A `DraftEditorBlock` is able to render a given `ContentBlock` to its\n * appropriate decorator and inline style components.\n */\n\nvar DraftEditorBlock = function (_React$Component) {\n _inherits(DraftEditorBlock, _React$Component);\n\n function DraftEditorBlock() {\n _classCallCheck(this, DraftEditorBlock);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n DraftEditorBlock.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return this.props.block !== nextProps.block || this.props.tree !== nextProps.tree || this.props.direction !== nextProps.direction || isBlockOnSelectionEdge(nextProps.selection, nextProps.block.getKey()) && nextProps.forceSelection;\n };\n\n /**\n * When a block is mounted and overlaps the selection state, we need to make\n * sure that the cursor is visible to match native behavior. This may not\n * be the case if the user has pressed `RETURN` or pasted some content, since\n * programatically creating these new blocks and setting the DOM selection\n * will miss out on the browser natively scrolling to that position.\n *\n * To replicate native behavior, if the block overlaps the selection state\n * on mount, force the scroll position. Check the scroll state of the scroll\n * parent, and adjust it to align the entire block to the bottom of the\n * scroll parent.\n */\n\n\n DraftEditorBlock.prototype.componentDidMount = function componentDidMount() {\n var selection = this.props.selection;\n var endKey = selection.getEndKey();\n if (!selection.getHasFocus() || endKey !== this.props.block.getKey()) {\n return;\n }\n\n var blockNode = ReactDOM.findDOMNode(this);\n var scrollParent = Style.getScrollParent(blockNode);\n var scrollPosition = getScrollPosition(scrollParent);\n var scrollDelta = void 0;\n\n if (scrollParent === window) {\n var nodePosition = getElementPosition(blockNode);\n var nodeBottom = nodePosition.y + nodePosition.height;\n var viewportHeight = getViewportDimensions().height;\n scrollDelta = nodeBottom - viewportHeight;\n if (scrollDelta > 0) {\n window.scrollTo(scrollPosition.x, scrollPosition.y + scrollDelta + SCROLL_BUFFER);\n }\n } else {\n !(blockNode instanceof HTMLElement) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'blockNode is not an HTMLElement') : invariant(false) : void 0;\n var blockBottom = blockNode.offsetHeight + blockNode.offsetTop;\n var scrollBottom = scrollParent.offsetHeight + scrollPosition.y;\n scrollDelta = blockBottom - scrollBottom;\n if (scrollDelta > 0) {\n Scroll.setTop(scrollParent, Scroll.getTop(scrollParent) + scrollDelta + SCROLL_BUFFER);\n }\n }\n };\n\n DraftEditorBlock.prototype._renderChildren = function _renderChildren() {\n var _this2 = this;\n\n var block = this.props.block;\n var blockKey = block.getKey();\n var text = block.getText();\n var lastLeafSet = this.props.tree.size - 1;\n var hasSelection = isBlockOnSelectionEdge(this.props.selection, blockKey);\n\n return this.props.tree.map(function (leafSet, ii) {\n var leavesForLeafSet = leafSet.get('leaves');\n var lastLeaf = leavesForLeafSet.size - 1;\n var leaves = leavesForLeafSet.map(function (leaf, jj) {\n var offsetKey = DraftOffsetKey.encode(blockKey, ii, jj);\n var start = leaf.get('start');\n var end = leaf.get('end');\n return React.createElement(DraftEditorLeaf, {\n key: offsetKey,\n offsetKey: offsetKey,\n block: block,\n start: start,\n selection: hasSelection ? _this2.props.selection : null,\n forceSelection: _this2.props.forceSelection,\n text: text.slice(start, end),\n styleSet: block.getInlineStyleAt(start),\n customStyleMap: _this2.props.customStyleMap,\n customStyleFn: _this2.props.customStyleFn,\n isLast: ii === lastLeafSet && jj === lastLeaf\n });\n }).toArray();\n\n var decoratorKey = leafSet.get('decoratorKey');\n if (decoratorKey == null) {\n return leaves;\n }\n\n if (!_this2.props.decorator) {\n return leaves;\n }\n\n var decorator = nullthrows(_this2.props.decorator);\n\n var DecoratorComponent = decorator.getComponentForKey(decoratorKey);\n if (!DecoratorComponent) {\n return leaves;\n }\n\n var decoratorProps = decorator.getPropsForKey(decoratorKey);\n var decoratorOffsetKey = DraftOffsetKey.encode(blockKey, ii, 0);\n var decoratedText = text.slice(leavesForLeafSet.first().get('start'), leavesForLeafSet.last().get('end'));\n\n // Resetting dir to the same value on a child node makes Chrome/Firefox\n // confused on cursor movement. See http://jsfiddle.net/d157kLck/3/\n var dir = UnicodeBidiDirection.getHTMLDirIfDifferent(UnicodeBidi.getDirection(decoratedText), _this2.props.direction);\n\n return React.createElement(\n DecoratorComponent,\n _extends({}, decoratorProps, {\n contentState: _this2.props.contentState,\n decoratedText: decoratedText,\n dir: dir,\n key: decoratorOffsetKey,\n entityKey: block.getEntityAt(leafSet.get('start')),\n offsetKey: decoratorOffsetKey }),\n leaves\n );\n }).toArray();\n };\n\n DraftEditorBlock.prototype.render = function render() {\n var _props = this.props,\n direction = _props.direction,\n offsetKey = _props.offsetKey;\n\n var className = cx({\n 'public/DraftStyleDefault/block': true,\n 'public/DraftStyleDefault/ltr': direction === 'LTR',\n 'public/DraftStyleDefault/rtl': direction === 'RTL'\n });\n\n return React.createElement(\n 'div',\n { 'data-offset-key': offsetKey, className: className },\n this._renderChildren()\n );\n };\n\n return DraftEditorBlock;\n}(React.Component);\n\nmodule.exports = DraftEditorBlock;","/**\n * Copyright (c) 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 * @providesModule DraftEditorCompositionHandler\n * @format\n * \n */\n\n'use strict';\n\nvar DraftFeatureFlags = require('./DraftFeatureFlags');\nvar DraftModifier = require('./DraftModifier');\nvar EditorState = require('./EditorState');\nvar Keys = require('fbjs/lib/Keys');\n\nvar getEntityKeyForSelection = require('./getEntityKeyForSelection');\nvar isEventHandled = require('./isEventHandled');\nvar isSelectionAtLeafStart = require('./isSelectionAtLeafStart');\n\n/**\n * Millisecond delay to allow `compositionstart` to fire again upon\n * `compositionend`.\n *\n * This is used for Korean input to ensure that typing can continue without\n * the editor trying to render too quickly. More specifically, Safari 7.1+\n * triggers `compositionstart` a little slower than Chrome/FF, which\n * leads to composed characters being resolved and re-render occurring\n * sooner than we want.\n */\nvar RESOLVE_DELAY = 20;\n\n/**\n * A handful of variables used to track the current composition and its\n * resolution status. These exist at the module level because it is not\n * possible to have compositions occurring in multiple editors simultaneously,\n * and it simplifies state management with respect to the DraftEditor component.\n */\nvar resolved = false;\nvar stillComposing = false;\nvar textInputData = '';\n\nvar DraftEditorCompositionHandler = {\n onBeforeInput: function onBeforeInput(editor, e) {\n textInputData = (textInputData || '') + e.data;\n },\n\n /**\n * A `compositionstart` event has fired while we're still in composition\n * mode. Continue the current composition session to prevent a re-render.\n */\n onCompositionStart: function onCompositionStart(editor) {\n stillComposing = true;\n },\n\n /**\n * Attempt to end the current composition session.\n *\n * Defer handling because browser will still insert the chars into active\n * element after `compositionend`. If a `compositionstart` event fires\n * before `resolveComposition` executes, our composition session will\n * continue.\n *\n * The `resolved` flag is useful because certain IME interfaces fire the\n * `compositionend` event multiple times, thus queueing up multiple attempts\n * at handling the composition. Since handling the same composition event\n * twice could break the DOM, we only use the first event. Example: Arabic\n * Google Input Tools on Windows 8.1 fires `compositionend` three times.\n */\n onCompositionEnd: function onCompositionEnd(editor) {\n resolved = false;\n stillComposing = false;\n setTimeout(function () {\n if (!resolved) {\n DraftEditorCompositionHandler.resolveComposition(editor);\n }\n }, RESOLVE_DELAY);\n },\n\n /**\n * In Safari, keydown events may fire when committing compositions. If\n * the arrow keys are used to commit, prevent default so that the cursor\n * doesn't move, otherwise it will jump back noticeably on re-render.\n */\n onKeyDown: function onKeyDown(editor, e) {\n if (!stillComposing) {\n // If a keydown event is received after compositionend but before the\n // 20ms timer expires (ex: type option-E then backspace, or type A then\n // backspace in 2-Set Korean), we should immediately resolve the\n // composition and reinterpret the key press in edit mode.\n DraftEditorCompositionHandler.resolveComposition(editor);\n editor._onKeyDown(e);\n return;\n }\n if (e.which === Keys.RIGHT || e.which === Keys.LEFT) {\n e.preventDefault();\n }\n },\n\n /**\n * Keypress events may fire when committing compositions. In Firefox,\n * pressing RETURN commits the composition and inserts extra newline\n * characters that we do not want. `preventDefault` allows the composition\n * to be committed while preventing the extra characters.\n */\n onKeyPress: function onKeyPress(editor, e) {\n if (e.which === Keys.RETURN) {\n e.preventDefault();\n }\n },\n\n /**\n * Attempt to insert composed characters into the document.\n *\n * If we are still in a composition session, do nothing. Otherwise, insert\n * the characters into the document and terminate the composition session.\n *\n * If no characters were composed -- for instance, the user\n * deleted all composed characters and committed nothing new --\n * force a re-render. We also re-render when the composition occurs\n * at the beginning of a leaf, to ensure that if the browser has\n * created a new text node for the composition, we will discard it.\n *\n * Resetting innerHTML will move focus to the beginning of the editor,\n * so we update to force it back to the correct place.\n */\n resolveComposition: function resolveComposition(editor) {\n if (stillComposing) {\n return;\n }\n\n resolved = true;\n var composedChars = textInputData;\n textInputData = '';\n\n var editorState = EditorState.set(editor._latestEditorState, {\n inCompositionMode: false\n });\n\n var currentStyle = editorState.getCurrentInlineStyle();\n var entityKey = getEntityKeyForSelection(editorState.getCurrentContent(), editorState.getSelection());\n\n var mustReset = !composedChars || isSelectionAtLeafStart(editorState) || currentStyle.size > 0 || entityKey !== null;\n\n if (mustReset) {\n editor.restoreEditorDOM();\n }\n\n editor.exitCurrentMode();\n\n if (composedChars) {\n if (DraftFeatureFlags.draft_handlebeforeinput_composed_text && editor.props.handleBeforeInput && isEventHandled(editor.props.handleBeforeInput(composedChars, editorState))) {\n return;\n }\n // If characters have been composed, re-rendering with the update\n // is sufficient to reset the editor.\n var contentState = DraftModifier.replaceText(editorState.getCurrentContent(), editorState.getSelection(), composedChars, currentStyle, entityKey);\n editor.update(EditorState.push(editorState, contentState, 'insert-characters'));\n return;\n }\n\n if (mustReset) {\n editor.update(EditorState.set(editorState, {\n nativelyRenderedContent: null,\n forceSelection: true\n }));\n }\n }\n};\n\nmodule.exports = DraftEditorCompositionHandler;","/**\n * Copyright (c) 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 * @providesModule DraftEditorContents-core.react\n * @format\n * \n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar _extends = _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\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 DraftEditorBlock = require('./DraftEditorBlock.react');\nvar DraftOffsetKey = require('./DraftOffsetKey');\nvar EditorState = require('./EditorState');\nvar React = require('react');\n\nvar cx = require('fbjs/lib/cx');\nvar joinClasses = require('fbjs/lib/joinClasses');\nvar nullthrows = require('fbjs/lib/nullthrows');\n\n/**\n * Provide default styling for list items. This way, lists will be styled with\n * proper counters and indentation even if the caller does not specify\n * their own styling at all. If more than five levels of nesting are needed,\n * the necessary CSS classes can be provided via `blockStyleFn` configuration.\n */\nvar getListItemClasses = function getListItemClasses(type, depth, shouldResetCount, direction) {\n return cx({\n 'public/DraftStyleDefault/unorderedListItem': type === 'unordered-list-item',\n 'public/DraftStyleDefault/orderedListItem': type === 'ordered-list-item',\n 'public/DraftStyleDefault/reset': shouldResetCount,\n 'public/DraftStyleDefault/depth0': depth === 0,\n 'public/DraftStyleDefault/depth1': depth === 1,\n 'public/DraftStyleDefault/depth2': depth === 2,\n 'public/DraftStyleDefault/depth3': depth === 3,\n 'public/DraftStyleDefault/depth4': depth === 4,\n 'public/DraftStyleDefault/listLTR': direction === 'LTR',\n 'public/DraftStyleDefault/listRTL': direction === 'RTL'\n });\n};\n\n/**\n * `DraftEditorContents` is the container component for all block components\n * rendered for a `DraftEditor`. It is optimized to aggressively avoid\n * re-rendering blocks whenever possible.\n *\n * This component is separate from `DraftEditor` because certain props\n * (for instance, ARIA props) must be allowed to update without affecting\n * the contents of the editor.\n */\n\nvar DraftEditorContents = function (_React$Component) {\n _inherits(DraftEditorContents, _React$Component);\n\n function DraftEditorContents() {\n _classCallCheck(this, DraftEditorContents);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n DraftEditorContents.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n var prevEditorState = this.props.editorState;\n var nextEditorState = nextProps.editorState;\n\n var prevDirectionMap = prevEditorState.getDirectionMap();\n var nextDirectionMap = nextEditorState.getDirectionMap();\n\n // Text direction has changed for one or more blocks. We must re-render.\n if (prevDirectionMap !== nextDirectionMap) {\n return true;\n }\n\n var didHaveFocus = prevEditorState.getSelection().getHasFocus();\n var nowHasFocus = nextEditorState.getSelection().getHasFocus();\n\n if (didHaveFocus !== nowHasFocus) {\n return true;\n }\n\n var nextNativeContent = nextEditorState.getNativelyRenderedContent();\n\n var wasComposing = prevEditorState.isInCompositionMode();\n var nowComposing = nextEditorState.isInCompositionMode();\n\n // If the state is unchanged or we're currently rendering a natively\n // rendered state, there's nothing new to be done.\n if (prevEditorState === nextEditorState || nextNativeContent !== null && nextEditorState.getCurrentContent() === nextNativeContent || wasComposing && nowComposing) {\n return false;\n }\n\n var prevContent = prevEditorState.getCurrentContent();\n var nextContent = nextEditorState.getCurrentContent();\n var prevDecorator = prevEditorState.getDecorator();\n var nextDecorator = nextEditorState.getDecorator();\n return wasComposing !== nowComposing || prevContent !== nextContent || prevDecorator !== nextDecorator || nextEditorState.mustForceSelection();\n };\n\n DraftEditorContents.prototype.render = function render() {\n var _props = this.props,\n blockRenderMap = _props.blockRenderMap,\n blockRendererFn = _props.blockRendererFn,\n blockStyleFn = _props.blockStyleFn,\n customStyleMap = _props.customStyleMap,\n customStyleFn = _props.customStyleFn,\n editorState = _props.editorState,\n editorKey = _props.editorKey,\n textDirectionality = _props.textDirectionality;\n\n\n var content = editorState.getCurrentContent();\n var selection = editorState.getSelection();\n var forceSelection = editorState.mustForceSelection();\n var decorator = editorState.getDecorator();\n var directionMap = nullthrows(editorState.getDirectionMap());\n\n var blocksAsArray = content.getBlocksAsArray();\n var processedBlocks = [];\n\n var currentDepth = null;\n var lastWrapperTemplate = null;\n\n for (var ii = 0; ii < blocksAsArray.length; ii++) {\n var _block = blocksAsArray[ii];\n var key = _block.getKey();\n var blockType = _block.getType();\n\n var customRenderer = blockRendererFn(_block);\n var CustomComponent = void 0,\n customProps = void 0,\n customEditable = void 0;\n if (customRenderer) {\n CustomComponent = customRenderer.component;\n customProps = customRenderer.props;\n customEditable = customRenderer.editable;\n }\n\n var direction = textDirectionality ? textDirectionality : directionMap.get(key);\n var offsetKey = DraftOffsetKey.encode(key, 0, 0);\n var componentProps = {\n contentState: content,\n block: _block,\n blockProps: customProps,\n blockStyleFn: blockStyleFn,\n customStyleMap: customStyleMap,\n customStyleFn: customStyleFn,\n decorator: decorator,\n direction: direction,\n forceSelection: forceSelection,\n key: key,\n offsetKey: offsetKey,\n selection: selection,\n tree: editorState.getBlockTree(key)\n };\n\n var configForType = blockRenderMap.get(blockType) || blockRenderMap.get('unstyled');\n var wrapperTemplate = configForType.wrapper;\n\n var Element = configForType.element || blockRenderMap.get('unstyled').element;\n\n var depth = _block.getDepth();\n var className = '';\n if (blockStyleFn) {\n className = blockStyleFn(_block);\n }\n\n // List items are special snowflakes, since we handle nesting and\n // counters manually.\n if (Element === 'li') {\n var shouldResetCount = lastWrapperTemplate !== wrapperTemplate || currentDepth === null || depth > currentDepth;\n className = joinClasses(className, getListItemClasses(blockType, depth, shouldResetCount, direction));\n }\n\n var Component = CustomComponent || DraftEditorBlock;\n var childProps = {\n className: className,\n 'data-block': true,\n 'data-editor': editorKey,\n 'data-offset-key': offsetKey,\n key: key\n };\n if (customEditable !== undefined) {\n childProps = _extends({}, childProps, {\n contentEditable: customEditable,\n suppressContentEditableWarning: true\n });\n }\n\n var child = React.createElement(Element, childProps, React.createElement(Component, componentProps));\n\n processedBlocks.push({\n block: child,\n wrapperTemplate: wrapperTemplate,\n key: key,\n offsetKey: offsetKey\n });\n\n if (wrapperTemplate) {\n currentDepth = _block.getDepth();\n } else {\n currentDepth = null;\n }\n lastWrapperTemplate = wrapperTemplate;\n }\n\n // Group contiguous runs of blocks that have the same wrapperTemplate\n var outputBlocks = [];\n for (var _ii = 0; _ii < processedBlocks.length;) {\n var info = processedBlocks[_ii];\n if (info.wrapperTemplate) {\n var blocks = [];\n do {\n blocks.push(processedBlocks[_ii].block);\n _ii++;\n } while (_ii < processedBlocks.length && processedBlocks[_ii].wrapperTemplate === info.wrapperTemplate);\n var wrapperElement = React.cloneElement(info.wrapperTemplate, {\n key: info.key + '-wrap',\n 'data-offset-key': info.offsetKey\n }, blocks);\n outputBlocks.push(wrapperElement);\n } else {\n outputBlocks.push(info.block);\n _ii++;\n }\n }\n\n return React.createElement(\n 'div',\n { 'data-contents': 'true' },\n outputBlocks\n );\n };\n\n return DraftEditorContents;\n}(React.Component);\n\nmodule.exports = DraftEditorContents;","/**\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 * @providesModule DraftEditorContents.react\n * @format\n * \n */\n\n'use strict';\n\nvar DraftEditorContents = require('./DraftEditorContents-core.react');\n\nmodule.exports = DraftEditorContents;","/**\n * Copyright (c) 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 * @providesModule DraftEditorDragHandler\n * @format\n * \n */\n\n'use strict';\n\nvar DataTransfer = require('fbjs/lib/DataTransfer');\nvar DraftModifier = require('./DraftModifier');\nvar EditorState = require('./EditorState');\n\nvar findAncestorOffsetKey = require('./findAncestorOffsetKey');\nvar getTextContentFromFiles = require('./getTextContentFromFiles');\nvar getUpdatedSelectionState = require('./getUpdatedSelectionState');\nvar isEventHandled = require('./isEventHandled');\nvar nullthrows = require('fbjs/lib/nullthrows');\n\n/**\n * Get a SelectionState for the supplied mouse event.\n */\nfunction getSelectionForEvent(event, editorState) {\n var node = null;\n var offset = null;\n\n if (typeof document.caretRangeFromPoint === 'function') {\n var dropRange = document.caretRangeFromPoint(event.x, event.y);\n node = dropRange.startContainer;\n offset = dropRange.startOffset;\n } else if (event.rangeParent) {\n node = event.rangeParent;\n offset = event.rangeOffset;\n } else {\n return null;\n }\n\n node = nullthrows(node);\n offset = nullthrows(offset);\n var offsetKey = nullthrows(findAncestorOffsetKey(node));\n\n return getUpdatedSelectionState(editorState, offsetKey, offset, offsetKey, offset);\n}\n\nvar DraftEditorDragHandler = {\n /**\n * Drag originating from input terminated.\n */\n onDragEnd: function onDragEnd(editor) {\n editor.exitCurrentMode();\n },\n\n /**\n * Handle data being dropped.\n */\n onDrop: function onDrop(editor, e) {\n var data = new DataTransfer(e.nativeEvent.dataTransfer);\n\n var editorState = editor._latestEditorState;\n var dropSelection = getSelectionForEvent(e.nativeEvent, editorState);\n\n e.preventDefault();\n editor.exitCurrentMode();\n\n if (dropSelection == null) {\n return;\n }\n\n var files = data.getFiles();\n if (files.length > 0) {\n if (editor.props.handleDroppedFiles && isEventHandled(editor.props.handleDroppedFiles(dropSelection, files))) {\n return;\n }\n\n getTextContentFromFiles(files, function (fileText) {\n fileText && editor.update(insertTextAtSelection(editorState, dropSelection, fileText));\n });\n return;\n }\n\n var dragType = editor._internalDrag ? 'internal' : 'external';\n if (editor.props.handleDrop && isEventHandled(editor.props.handleDrop(dropSelection, data, dragType))) {\n return;\n }\n\n if (editor._internalDrag) {\n editor.update(moveText(editorState, dropSelection));\n return;\n }\n\n editor.update(insertTextAtSelection(editorState, dropSelection, data.getText()));\n }\n};\n\nfunction moveText(editorState, targetSelection) {\n var newContentState = DraftModifier.moveText(editorState.getCurrentContent(), editorState.getSelection(), targetSelection);\n return EditorState.push(editorState, newContentState, 'insert-fragment');\n}\n\n/**\n * Insert text at a specified selection.\n */\nfunction insertTextAtSelection(editorState, selection, text) {\n var newContentState = DraftModifier.insertText(editorState.getCurrentContent(), selection, text, editorState.getCurrentInlineStyle());\n return EditorState.push(editorState, newContentState, 'insert-fragment');\n}\n\nmodule.exports = DraftEditorDragHandler;","/**\n * Copyright (c) 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 * @providesModule DraftEditorEditHandler\n * @format\n * \n */\n\n'use strict';\n\nvar onBeforeInput = require('./editOnBeforeInput');\nvar onBlur = require('./editOnBlur');\nvar onCompositionStart = require('./editOnCompositionStart');\nvar onCopy = require('./editOnCopy');\nvar onCut = require('./editOnCut');\nvar onDragOver = require('./editOnDragOver');\nvar onDragStart = require('./editOnDragStart');\nvar onFocus = require('./editOnFocus');\nvar onInput = require('./editOnInput');\nvar onKeyDown = require('./editOnKeyDown');\nvar onPaste = require('./editOnPaste');\nvar onSelect = require('./editOnSelect');\n\nvar DraftEditorEditHandler = {\n onBeforeInput: onBeforeInput,\n onBlur: onBlur,\n onCompositionStart: onCompositionStart,\n onCopy: onCopy,\n onCut: onCut,\n onDragOver: onDragOver,\n onDragStart: onDragStart,\n onFocus: onFocus,\n onInput: onInput,\n onKeyDown: onKeyDown,\n onPaste: onPaste,\n onSelect: onSelect\n};\n\nmodule.exports = DraftEditorEditHandler;","/**\n * Copyright (c) 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 * @providesModule DraftEditorLeaf.react\n * @format\n * \n */\n\n'use strict';\n\nvar _assign = require('object-assign');\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 DraftEditorTextNode = require('./DraftEditorTextNode.react');\nvar React = require('react');\nvar ReactDOM = require('react-dom');\n\nvar invariant = require('fbjs/lib/invariant');\nvar setDraftEditorSelection = require('./setDraftEditorSelection');\n\n/**\n * All leaf nodes in the editor are spans with single text nodes. Leaf\n * elements are styled based on the merging of an optional custom style map\n * and a default style map.\n *\n * `DraftEditorLeaf` also provides a wrapper for calling into the imperative\n * DOM Selection API. In this way, top-level components can declaratively\n * maintain the selection state.\n */\nvar DraftEditorLeaf = function (_React$Component) {\n _inherits(DraftEditorLeaf, _React$Component);\n\n function DraftEditorLeaf() {\n _classCallCheck(this, DraftEditorLeaf);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n DraftEditorLeaf.prototype._setSelection = function _setSelection() {\n var selection = this.props.selection;\n\n // If selection state is irrelevant to the parent block, no-op.\n\n if (selection == null || !selection.getHasFocus()) {\n return;\n }\n\n var _props = this.props,\n block = _props.block,\n start = _props.start,\n text = _props.text;\n\n var blockKey = block.getKey();\n var end = start + text.length;\n if (!selection.hasEdgeWithin(blockKey, start, end)) {\n return;\n }\n\n // Determine the appropriate target node for selection. If the child\n // is not a text node, it is a <br /> spacer. In this case, use the\n // <span> itself as the selection target.\n var node = ReactDOM.findDOMNode(this);\n !node ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Missing node') : invariant(false) : void 0;\n var child = node.firstChild;\n !child ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Missing child') : invariant(false) : void 0;\n var targetNode = void 0;\n\n if (child.nodeType === Node.TEXT_NODE) {\n targetNode = child;\n } else if (child.tagName === 'BR') {\n targetNode = node;\n } else {\n targetNode = child.firstChild;\n !targetNode ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Missing targetNode') : invariant(false) : void 0;\n }\n\n setDraftEditorSelection(selection, targetNode, blockKey, start, end);\n };\n /**\n * By making individual leaf instances aware of their context within\n * the text of the editor, we can set our selection range more\n * easily than we could in the non-React world.\n *\n * Note that this depends on our maintaining tight control over the\n * DOM structure of the DraftEditor component. If leaves had multiple\n * text nodes, this would be harder.\n */\n\n DraftEditorLeaf.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n var leafNode = ReactDOM.findDOMNode(this.leaf);\n !leafNode ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Missing leafNode') : invariant(false) : void 0;\n return leafNode.textContent !== nextProps.text || nextProps.styleSet !== this.props.styleSet || nextProps.forceSelection;\n };\n\n DraftEditorLeaf.prototype.componentDidUpdate = function componentDidUpdate() {\n this._setSelection();\n };\n\n DraftEditorLeaf.prototype.componentDidMount = function componentDidMount() {\n this._setSelection();\n };\n\n DraftEditorLeaf.prototype.render = function render() {\n var _this2 = this;\n\n var block = this.props.block;\n var text = this.props.text;\n\n // If the leaf is at the end of its block and ends in a soft newline, append\n // an extra line feed character. Browsers collapse trailing newline\n // characters, which leaves the cursor in the wrong place after a\n // shift+enter. The extra character repairs this.\n\n if (text.endsWith('\\n') && this.props.isLast) {\n text += '\\n';\n }\n\n var _props2 = this.props,\n customStyleMap = _props2.customStyleMap,\n customStyleFn = _props2.customStyleFn,\n offsetKey = _props2.offsetKey,\n styleSet = _props2.styleSet;\n\n var styleObj = styleSet.reduce(function (map, styleName) {\n var mergedStyles = {};\n var style = customStyleMap[styleName];\n\n if (style !== undefined && map.textDecoration !== style.textDecoration) {\n // .trim() is necessary for IE9/10/11 and Edge\n mergedStyles.textDecoration = [map.textDecoration, style.textDecoration].join(' ').trim();\n }\n\n return _assign(map, style, mergedStyles);\n }, {});\n\n if (customStyleFn) {\n var newStyles = customStyleFn(styleSet, block);\n styleObj = _assign(styleObj, newStyles);\n }\n\n return React.createElement(\n 'span',\n {\n 'data-offset-key': offsetKey,\n ref: function ref(_ref) {\n return _this2.leaf = _ref;\n },\n style: styleObj },\n React.createElement(\n DraftEditorTextNode,\n null,\n text\n )\n );\n };\n\n return DraftEditorLeaf;\n}(React.Component);\n\nmodule.exports = DraftEditorLeaf;","/**\n * Copyright (c) 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 * @providesModule DraftEditorPlaceholder.react\n * @format\n * \n */\n\n'use strict';\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 React = require('react');\n\nvar cx = require('fbjs/lib/cx');\n\n/**\n * This component is responsible for rendering placeholder text for the\n * `DraftEditor` component.\n *\n * Override placeholder style via CSS.\n */\nvar DraftEditorPlaceholder = function (_React$Component) {\n _inherits(DraftEditorPlaceholder, _React$Component);\n\n function DraftEditorPlaceholder() {\n _classCallCheck(this, DraftEditorPlaceholder);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n DraftEditorPlaceholder.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return this.props.text !== nextProps.text || this.props.editorState.getSelection().getHasFocus() !== nextProps.editorState.getSelection().getHasFocus();\n };\n\n DraftEditorPlaceholder.prototype.render = function render() {\n var hasFocus = this.props.editorState.getSelection().getHasFocus();\n\n var className = cx({\n 'public/DraftEditorPlaceholder/root': true,\n 'public/DraftEditorPlaceholder/hasFocus': hasFocus\n });\n\n var contentStyle = {\n whiteSpace: 'pre-wrap'\n };\n\n return React.createElement(\n 'div',\n { className: className },\n React.createElement(\n 'div',\n {\n className: cx('public/DraftEditorPlaceholder/inner'),\n id: this.props.accessibilityID,\n style: contentStyle },\n this.props.text\n )\n );\n };\n\n return DraftEditorPlaceholder;\n}(React.Component);\n\nmodule.exports = DraftEditorPlaceholder;","/**\n * Copyright (c) 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 * @providesModule DraftEditorTextNode.react\n * @format\n * \n */\n\n'use strict';\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 React = require('react');\nvar ReactDOM = require('react-dom');\nvar UserAgent = require('fbjs/lib/UserAgent');\n\nvar invariant = require('fbjs/lib/invariant');\n\n// In IE, spans with <br> tags render as two newlines. By rendering a span\n// with only a newline character, we can be sure to render a single line.\nvar useNewlineChar = UserAgent.isBrowser('IE <= 11');\n\n/**\n * Check whether the node should be considered a newline.\n */\nfunction isNewline(node) {\n return useNewlineChar ? node.textContent === '\\n' : node.tagName === 'BR';\n}\n\n/**\n * Placeholder elements for empty text content.\n *\n * What is this `data-text` attribute, anyway? It turns out that we need to\n * put an attribute on the lowest-level text node in order to preserve correct\n * spellcheck handling. If the <span> is naked, Chrome and Safari may do\n * bizarre things to do the DOM -- split text nodes, create extra spans, etc.\n * If the <span> has an attribute, this appears not to happen.\n * See http://jsfiddle.net/9khdavod/ for the failure case, and\n * http://jsfiddle.net/7pg143f7/ for the fixed case.\n */\nvar NEWLINE_A = useNewlineChar ? React.createElement(\n 'span',\n { key: 'A', 'data-text': 'true' },\n '\\n'\n) : React.createElement('br', { key: 'A', 'data-text': 'true' });\n\nvar NEWLINE_B = useNewlineChar ? React.createElement(\n 'span',\n { key: 'B', 'data-text': 'true' },\n '\\n'\n) : React.createElement('br', { key: 'B', 'data-text': 'true' });\n\n/**\n * The lowest-level component in a `DraftEditor`, the text node component\n * replaces the default React text node implementation. This allows us to\n * perform custom handling of newline behavior and avoid re-rendering text\n * nodes with DOM state that already matches the expectations of our immutable\n * editor state.\n */\nvar DraftEditorTextNode = function (_React$Component) {\n _inherits(DraftEditorTextNode, _React$Component);\n\n function DraftEditorTextNode(props) {\n _classCallCheck(this, DraftEditorTextNode);\n\n // By flipping this flag, we also keep flipping keys which forces\n // React to remount this node every time it rerenders.\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this._forceFlag = false;\n return _this;\n }\n\n DraftEditorTextNode.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n var node = ReactDOM.findDOMNode(this);\n var shouldBeNewline = nextProps.children === '';\n !(node instanceof Element) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'node is not an Element') : invariant(false) : void 0;\n if (shouldBeNewline) {\n return !isNewline(node);\n }\n return node.textContent !== nextProps.children;\n };\n\n DraftEditorTextNode.prototype.componentDidMount = function componentDidMount() {\n this._forceFlag = !this._forceFlag;\n };\n\n DraftEditorTextNode.prototype.componentDidUpdate = function componentDidUpdate() {\n this._forceFlag = !this._forceFlag;\n };\n\n DraftEditorTextNode.prototype.render = function render() {\n if (this.props.children === '') {\n return this._forceFlag ? NEWLINE_A : NEWLINE_B;\n }\n return React.createElement(\n 'span',\n { key: this._forceFlag ? 'A' : 'B', 'data-text': 'true' },\n this.props.children\n );\n };\n\n return DraftEditorTextNode;\n}(React.Component);\n\nmodule.exports = DraftEditorTextNode;","'use strict';\n\nvar _assign = require('object-assign');\n\nvar _extends = _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\n/**\n * Copyright (c) 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 * @providesModule DraftEntity\n * @format\n * \n */\n\nvar DraftEntityInstance = require('./DraftEntityInstance');\nvar Immutable = require('immutable');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar Map = Immutable.Map;\n\n\nvar instances = Map();\nvar instanceKey = 0;\n\n/**\n * Temporary utility for generating the warnings\n */\nfunction logWarning(oldMethodCall, newMethodCall) {\n console.warn('WARNING: ' + oldMethodCall + ' will be deprecated soon!\\nPlease use \"' + newMethodCall + '\" instead.');\n}\n\n/**\n * A \"document entity\" is an object containing metadata associated with a\n * piece of text in a ContentBlock.\n *\n * For example, a `link` entity might include a `uri` property. When a\n * ContentBlock is rendered in the browser, text that refers to that link\n * entity may be rendered as an anchor, with the `uri` as the href value.\n *\n * In a ContentBlock, every position in the text may correspond to zero\n * or one entities. This correspondence is tracked using a key string,\n * generated via DraftEntity.create() and used to obtain entity metadata\n * via DraftEntity.get().\n */\nvar DraftEntity = {\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.getLastCreatedEntityKey' instead.\n * ---\n * Get the random key string from whatever entity was last created.\n * We need this to support the new API, as part of transitioning to put Entity\n * storage in contentState.\n */\n getLastCreatedEntityKey: function getLastCreatedEntityKey() {\n logWarning('DraftEntity.getLastCreatedEntityKey', 'contentState.getLastCreatedEntityKey');\n return DraftEntity.__getLastCreatedEntityKey();\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.createEntity' instead.\n * ---\n * Create a DraftEntityInstance and store it for later retrieval.\n *\n * A random key string will be generated and returned. This key may\n * be used to track the entity's usage in a ContentBlock, and for\n * retrieving data about the entity at render time.\n */\n create: function create(type, mutability, data) {\n logWarning('DraftEntity.create', 'contentState.createEntity');\n return DraftEntity.__create(type, mutability, data);\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.addEntity' instead.\n * ---\n * Add an existing DraftEntityInstance to the DraftEntity map. This is\n * useful when restoring instances from the server.\n */\n add: function add(instance) {\n logWarning('DraftEntity.add', 'contentState.addEntity');\n return DraftEntity.__add(instance);\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.getEntity' instead.\n * ---\n * Retrieve the entity corresponding to the supplied key string.\n */\n get: function get(key) {\n logWarning('DraftEntity.get', 'contentState.getEntity');\n return DraftEntity.__get(key);\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.mergeEntityData' instead.\n * ---\n * Entity instances are immutable. If you need to update the data for an\n * instance, this method will merge your data updates and return a new\n * instance.\n */\n mergeData: function mergeData(key, toMerge) {\n logWarning('DraftEntity.mergeData', 'contentState.mergeEntityData');\n return DraftEntity.__mergeData(key, toMerge);\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.replaceEntityData' instead.\n * ---\n * Completely replace the data for a given instance.\n */\n replaceData: function replaceData(key, newData) {\n logWarning('DraftEntity.replaceData', 'contentState.replaceEntityData');\n return DraftEntity.__replaceData(key, newData);\n },\n\n // ***********************************WARNING******************************\n // --- the above public API will be deprecated in the next version of Draft!\n // The methods below this line are private - don't call them directly.\n\n /**\n * Get the random key string from whatever entity was last created.\n * We need this to support the new API, as part of transitioning to put Entity\n * storage in contentState.\n */\n __getLastCreatedEntityKey: function __getLastCreatedEntityKey() {\n return '' + instanceKey;\n },\n\n /**\n * Create a DraftEntityInstance and store it for later retrieval.\n *\n * A random key string will be generated and returned. This key may\n * be used to track the entity's usage in a ContentBlock, and for\n * retrieving data about the entity at render time.\n */\n __create: function __create(type, mutability, data) {\n return DraftEntity.__add(new DraftEntityInstance({ type: type, mutability: mutability, data: data || {} }));\n },\n\n /**\n * Add an existing DraftEntityInstance to the DraftEntity map. This is\n * useful when restoring instances from the server.\n */\n __add: function __add(instance) {\n var key = '' + ++instanceKey;\n instances = instances.set(key, instance);\n return key;\n },\n\n /**\n * Retrieve the entity corresponding to the supplied key string.\n */\n __get: function __get(key) {\n var instance = instances.get(key);\n !!!instance ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unknown DraftEntity key: %s.', key) : invariant(false) : void 0;\n return instance;\n },\n\n /**\n * Entity instances are immutable. If you need to update the data for an\n * instance, this method will merge your data updates and return a new\n * instance.\n */\n __mergeData: function __mergeData(key, toMerge) {\n var instance = DraftEntity.__get(key);\n var newData = _extends({}, instance.getData(), toMerge);\n var newInstance = instance.set('data', newData);\n instances = instances.set(key, newInstance);\n return newInstance;\n },\n\n /**\n * Completely replace the data for a given instance.\n */\n __replaceData: function __replaceData(key, newData) {\n var instance = DraftEntity.__get(key);\n var newInstance = instance.set('data', newData);\n instances = instances.set(key, newInstance);\n return newInstance;\n }\n};\n\nmodule.exports = DraftEntity;","/**\n * Copyright (c) 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 * @providesModule DraftEntityInstance\n * @legacyServerCallableInstance\n * @format\n * \n */\n\n'use strict';\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 Immutable = require('immutable');\n\nvar Record = Immutable.Record;\n\n\nvar DraftEntityInstanceRecord = Record({\n type: 'TOKEN',\n mutability: 'IMMUTABLE',\n data: Object\n});\n\n/**\n * An instance of a document entity, consisting of a `type` and relevant\n * `data`, metadata about the entity.\n *\n * For instance, a \"link\" entity might provide a URI, and a \"mention\"\n * entity might provide the mentioned user's ID. These pieces of data\n * may be used when rendering the entity as part of a ContentBlock DOM\n * representation. For a link, the data would be used as an href for\n * the rendered anchor. For a mention, the ID could be used to retrieve\n * a hovercard.\n */\n\nvar DraftEntityInstance = function (_DraftEntityInstanceR) {\n _inherits(DraftEntityInstance, _DraftEntityInstanceR);\n\n function DraftEntityInstance() {\n _classCallCheck(this, DraftEntityInstance);\n\n return _possibleConstructorReturn(this, _DraftEntityInstanceR.apply(this, arguments));\n }\n\n DraftEntityInstance.prototype.getType = function getType() {\n return this.get('type');\n };\n\n DraftEntityInstance.prototype.getMutability = function getMutability() {\n return this.get('mutability');\n };\n\n DraftEntityInstance.prototype.getData = function getData() {\n return this.get('data');\n };\n\n return DraftEntityInstance;\n}(DraftEntityInstanceRecord);\n\nmodule.exports = DraftEntityInstance;","/**\n * Copyright (c) 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 * @providesModule DraftEntitySegments\n * @format\n * \n */\n\n'use strict';\n\n/**\n * Identify the range to delete from a segmented entity.\n *\n * Rules:\n *\n * Example: 'John F. Kennedy'\n *\n * - Deletion from within any non-whitespace (i.e. ['John', 'F.', 'Kennedy'])\n * will return the range of that text.\n *\n * 'John F. Kennedy' -> 'John F.'\n * ^\n *\n * - Forward deletion of whitespace will remove the following section:\n *\n * 'John F. Kennedy' -> 'John Kennedy'\n * ^\n *\n * - Backward deletion of whitespace will remove the previous section:\n *\n * 'John F. Kennedy' -> 'F. Kennedy'\n * ^\n */\nvar DraftEntitySegments = {\n getRemovalRange: function getRemovalRange(selectionStart, selectionEnd, text, entityStart, direction) {\n var segments = text.split(' ');\n segments = segments.map(function ( /*string*/segment, /*number*/ii) {\n if (direction === 'forward') {\n if (ii > 0) {\n return ' ' + segment;\n }\n } else if (ii < segments.length - 1) {\n return segment + ' ';\n }\n return segment;\n });\n\n var segmentStart = entityStart;\n var segmentEnd;\n var segment;\n var removalStart = null;\n var removalEnd = null;\n\n for (var jj = 0; jj < segments.length; jj++) {\n segment = segments[jj];\n segmentEnd = segmentStart + segment.length;\n\n // Our selection overlaps this segment.\n if (selectionStart < segmentEnd && segmentStart < selectionEnd) {\n if (removalStart !== null) {\n removalEnd = segmentEnd;\n } else {\n removalStart = segmentStart;\n removalEnd = segmentEnd;\n }\n } else if (removalStart !== null) {\n break;\n }\n\n segmentStart = segmentEnd;\n }\n\n var entityEnd = entityStart + text.length;\n var atStart = removalStart === entityStart;\n var atEnd = removalEnd === entityEnd;\n\n if (!atStart && atEnd || atStart && !atEnd) {\n if (direction === 'forward') {\n if (removalEnd !== entityEnd) {\n removalEnd++;\n }\n } else if (removalStart !== entityStart) {\n removalStart--;\n }\n }\n\n return {\n start: removalStart,\n end: removalEnd\n };\n }\n};\n\nmodule.exports = DraftEntitySegments;","/**\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 * @providesModule DraftFeatureFlags-core\n * @format\n * \n */\n\n'use strict';\n\nvar DraftFeatureFlags = {\n draft_killswitch_allow_nontextnodes: false,\n draft_segmented_entities_behavior: false,\n draft_handlebeforeinput_composed_text: false,\n draft_tree_data_support: false\n};\n\nmodule.exports = DraftFeatureFlags;","/**\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 * @providesModule DraftFeatureFlags\n * @format\n * \n */\n\n'use strict';\n\nvar DraftFeatureFlags = require('./DraftFeatureFlags-core');\n\nmodule.exports = DraftFeatureFlags;","/**\n * Copyright (c) 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 * @providesModule DraftJsDebugLogging\n */\n\n'use strict';\n\nmodule.exports = {\n logSelectionStateFailure: function logSelectionStateFailure() {\n return null;\n }\n};","/**\n * Copyright (c) 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 * @providesModule DraftModifier\n * @format\n * \n */\n\n'use strict';\n\nvar CharacterMetadata = require('./CharacterMetadata');\nvar ContentStateInlineStyle = require('./ContentStateInlineStyle');\nvar DraftFeatureFlags = require('./DraftFeatureFlags');\nvar Immutable = require('immutable');\n\nvar applyEntityToContentState = require('./applyEntityToContentState');\nvar getCharacterRemovalRange = require('./getCharacterRemovalRange');\nvar getContentStateFragment = require('./getContentStateFragment');\nvar insertFragmentIntoContentState = require('./insertFragmentIntoContentState');\nvar insertTextIntoContentState = require('./insertTextIntoContentState');\nvar invariant = require('fbjs/lib/invariant');\nvar modifyBlockForContentState = require('./modifyBlockForContentState');\nvar removeEntitiesAtEdges = require('./removeEntitiesAtEdges');\nvar removeRangeFromContentState = require('./removeRangeFromContentState');\nvar splitBlockInContentState = require('./splitBlockInContentState');\n\nvar OrderedSet = Immutable.OrderedSet;\n\n/**\n * `DraftModifier` provides a set of convenience methods that apply\n * modifications to a `ContentState` object based on a target `SelectionState`.\n *\n * Any change to a `ContentState` should be decomposable into a series of\n * transaction functions that apply the required changes and return output\n * `ContentState` objects.\n *\n * These functions encapsulate some of the most common transaction sequences.\n */\n\nvar DraftModifier = {\n replaceText: function replaceText(contentState, rangeToReplace, text, inlineStyle, entityKey) {\n var withoutEntities = removeEntitiesAtEdges(contentState, rangeToReplace);\n var withoutText = removeRangeFromContentState(withoutEntities, rangeToReplace);\n\n var character = CharacterMetadata.create({\n style: inlineStyle || OrderedSet(),\n entity: entityKey || null\n });\n\n return insertTextIntoContentState(withoutText, withoutText.getSelectionAfter(), text, character);\n },\n\n insertText: function insertText(contentState, targetRange, text, inlineStyle, entityKey) {\n !targetRange.isCollapsed() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Target range must be collapsed for `insertText`.') : invariant(false) : void 0;\n return DraftModifier.replaceText(contentState, targetRange, text, inlineStyle, entityKey);\n },\n\n moveText: function moveText(contentState, removalRange, targetRange) {\n var movedFragment = getContentStateFragment(contentState, removalRange);\n\n var afterRemoval = DraftModifier.removeRange(contentState, removalRange, 'backward');\n\n return DraftModifier.replaceWithFragment(afterRemoval, targetRange, movedFragment);\n },\n\n replaceWithFragment: function replaceWithFragment(contentState, targetRange, fragment) {\n var withoutEntities = removeEntitiesAtEdges(contentState, targetRange);\n var withoutText = removeRangeFromContentState(withoutEntities, targetRange);\n\n return insertFragmentIntoContentState(withoutText, withoutText.getSelectionAfter(), fragment);\n },\n\n removeRange: function removeRange(contentState, rangeToRemove, removalDirection) {\n var startKey = void 0,\n endKey = void 0,\n startBlock = void 0,\n endBlock = void 0;\n if (rangeToRemove.getIsBackward()) {\n rangeToRemove = rangeToRemove.merge({\n anchorKey: rangeToRemove.getFocusKey(),\n anchorOffset: rangeToRemove.getFocusOffset(),\n focusKey: rangeToRemove.getAnchorKey(),\n focusOffset: rangeToRemove.getAnchorOffset(),\n isBackward: false\n });\n }\n startKey = rangeToRemove.getAnchorKey();\n endKey = rangeToRemove.getFocusKey();\n startBlock = contentState.getBlockForKey(startKey);\n endBlock = contentState.getBlockForKey(endKey);\n var startOffset = rangeToRemove.getStartOffset();\n var endOffset = rangeToRemove.getEndOffset();\n\n var startEntityKey = startBlock.getEntityAt(startOffset);\n var endEntityKey = endBlock.getEntityAt(endOffset - 1);\n\n // Check whether the selection state overlaps with a single entity.\n // If so, try to remove the appropriate substring of the entity text.\n if (startKey === endKey) {\n if (startEntityKey && startEntityKey === endEntityKey) {\n var _adjustedRemovalRange = getCharacterRemovalRange(contentState.getEntityMap(), startBlock, endBlock, rangeToRemove, removalDirection);\n return removeRangeFromContentState(contentState, _adjustedRemovalRange);\n }\n }\n var adjustedRemovalRange = rangeToRemove;\n if (DraftFeatureFlags.draft_segmented_entities_behavior) {\n // Adjust the selection to properly delete segemented and immutable\n // entities\n adjustedRemovalRange = getCharacterRemovalRange(contentState.getEntityMap(), startBlock, endBlock, rangeToRemove, removalDirection);\n }\n\n var withoutEntities = removeEntitiesAtEdges(contentState, adjustedRemovalRange);\n return removeRangeFromContentState(withoutEntities, adjustedRemovalRange);\n },\n\n splitBlock: function splitBlock(contentState, selectionState) {\n var withoutEntities = removeEntitiesAtEdges(contentState, selectionState);\n var withoutText = removeRangeFromContentState(withoutEntities, selectionState);\n\n return splitBlockInContentState(withoutText, withoutText.getSelectionAfter());\n },\n\n applyInlineStyle: function applyInlineStyle(contentState, selectionState, inlineStyle) {\n return ContentStateInlineStyle.add(contentState, selectionState, inlineStyle);\n },\n\n removeInlineStyle: function removeInlineStyle(contentState, selectionState, inlineStyle) {\n return ContentStateInlineStyle.remove(contentState, selectionState, inlineStyle);\n },\n\n setBlockType: function setBlockType(contentState, selectionState, blockType) {\n return modifyBlockForContentState(contentState, selectionState, function (block) {\n return block.merge({ type: blockType, depth: 0 });\n });\n },\n\n setBlockData: function setBlockData(contentState, selectionState, blockData) {\n return modifyBlockForContentState(contentState, selectionState, function (block) {\n return block.merge({ data: blockData });\n });\n },\n\n mergeBlockData: function mergeBlockData(contentState, selectionState, blockData) {\n return modifyBlockForContentState(contentState, selectionState, function (block) {\n return block.merge({ data: block.getData().merge(blockData) });\n });\n },\n\n applyEntity: function applyEntity(contentState, selectionState, entityKey) {\n var withoutEntities = removeEntitiesAtEdges(contentState, selectionState);\n return applyEntityToContentState(withoutEntities, selectionState, entityKey);\n }\n};\n\nmodule.exports = DraftModifier;","/**\n * Copyright (c) 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 * @providesModule DraftOffsetKey\n * @format\n * \n */\n\n'use strict';\n\nvar KEY_DELIMITER = '-';\n\nvar DraftOffsetKey = {\n encode: function encode(blockKey, decoratorKey, leafKey) {\n return blockKey + KEY_DELIMITER + decoratorKey + KEY_DELIMITER + leafKey;\n },\n\n decode: function decode(offsetKey) {\n var _offsetKey$split = offsetKey.split(KEY_DELIMITER),\n blockKey = _offsetKey$split[0],\n decoratorKey = _offsetKey$split[1],\n leafKey = _offsetKey$split[2];\n\n return {\n blockKey: blockKey,\n decoratorKey: parseInt(decoratorKey, 10),\n leafKey: parseInt(leafKey, 10)\n };\n }\n};\n\nmodule.exports = DraftOffsetKey;","/**\n * Copyright (c) 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 * @providesModule DraftPasteProcessor\n * @format\n * \n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar _extends = _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 CharacterMetadata = require('./CharacterMetadata');\nvar ContentBlock = require('./ContentBlock');\nvar ContentBlockNode = require('./ContentBlockNode');\nvar DraftFeatureFlags = require('./DraftFeatureFlags');\nvar Immutable = require('immutable');\n\nvar convertFromHTMLtoContentBlocks = require('./convertFromHTMLToContentBlocks');\nvar generateRandomKey = require('./generateRandomKey');\nvar getSafeBodyFromHTML = require('./getSafeBodyFromHTML');\nvar sanitizeDraftText = require('./sanitizeDraftText');\n\nvar List = Immutable.List,\n Repeat = Immutable.Repeat;\n\n\nvar experimentalTreeDataSupport = DraftFeatureFlags.draft_tree_data_support;\nvar ContentBlockRecord = experimentalTreeDataSupport ? ContentBlockNode : ContentBlock;\n\nvar DraftPasteProcessor = {\n processHTML: function processHTML(html, blockRenderMap) {\n return convertFromHTMLtoContentBlocks(html, getSafeBodyFromHTML, blockRenderMap);\n },\n processText: function processText(textBlocks, character, type) {\n return textBlocks.reduce(function (acc, textLine, index) {\n textLine = sanitizeDraftText(textLine);\n var key = generateRandomKey();\n\n var blockNodeConfig = {\n key: key,\n type: type,\n text: textLine,\n characterList: List(Repeat(character, textLine.length))\n };\n\n // next block updates previous block\n if (experimentalTreeDataSupport && index !== 0) {\n var prevSiblingIndex = index - 1;\n // update previous block\n var previousBlock = acc[prevSiblingIndex] = acc[prevSiblingIndex].merge({\n nextSibling: key\n });\n blockNodeConfig = _extends({}, blockNodeConfig, {\n prevSibling: previousBlock.getKey()\n });\n }\n\n acc.push(new ContentBlockRecord(blockNodeConfig));\n\n return acc;\n }, []);\n }\n};\n\nmodule.exports = DraftPasteProcessor;","/**\n * Copyright (c) 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 * @providesModule DraftRemovableWord\n * @format\n * \n */\n\n'use strict';\n\nvar TokenizeUtil = require('fbjs/lib/TokenizeUtil');\n\nvar punctuation = TokenizeUtil.getPunctuation();\n\n// The apostrophe and curly single quotes behave in a curious way: when\n// surrounded on both sides by word characters, they behave as word chars; when\n// either neighbor is punctuation or an end of the string, they behave as\n// punctuation.\nvar CHAMELEON_CHARS = '[\\'\\u2018\\u2019]';\n\n// Remove the underscore, which should count as part of the removable word. The\n// \"chameleon chars\" also count as punctuation in this regex.\nvar WHITESPACE_AND_PUNCTUATION = '\\\\s|(?![_])' + punctuation;\n\nvar DELETE_STRING = '^' + '(?:' + WHITESPACE_AND_PUNCTUATION + ')*' + '(?:' + CHAMELEON_CHARS + '|(?!' + WHITESPACE_AND_PUNCTUATION + ').)*' + '(?:(?!' + WHITESPACE_AND_PUNCTUATION + ').)';\nvar DELETE_REGEX = new RegExp(DELETE_STRING);\n\nvar BACKSPACE_STRING = '(?:(?!' + WHITESPACE_AND_PUNCTUATION + ').)' + '(?:' + CHAMELEON_CHARS + '|(?!' + WHITESPACE_AND_PUNCTUATION + ').)*' + '(?:' + WHITESPACE_AND_PUNCTUATION + ')*' + '$';\nvar BACKSPACE_REGEX = new RegExp(BACKSPACE_STRING);\n\nfunction getRemovableWord(text, isBackward) {\n var matches = isBackward ? BACKSPACE_REGEX.exec(text) : DELETE_REGEX.exec(text);\n return matches ? matches[0] : text;\n}\n\nvar DraftRemovableWord = {\n getBackward: function getBackward(text) {\n return getRemovableWord(text, true);\n },\n\n getForward: function getForward(text) {\n return getRemovableWord(text, false);\n }\n};\n\nmodule.exports = DraftRemovableWord;","/**\n * Copyright (c) 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 * @providesModule DraftStringKey\n * @format\n * \n */\n\n'use strict';\n\nvar DraftStringKey = {\n stringify: function stringify(key) {\n return '_' + String(key);\n },\n\n unstringify: function unstringify(key) {\n return key.slice(1);\n }\n};\n\nmodule.exports = DraftStringKey;","'use strict';\n\nvar _assign = require('object-assign');\n\nvar _extends = _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\n/**\n * Copyright (c) 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 * @providesModule DraftTreeAdapter\n * @format\n * \n *\n * This is unstable and not part of the public API and should not be used by\n * production systems. This file may be update/removed without notice.\n */\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar traverseInDepthOrder = function traverseInDepthOrder(blocks, fn) {\n var stack = [].concat(blocks).reverse();\n while (stack.length) {\n var _block = stack.pop();\n\n fn(_block);\n\n var children = _block.children;\n\n !Array.isArray(children) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Invalid tree raw block') : invariant(false) : void 0;\n\n stack = stack.concat([].concat(children.reverse()));\n }\n};\n\nvar isListBlock = function isListBlock(block) {\n if (!(block && block.type)) {\n return false;\n }\n var type = block.type;\n\n return type === 'unordered-list-item' || type === 'ordered-list-item';\n};\n\nvar addDepthToChildren = function addDepthToChildren(block) {\n if (Array.isArray(block.children)) {\n block.children = block.children.map(function (child) {\n return child.type === block.type ? _extends({}, child, { depth: (block.depth || 0) + 1 }) : child;\n });\n }\n};\n\n/**\n * This adapter is intended to be be used as an adapter to draft tree data\n *\n * draft state <=====> draft tree state\n */\nvar DraftTreeAdapter = {\n /**\n * Converts from a tree raw state back to draft raw state\n */\n fromRawTreeStateToRawState: function fromRawTreeStateToRawState(draftTreeState) {\n var blocks = draftTreeState.blocks;\n\n var transformedBlocks = [];\n\n !Array.isArray(blocks) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Invalid raw state') : invariant(false) : void 0;\n\n if (!Array.isArray(blocks) || !blocks.length) {\n return draftTreeState;\n }\n\n traverseInDepthOrder(blocks, function (block) {\n var newBlock = _extends({}, block);\n\n if (isListBlock(block)) {\n newBlock.depth = newBlock.depth || 0;\n addDepthToChildren(block);\n }\n\n delete newBlock.children;\n\n transformedBlocks.push(newBlock);\n });\n\n draftTreeState.blocks = transformedBlocks;\n\n return _extends({}, draftTreeState, {\n blocks: transformedBlocks\n });\n },\n\n\n /**\n * Converts from draft raw state to tree draft state\n */\n fromRawStateToRawTreeState: function fromRawStateToRawTreeState(draftState) {\n var lastListDepthCacheRef = {};\n var transformedBlocks = [];\n\n draftState.blocks.forEach(function (block) {\n var isList = isListBlock(block);\n var depth = block.depth || 0;\n var treeBlock = _extends({}, block, {\n children: []\n });\n\n if (!isList) {\n // reset the cache path\n lastListDepthCacheRef = {};\n transformedBlocks.push(treeBlock);\n return;\n }\n\n // update our depth cache reference path\n lastListDepthCacheRef[depth] = treeBlock;\n\n // if we are greater than zero we must have seen a parent already\n if (depth > 0) {\n var parent = lastListDepthCacheRef[depth - 1];\n\n !parent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Invalid depth for RawDraftContentBlock') : invariant(false) : void 0;\n\n // push nested list blocks\n parent.children.push(treeBlock);\n return;\n }\n\n // push root list blocks\n transformedBlocks.push(treeBlock);\n });\n\n return _extends({}, draftState, {\n blocks: transformedBlocks\n });\n }\n};\n\nmodule.exports = DraftTreeAdapter;","/**\n * Copyright (c) 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 * @providesModule EditorBidiService\n * @format\n * \n */\n\n'use strict';\n\nvar Immutable = require('immutable');\nvar UnicodeBidiService = require('fbjs/lib/UnicodeBidiService');\n\nvar nullthrows = require('fbjs/lib/nullthrows');\n\nvar OrderedMap = Immutable.OrderedMap;\n\n\nvar bidiService;\n\nvar EditorBidiService = {\n getDirectionMap: function getDirectionMap(content, prevBidiMap) {\n if (!bidiService) {\n bidiService = new UnicodeBidiService();\n } else {\n bidiService.reset();\n }\n\n var blockMap = content.getBlockMap();\n var nextBidi = blockMap.valueSeq().map(function (block) {\n return nullthrows(bidiService).getDirection(block.getText());\n });\n var bidiMap = OrderedMap(blockMap.keySeq().zip(nextBidi));\n\n if (prevBidiMap != null && Immutable.is(prevBidiMap, bidiMap)) {\n return prevBidiMap;\n }\n\n return bidiMap;\n }\n};\n\nmodule.exports = EditorBidiService;","/**\n * Copyright (c) 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 * @providesModule EditorState\n * @format\n * \n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar _extends = _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\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar BlockTree = require('./BlockTree');\nvar ContentState = require('./ContentState');\nvar EditorBidiService = require('./EditorBidiService');\nvar Immutable = require('immutable');\nvar SelectionState = require('./SelectionState');\n\nvar OrderedSet = Immutable.OrderedSet,\n Record = Immutable.Record,\n Stack = Immutable.Stack;\n\n\nvar defaultRecord = {\n allowUndo: true,\n currentContent: null,\n decorator: null,\n directionMap: null,\n forceSelection: false,\n inCompositionMode: false,\n inlineStyleOverride: null,\n lastChangeType: null,\n nativelyRenderedContent: null,\n redoStack: Stack(),\n selection: null,\n treeMap: null,\n undoStack: Stack()\n};\n\nvar EditorStateRecord = Record(defaultRecord);\n\nvar EditorState = function () {\n EditorState.createEmpty = function createEmpty(decorator) {\n return EditorState.createWithContent(ContentState.createFromText(''), decorator);\n };\n\n EditorState.createWithContent = function createWithContent(contentState, decorator) {\n var firstKey = contentState.getBlockMap().first().getKey();\n return EditorState.create({\n currentContent: contentState,\n undoStack: Stack(),\n redoStack: Stack(),\n decorator: decorator || null,\n selection: SelectionState.createEmpty(firstKey)\n });\n };\n\n EditorState.create = function create(config) {\n var currentContent = config.currentContent,\n decorator = config.decorator;\n\n var recordConfig = _extends({}, config, {\n treeMap: generateNewTreeMap(currentContent, decorator),\n directionMap: EditorBidiService.getDirectionMap(currentContent)\n });\n return new EditorState(new EditorStateRecord(recordConfig));\n };\n\n EditorState.set = function set(editorState, put) {\n var map = editorState.getImmutable().withMutations(function (state) {\n var existingDecorator = state.get('decorator');\n var decorator = existingDecorator;\n if (put.decorator === null) {\n decorator = null;\n } else if (put.decorator) {\n decorator = put.decorator;\n }\n\n var newContent = put.currentContent || editorState.getCurrentContent();\n\n if (decorator !== existingDecorator) {\n var treeMap = state.get('treeMap');\n var newTreeMap;\n if (decorator && existingDecorator) {\n newTreeMap = regenerateTreeForNewDecorator(newContent, newContent.getBlockMap(), treeMap, decorator, existingDecorator);\n } else {\n newTreeMap = generateNewTreeMap(newContent, decorator);\n }\n\n state.merge({\n decorator: decorator,\n treeMap: newTreeMap,\n nativelyRenderedContent: null\n });\n return;\n }\n\n var existingContent = editorState.getCurrentContent();\n if (newContent !== existingContent) {\n state.set('treeMap', regenerateTreeForNewBlocks(editorState, newContent.getBlockMap(), newContent.getEntityMap(), decorator));\n }\n\n state.merge(put);\n });\n\n return new EditorState(map);\n };\n\n EditorState.prototype.toJS = function toJS() {\n return this.getImmutable().toJS();\n };\n\n EditorState.prototype.getAllowUndo = function getAllowUndo() {\n return this.getImmutable().get('allowUndo');\n };\n\n EditorState.prototype.getCurrentContent = function getCurrentContent() {\n return this.getImmutable().get('currentContent');\n };\n\n EditorState.prototype.getUndoStack = function getUndoStack() {\n return this.getImmutable().get('undoStack');\n };\n\n EditorState.prototype.getRedoStack = function getRedoStack() {\n return this.getImmutable().get('redoStack');\n };\n\n EditorState.prototype.getSelection = function getSelection() {\n return this.getImmutable().get('selection');\n };\n\n EditorState.prototype.getDecorator = function getDecorator() {\n return this.getImmutable().get('decorator');\n };\n\n EditorState.prototype.isInCompositionMode = function isInCompositionMode() {\n return this.getImmutable().get('inCompositionMode');\n };\n\n EditorState.prototype.mustForceSelection = function mustForceSelection() {\n return this.getImmutable().get('forceSelection');\n };\n\n EditorState.prototype.getNativelyRenderedContent = function getNativelyRenderedContent() {\n return this.getImmutable().get('nativelyRenderedContent');\n };\n\n EditorState.prototype.getLastChangeType = function getLastChangeType() {\n return this.getImmutable().get('lastChangeType');\n };\n\n /**\n * While editing, the user may apply inline style commands with a collapsed\n * cursor, intending to type text that adopts the specified style. In this\n * case, we track the specified style as an \"override\" that takes precedence\n * over the inline style of the text adjacent to the cursor.\n *\n * If null, there is no override in place.\n */\n\n\n EditorState.prototype.getInlineStyleOverride = function getInlineStyleOverride() {\n return this.getImmutable().get('inlineStyleOverride');\n };\n\n EditorState.setInlineStyleOverride = function setInlineStyleOverride(editorState, inlineStyleOverride) {\n return EditorState.set(editorState, { inlineStyleOverride: inlineStyleOverride });\n };\n\n /**\n * Get the appropriate inline style for the editor state. If an\n * override is in place, use it. Otherwise, the current style is\n * based on the location of the selection state.\n */\n\n\n EditorState.prototype.getCurrentInlineStyle = function getCurrentInlineStyle() {\n var override = this.getInlineStyleOverride();\n if (override != null) {\n return override;\n }\n\n var content = this.getCurrentContent();\n var selection = this.getSelection();\n\n if (selection.isCollapsed()) {\n return getInlineStyleForCollapsedSelection(content, selection);\n }\n\n return getInlineStyleForNonCollapsedSelection(content, selection);\n };\n\n EditorState.prototype.getBlockTree = function getBlockTree(blockKey) {\n return this.getImmutable().getIn(['treeMap', blockKey]);\n };\n\n EditorState.prototype.isSelectionAtStartOfContent = function isSelectionAtStartOfContent() {\n var firstKey = this.getCurrentContent().getBlockMap().first().getKey();\n return this.getSelection().hasEdgeWithin(firstKey, 0, 0);\n };\n\n EditorState.prototype.isSelectionAtEndOfContent = function isSelectionAtEndOfContent() {\n var content = this.getCurrentContent();\n var blockMap = content.getBlockMap();\n var last = blockMap.last();\n var end = last.getLength();\n return this.getSelection().hasEdgeWithin(last.getKey(), end, end);\n };\n\n EditorState.prototype.getDirectionMap = function getDirectionMap() {\n return this.getImmutable().get('directionMap');\n };\n\n /**\n * Incorporate native DOM selection changes into the EditorState. This\n * method can be used when we simply want to accept whatever the DOM\n * has given us to represent selection, and we do not need to re-render\n * the editor.\n *\n * To forcibly move the DOM selection, see `EditorState.forceSelection`.\n */\n\n\n EditorState.acceptSelection = function acceptSelection(editorState, selection) {\n return updateSelection(editorState, selection, false);\n };\n\n /**\n * At times, we need to force the DOM selection to be where we\n * need it to be. This can occur when the anchor or focus nodes\n * are non-text nodes, for instance. In this case, we want to trigger\n * a re-render of the editor, which in turn forces selection into\n * the correct place in the DOM. The `forceSelection` method\n * accomplishes this.\n *\n * This method should be used in cases where you need to explicitly\n * move the DOM selection from one place to another without a change\n * in ContentState.\n */\n\n\n EditorState.forceSelection = function forceSelection(editorState, selection) {\n if (!selection.getHasFocus()) {\n selection = selection.set('hasFocus', true);\n }\n return updateSelection(editorState, selection, true);\n };\n\n /**\n * Move selection to the end of the editor without forcing focus.\n */\n\n\n EditorState.moveSelectionToEnd = function moveSelectionToEnd(editorState) {\n var content = editorState.getCurrentContent();\n var lastBlock = content.getLastBlock();\n var lastKey = lastBlock.getKey();\n var length = lastBlock.getLength();\n\n return EditorState.acceptSelection(editorState, new SelectionState({\n anchorKey: lastKey,\n anchorOffset: length,\n focusKey: lastKey,\n focusOffset: length,\n isBackward: false\n }));\n };\n\n /**\n * Force focus to the end of the editor. This is useful in scenarios\n * where we want to programmatically focus the input and it makes sense\n * to allow the user to continue working seamlessly.\n */\n\n\n EditorState.moveFocusToEnd = function moveFocusToEnd(editorState) {\n var afterSelectionMove = EditorState.moveSelectionToEnd(editorState);\n return EditorState.forceSelection(afterSelectionMove, afterSelectionMove.getSelection());\n };\n\n /**\n * Push the current ContentState onto the undo stack if it should be\n * considered a boundary state, and set the provided ContentState as the\n * new current content.\n */\n\n\n EditorState.push = function push(editorState, contentState, changeType) {\n if (editorState.getCurrentContent() === contentState) {\n return editorState;\n }\n\n var forceSelection = changeType !== 'insert-characters';\n var directionMap = EditorBidiService.getDirectionMap(contentState, editorState.getDirectionMap());\n\n if (!editorState.getAllowUndo()) {\n return EditorState.set(editorState, {\n currentContent: contentState,\n directionMap: directionMap,\n lastChangeType: changeType,\n selection: contentState.getSelectionAfter(),\n forceSelection: forceSelection,\n inlineStyleOverride: null\n });\n }\n\n var selection = editorState.getSelection();\n var currentContent = editorState.getCurrentContent();\n var undoStack = editorState.getUndoStack();\n var newContent = contentState;\n\n if (selection !== currentContent.getSelectionAfter() || mustBecomeBoundary(editorState, changeType)) {\n undoStack = undoStack.push(currentContent);\n newContent = newContent.set('selectionBefore', selection);\n } else if (changeType === 'insert-characters' || changeType === 'backspace-character' || changeType === 'delete-character') {\n // Preserve the previous selection.\n newContent = newContent.set('selectionBefore', currentContent.getSelectionBefore());\n }\n\n var inlineStyleOverride = editorState.getInlineStyleOverride();\n\n // Don't discard inline style overrides for the following change types:\n var overrideChangeTypes = ['adjust-depth', 'change-block-type', 'split-block'];\n\n if (overrideChangeTypes.indexOf(changeType) === -1) {\n inlineStyleOverride = null;\n }\n\n var editorStateChanges = {\n currentContent: newContent,\n directionMap: directionMap,\n undoStack: undoStack,\n redoStack: Stack(),\n lastChangeType: changeType,\n selection: contentState.getSelectionAfter(),\n forceSelection: forceSelection,\n inlineStyleOverride: inlineStyleOverride\n };\n\n return EditorState.set(editorState, editorStateChanges);\n };\n\n /**\n * Make the top ContentState in the undo stack the new current content and\n * push the current content onto the redo stack.\n */\n\n\n EditorState.undo = function undo(editorState) {\n if (!editorState.getAllowUndo()) {\n return editorState;\n }\n\n var undoStack = editorState.getUndoStack();\n var newCurrentContent = undoStack.peek();\n if (!newCurrentContent) {\n return editorState;\n }\n\n var currentContent = editorState.getCurrentContent();\n var directionMap = EditorBidiService.getDirectionMap(newCurrentContent, editorState.getDirectionMap());\n\n return EditorState.set(editorState, {\n currentContent: newCurrentContent,\n directionMap: directionMap,\n undoStack: undoStack.shift(),\n redoStack: editorState.getRedoStack().push(currentContent),\n forceSelection: true,\n inlineStyleOverride: null,\n lastChangeType: 'undo',\n nativelyRenderedContent: null,\n selection: currentContent.getSelectionBefore()\n });\n };\n\n /**\n * Make the top ContentState in the redo stack the new current content and\n * push the current content onto the undo stack.\n */\n\n\n EditorState.redo = function redo(editorState) {\n if (!editorState.getAllowUndo()) {\n return editorState;\n }\n\n var redoStack = editorState.getRedoStack();\n var newCurrentContent = redoStack.peek();\n if (!newCurrentContent) {\n return editorState;\n }\n\n var currentContent = editorState.getCurrentContent();\n var directionMap = EditorBidiService.getDirectionMap(newCurrentContent, editorState.getDirectionMap());\n\n return EditorState.set(editorState, {\n currentContent: newCurrentContent,\n directionMap: directionMap,\n undoStack: editorState.getUndoStack().push(currentContent),\n redoStack: redoStack.shift(),\n forceSelection: true,\n inlineStyleOverride: null,\n lastChangeType: 'redo',\n nativelyRenderedContent: null,\n selection: newCurrentContent.getSelectionAfter()\n });\n };\n\n /**\n * Not for public consumption.\n */\n\n\n function EditorState(immutable) {\n _classCallCheck(this, EditorState);\n\n this._immutable = immutable;\n }\n\n /**\n * Not for public consumption.\n */\n\n\n EditorState.prototype.getImmutable = function getImmutable() {\n return this._immutable;\n };\n\n return EditorState;\n}();\n\n/**\n * Set the supplied SelectionState as the new current selection, and set\n * the `force` flag to trigger manual selection placement by the view.\n */\n\n\nfunction updateSelection(editorState, selection, forceSelection) {\n return EditorState.set(editorState, {\n selection: selection,\n forceSelection: forceSelection,\n nativelyRenderedContent: null,\n inlineStyleOverride: null\n });\n}\n\n/**\n * Regenerate the entire tree map for a given ContentState and decorator.\n * Returns an OrderedMap that maps all available ContentBlock objects.\n */\nfunction generateNewTreeMap(contentState, decorator) {\n return contentState.getBlockMap().map(function (block) {\n return BlockTree.generate(contentState, block, decorator);\n }).toOrderedMap();\n}\n\n/**\n * Regenerate tree map objects for all ContentBlocks that have changed\n * between the current editorState and newContent. Returns an OrderedMap\n * with only changed regenerated tree map objects.\n */\nfunction regenerateTreeForNewBlocks(editorState, newBlockMap, newEntityMap, decorator) {\n var contentState = editorState.getCurrentContent().set('entityMap', newEntityMap);\n var prevBlockMap = contentState.getBlockMap();\n var prevTreeMap = editorState.getImmutable().get('treeMap');\n return prevTreeMap.merge(newBlockMap.toSeq().filter(function (block, key) {\n return block !== prevBlockMap.get(key);\n }).map(function (block) {\n return BlockTree.generate(contentState, block, decorator);\n }));\n}\n\n/**\n * Generate tree map objects for a new decorator object, preserving any\n * decorations that are unchanged from the previous decorator.\n *\n * Note that in order for this to perform optimally, decoration Lists for\n * decorators should be preserved when possible to allow for direct immutable\n * List comparison.\n */\nfunction regenerateTreeForNewDecorator(content, blockMap, previousTreeMap, decorator, existingDecorator) {\n return previousTreeMap.merge(blockMap.toSeq().filter(function (block) {\n return decorator.getDecorations(block, content) !== existingDecorator.getDecorations(block, content);\n }).map(function (block) {\n return BlockTree.generate(content, block, decorator);\n }));\n}\n\n/**\n * Return whether a change should be considered a boundary state, given\n * the previous change type. Allows us to discard potential boundary states\n * during standard typing or deletion behavior.\n */\nfunction mustBecomeBoundary(editorState, changeType) {\n var lastChangeType = editorState.getLastChangeType();\n return changeType !== lastChangeType || changeType !== 'insert-characters' && changeType !== 'backspace-character' && changeType !== 'delete-character';\n}\n\nfunction getInlineStyleForCollapsedSelection(content, selection) {\n var startKey = selection.getStartKey();\n var startOffset = selection.getStartOffset();\n var startBlock = content.getBlockForKey(startKey);\n\n // If the cursor is not at the start of the block, look backward to\n // preserve the style of the preceding character.\n if (startOffset > 0) {\n return startBlock.getInlineStyleAt(startOffset - 1);\n }\n\n // The caret is at position zero in this block. If the block has any\n // text at all, use the style of the first character.\n if (startBlock.getLength()) {\n return startBlock.getInlineStyleAt(0);\n }\n\n // Otherwise, look upward in the document to find the closest character.\n return lookUpwardForInlineStyle(content, startKey);\n}\n\nfunction getInlineStyleForNonCollapsedSelection(content, selection) {\n var startKey = selection.getStartKey();\n var startOffset = selection.getStartOffset();\n var startBlock = content.getBlockForKey(startKey);\n\n // If there is a character just inside the selection, use its style.\n if (startOffset < startBlock.getLength()) {\n return startBlock.getInlineStyleAt(startOffset);\n }\n\n // Check if the selection at the end of a non-empty block. Use the last\n // style in the block.\n if (startOffset > 0) {\n return startBlock.getInlineStyleAt(startOffset - 1);\n }\n\n // Otherwise, look upward in the document to find the closest character.\n return lookUpwardForInlineStyle(content, startKey);\n}\n\nfunction lookUpwardForInlineStyle(content, fromKey) {\n var lastNonEmpty = content.getBlockMap().reverse().skipUntil(function (_, k) {\n return k === fromKey;\n }).skip(1).skipUntil(function (block, _) {\n return block.getLength();\n }).first();\n\n if (lastNonEmpty) return lastNonEmpty.getInlineStyleAt(lastNonEmpty.getLength() - 1);\n return OrderedSet();\n}\n\nmodule.exports = EditorState;","/**\n * Copyright (c) 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 * @providesModule KeyBindingUtil\n * @format\n * \n */\n\n'use strict';\n\nvar UserAgent = require('fbjs/lib/UserAgent');\n\nvar isOSX = UserAgent.isPlatform('Mac OS X');\n\nvar KeyBindingUtil = {\n /**\n * Check whether the ctrlKey modifier is *not* being used in conjunction with\n * the altKey modifier. If they are combined, the result is an `altGraph`\n * key modifier, which should not be handled by this set of key bindings.\n */\n isCtrlKeyCommand: function isCtrlKeyCommand(e) {\n return !!e.ctrlKey && !e.altKey;\n },\n\n isOptionKeyCommand: function isOptionKeyCommand(e) {\n return isOSX && e.altKey;\n },\n\n hasCommandModifier: function hasCommandModifier(e) {\n return isOSX ? !!e.metaKey && !e.altKey : KeyBindingUtil.isCtrlKeyCommand(e);\n }\n};\n\nmodule.exports = KeyBindingUtil;","/**\n * Copyright (c) 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 * @providesModule RichTextEditorUtil\n * @format\n * \n */\n\n'use strict';\n\nvar DraftModifier = require('./DraftModifier');\nvar EditorState = require('./EditorState');\nvar SelectionState = require('./SelectionState');\n\nvar adjustBlockDepthForContentState = require('./adjustBlockDepthForContentState');\nvar nullthrows = require('fbjs/lib/nullthrows');\n\nvar RichTextEditorUtil = {\n currentBlockContainsLink: function currentBlockContainsLink(editorState) {\n var selection = editorState.getSelection();\n var contentState = editorState.getCurrentContent();\n var entityMap = contentState.getEntityMap();\n return contentState.getBlockForKey(selection.getAnchorKey()).getCharacterList().slice(selection.getStartOffset(), selection.getEndOffset()).some(function (v) {\n var entity = v.getEntity();\n return !!entity && entityMap.__get(entity).getType() === 'LINK';\n });\n },\n\n getCurrentBlockType: function getCurrentBlockType(editorState) {\n var selection = editorState.getSelection();\n return editorState.getCurrentContent().getBlockForKey(selection.getStartKey()).getType();\n },\n\n getDataObjectForLinkURL: function getDataObjectForLinkURL(uri) {\n return { url: uri.toString() };\n },\n\n handleKeyCommand: function handleKeyCommand(editorState, command) {\n switch (command) {\n case 'bold':\n return RichTextEditorUtil.toggleInlineStyle(editorState, 'BOLD');\n case 'italic':\n return RichTextEditorUtil.toggleInlineStyle(editorState, 'ITALIC');\n case 'underline':\n return RichTextEditorUtil.toggleInlineStyle(editorState, 'UNDERLINE');\n case 'code':\n return RichTextEditorUtil.toggleCode(editorState);\n case 'backspace':\n case 'backspace-word':\n case 'backspace-to-start-of-line':\n return RichTextEditorUtil.onBackspace(editorState);\n case 'delete':\n case 'delete-word':\n case 'delete-to-end-of-block':\n return RichTextEditorUtil.onDelete(editorState);\n default:\n // they may have custom editor commands; ignore those\n return null;\n }\n },\n\n insertSoftNewline: function insertSoftNewline(editorState) {\n var contentState = DraftModifier.insertText(editorState.getCurrentContent(), editorState.getSelection(), '\\n', editorState.getCurrentInlineStyle(), null);\n\n var newEditorState = EditorState.push(editorState, contentState, 'insert-characters');\n\n return EditorState.forceSelection(newEditorState, contentState.getSelectionAfter());\n },\n\n /**\n * For collapsed selections at the start of styled blocks, backspace should\n * just remove the existing style.\n */\n onBackspace: function onBackspace(editorState) {\n var selection = editorState.getSelection();\n if (!selection.isCollapsed() || selection.getAnchorOffset() || selection.getFocusOffset()) {\n return null;\n }\n\n // First, try to remove a preceding atomic block.\n var content = editorState.getCurrentContent();\n var startKey = selection.getStartKey();\n var blockBefore = content.getBlockBefore(startKey);\n\n if (blockBefore && blockBefore.getType() === 'atomic') {\n var blockMap = content.getBlockMap()['delete'](blockBefore.getKey());\n var withoutAtomicBlock = content.merge({\n blockMap: blockMap,\n selectionAfter: selection\n });\n if (withoutAtomicBlock !== content) {\n return EditorState.push(editorState, withoutAtomicBlock, 'remove-range');\n }\n }\n\n // If that doesn't succeed, try to remove the current block style.\n var withoutBlockStyle = RichTextEditorUtil.tryToRemoveBlockStyle(editorState);\n\n if (withoutBlockStyle) {\n return EditorState.push(editorState, withoutBlockStyle, 'change-block-type');\n }\n\n return null;\n },\n\n onDelete: function onDelete(editorState) {\n var selection = editorState.getSelection();\n if (!selection.isCollapsed()) {\n return null;\n }\n\n var content = editorState.getCurrentContent();\n var startKey = selection.getStartKey();\n var block = content.getBlockForKey(startKey);\n var length = block.getLength();\n\n // The cursor is somewhere within the text. Behave normally.\n if (selection.getStartOffset() < length) {\n return null;\n }\n\n var blockAfter = content.getBlockAfter(startKey);\n\n if (!blockAfter || blockAfter.getType() !== 'atomic') {\n return null;\n }\n\n var atomicBlockTarget = selection.merge({\n focusKey: blockAfter.getKey(),\n focusOffset: blockAfter.getLength()\n });\n\n var withoutAtomicBlock = DraftModifier.removeRange(content, atomicBlockTarget, 'forward');\n\n if (withoutAtomicBlock !== content) {\n return EditorState.push(editorState, withoutAtomicBlock, 'remove-range');\n }\n\n return null;\n },\n\n onTab: function onTab(event, editorState, maxDepth) {\n var selection = editorState.getSelection();\n var key = selection.getAnchorKey();\n if (key !== selection.getFocusKey()) {\n return editorState;\n }\n\n var content = editorState.getCurrentContent();\n var block = content.getBlockForKey(key);\n var type = block.getType();\n if (type !== 'unordered-list-item' && type !== 'ordered-list-item') {\n return editorState;\n }\n\n event.preventDefault();\n\n // Only allow indenting one level beyond the block above, and only if\n // the block above is a list item as well.\n var blockAbove = content.getBlockBefore(key);\n if (!blockAbove) {\n return editorState;\n }\n\n var typeAbove = blockAbove.getType();\n if (typeAbove !== 'unordered-list-item' && typeAbove !== 'ordered-list-item') {\n return editorState;\n }\n\n var depth = block.getDepth();\n if (!event.shiftKey && depth === maxDepth) {\n return editorState;\n }\n\n maxDepth = Math.min(blockAbove.getDepth() + 1, maxDepth);\n\n var withAdjustment = adjustBlockDepthForContentState(content, selection, event.shiftKey ? -1 : 1, maxDepth);\n\n return EditorState.push(editorState, withAdjustment, 'adjust-depth');\n },\n\n toggleBlockType: function toggleBlockType(editorState, blockType) {\n var selection = editorState.getSelection();\n var startKey = selection.getStartKey();\n var endKey = selection.getEndKey();\n var content = editorState.getCurrentContent();\n var target = selection;\n\n // Triple-click can lead to a selection that includes offset 0 of the\n // following block. The `SelectionState` for this case is accurate, but\n // we should avoid toggling block type for the trailing block because it\n // is a confusing interaction.\n if (startKey !== endKey && selection.getEndOffset() === 0) {\n var blockBefore = nullthrows(content.getBlockBefore(endKey));\n endKey = blockBefore.getKey();\n target = target.merge({\n anchorKey: startKey,\n anchorOffset: selection.getStartOffset(),\n focusKey: endKey,\n focusOffset: blockBefore.getLength(),\n isBackward: false\n });\n }\n\n var hasAtomicBlock = content.getBlockMap().skipWhile(function (_, k) {\n return k !== startKey;\n }).reverse().skipWhile(function (_, k) {\n return k !== endKey;\n }).some(function (v) {\n return v.getType() === 'atomic';\n });\n\n if (hasAtomicBlock) {\n return editorState;\n }\n\n var typeToSet = content.getBlockForKey(startKey).getType() === blockType ? 'unstyled' : blockType;\n\n return EditorState.push(editorState, DraftModifier.setBlockType(content, target, typeToSet), 'change-block-type');\n },\n\n toggleCode: function toggleCode(editorState) {\n var selection = editorState.getSelection();\n var anchorKey = selection.getAnchorKey();\n var focusKey = selection.getFocusKey();\n\n if (selection.isCollapsed() || anchorKey !== focusKey) {\n return RichTextEditorUtil.toggleBlockType(editorState, 'code-block');\n }\n\n return RichTextEditorUtil.toggleInlineStyle(editorState, 'CODE');\n },\n\n /**\n * Toggle the specified inline style for the selection. If the\n * user's selection is collapsed, apply or remove the style for the\n * internal state. If it is not collapsed, apply the change directly\n * to the document state.\n */\n toggleInlineStyle: function toggleInlineStyle(editorState, inlineStyle) {\n var selection = editorState.getSelection();\n var currentStyle = editorState.getCurrentInlineStyle();\n\n // If the selection is collapsed, toggle the specified style on or off and\n // set the result as the new inline style override. This will then be\n // used as the inline style for the next character to be inserted.\n if (selection.isCollapsed()) {\n return EditorState.setInlineStyleOverride(editorState, currentStyle.has(inlineStyle) ? currentStyle.remove(inlineStyle) : currentStyle.add(inlineStyle));\n }\n\n // If characters are selected, immediately apply or remove the\n // inline style on the document state itself.\n var content = editorState.getCurrentContent();\n var newContent;\n\n // If the style is already present for the selection range, remove it.\n // Otherwise, apply it.\n if (currentStyle.has(inlineStyle)) {\n newContent = DraftModifier.removeInlineStyle(content, selection, inlineStyle);\n } else {\n newContent = DraftModifier.applyInlineStyle(content, selection, inlineStyle);\n }\n\n return EditorState.push(editorState, newContent, 'change-inline-style');\n },\n\n toggleLink: function toggleLink(editorState, targetSelection, entityKey) {\n var withoutLink = DraftModifier.applyEntity(editorState.getCurrentContent(), targetSelection, entityKey);\n\n return EditorState.push(editorState, withoutLink, 'apply-entity');\n },\n\n /**\n * When a collapsed cursor is at the start of the first styled block, or\n * an empty styled block, changes block to 'unstyled'. Returns null if\n * block or selection does not meet that criteria.\n */\n tryToRemoveBlockStyle: function tryToRemoveBlockStyle(editorState) {\n var selection = editorState.getSelection();\n var offset = selection.getAnchorOffset();\n if (selection.isCollapsed() && offset === 0) {\n var key = selection.getAnchorKey();\n var content = editorState.getCurrentContent();\n var block = content.getBlockForKey(key);\n\n var firstBlock = content.getFirstBlock();\n if (block.getLength() > 0 && block !== firstBlock) {\n return null;\n }\n\n var type = block.getType();\n var blockBefore = content.getBlockBefore(key);\n if (type === 'code-block' && blockBefore && blockBefore.getType() === 'code-block' && blockBefore.getLength() !== 0) {\n return null;\n }\n\n if (type !== 'unstyled') {\n return DraftModifier.setBlockType(content, selection, 'unstyled');\n }\n }\n return null;\n }\n};\n\nmodule.exports = RichTextEditorUtil;","/**\n * Copyright (c) 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 * @providesModule SecondaryClipboard\n * @format\n * \n */\n\n'use strict';\n\nvar DraftModifier = require('./DraftModifier');\nvar EditorState = require('./EditorState');\n\nvar getContentStateFragment = require('./getContentStateFragment');\nvar nullthrows = require('fbjs/lib/nullthrows');\n\nvar clipboard = null;\n\n/**\n * Some systems offer a \"secondary\" clipboard to allow quick internal cut\n * and paste behavior. For instance, Ctrl+K (cut) and Ctrl+Y (paste).\n */\nvar SecondaryClipboard = {\n cut: function cut(editorState) {\n var content = editorState.getCurrentContent();\n var selection = editorState.getSelection();\n var targetRange = null;\n\n if (selection.isCollapsed()) {\n var anchorKey = selection.getAnchorKey();\n var blockEnd = content.getBlockForKey(anchorKey).getLength();\n\n if (blockEnd === selection.getAnchorOffset()) {\n return editorState;\n }\n\n targetRange = selection.set('focusOffset', blockEnd);\n } else {\n targetRange = selection;\n }\n\n targetRange = nullthrows(targetRange);\n clipboard = getContentStateFragment(content, targetRange);\n\n var afterRemoval = DraftModifier.removeRange(content, targetRange, 'forward');\n\n if (afterRemoval === content) {\n return editorState;\n }\n\n return EditorState.push(editorState, afterRemoval, 'remove-range');\n },\n\n paste: function paste(editorState) {\n if (!clipboard) {\n return editorState;\n }\n\n var newContent = DraftModifier.replaceWithFragment(editorState.getCurrentContent(), editorState.getSelection(), clipboard);\n\n return EditorState.push(editorState, newContent, 'insert-fragment');\n }\n};\n\nmodule.exports = SecondaryClipboard;","/**\n * Copyright (c) 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 * @providesModule SelectionState\n * @format\n * \n */\n\n'use strict';\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 Immutable = require('immutable');\n\nvar Record = Immutable.Record;\n\n\nvar defaultRecord = {\n anchorKey: '',\n anchorOffset: 0,\n focusKey: '',\n focusOffset: 0,\n isBackward: false,\n hasFocus: false\n};\n\nvar SelectionStateRecord = Record(defaultRecord);\n\nvar SelectionState = function (_SelectionStateRecord) {\n _inherits(SelectionState, _SelectionStateRecord);\n\n function SelectionState() {\n _classCallCheck(this, SelectionState);\n\n return _possibleConstructorReturn(this, _SelectionStateRecord.apply(this, arguments));\n }\n\n SelectionState.prototype.serialize = function serialize() {\n return 'Anchor: ' + this.getAnchorKey() + ':' + this.getAnchorOffset() + ', ' + 'Focus: ' + this.getFocusKey() + ':' + this.getFocusOffset() + ', ' + 'Is Backward: ' + String(this.getIsBackward()) + ', ' + 'Has Focus: ' + String(this.getHasFocus());\n };\n\n SelectionState.prototype.getAnchorKey = function getAnchorKey() {\n return this.get('anchorKey');\n };\n\n SelectionState.prototype.getAnchorOffset = function getAnchorOffset() {\n return this.get('anchorOffset');\n };\n\n SelectionState.prototype.getFocusKey = function getFocusKey() {\n return this.get('focusKey');\n };\n\n SelectionState.prototype.getFocusOffset = function getFocusOffset() {\n return this.get('focusOffset');\n };\n\n SelectionState.prototype.getIsBackward = function getIsBackward() {\n return this.get('isBackward');\n };\n\n SelectionState.prototype.getHasFocus = function getHasFocus() {\n return this.get('hasFocus');\n };\n\n /**\n * Return whether the specified range overlaps with an edge of the\n * SelectionState.\n */\n\n\n SelectionState.prototype.hasEdgeWithin = function hasEdgeWithin(blockKey, start, end) {\n var anchorKey = this.getAnchorKey();\n var focusKey = this.getFocusKey();\n\n if (anchorKey === focusKey && anchorKey === blockKey) {\n var selectionStart = this.getStartOffset();\n var selectionEnd = this.getEndOffset();\n return start <= selectionEnd && selectionStart <= end;\n }\n\n if (blockKey !== anchorKey && blockKey !== focusKey) {\n return false;\n }\n\n var offsetToCheck = blockKey === anchorKey ? this.getAnchorOffset() : this.getFocusOffset();\n\n return start <= offsetToCheck && end >= offsetToCheck;\n };\n\n SelectionState.prototype.isCollapsed = function isCollapsed() {\n return this.getAnchorKey() === this.getFocusKey() && this.getAnchorOffset() === this.getFocusOffset();\n };\n\n SelectionState.prototype.getStartKey = function getStartKey() {\n return this.getIsBackward() ? this.getFocusKey() : this.getAnchorKey();\n };\n\n SelectionState.prototype.getStartOffset = function getStartOffset() {\n return this.getIsBackward() ? this.getFocusOffset() : this.getAnchorOffset();\n };\n\n SelectionState.prototype.getEndKey = function getEndKey() {\n return this.getIsBackward() ? this.getAnchorKey() : this.getFocusKey();\n };\n\n SelectionState.prototype.getEndOffset = function getEndOffset() {\n return this.getIsBackward() ? this.getAnchorOffset() : this.getFocusOffset();\n };\n\n SelectionState.createEmpty = function createEmpty(key) {\n return new SelectionState({\n anchorKey: key,\n anchorOffset: 0,\n focusKey: key,\n focusOffset: 0,\n isBackward: false,\n hasFocus: false\n });\n };\n\n return SelectionState;\n}(SelectionStateRecord);\n\nmodule.exports = SelectionState;","/**\n * Copyright (c) 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 * @providesModule adjustBlockDepthForContentState\n * @format\n * \n */\n\n'use strict';\n\nfunction adjustBlockDepthForContentState(contentState, selectionState, adjustment, maxDepth) {\n var startKey = selectionState.getStartKey();\n var endKey = selectionState.getEndKey();\n var blockMap = contentState.getBlockMap();\n var blocks = blockMap.toSeq().skipUntil(function (_, k) {\n return k === startKey;\n }).takeUntil(function (_, k) {\n return k === endKey;\n }).concat([[endKey, blockMap.get(endKey)]]).map(function (block) {\n var depth = block.getDepth() + adjustment;\n depth = Math.max(0, Math.min(depth, maxDepth));\n return block.set('depth', depth);\n });\n\n blockMap = blockMap.merge(blocks);\n\n return contentState.merge({\n blockMap: blockMap,\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n}\n\nmodule.exports = adjustBlockDepthForContentState;","/**\n * Copyright (c) 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 * @providesModule applyEntityToContentBlock\n * @format\n * \n */\n\n'use strict';\n\nvar CharacterMetadata = require('./CharacterMetadata');\n\nfunction applyEntityToContentBlock(contentBlock, start, end, entityKey) {\n var characterList = contentBlock.getCharacterList();\n while (start < end) {\n characterList = characterList.set(start, CharacterMetadata.applyEntity(characterList.get(start), entityKey));\n start++;\n }\n return contentBlock.set('characterList', characterList);\n}\n\nmodule.exports = applyEntityToContentBlock;","/**\n * Copyright (c) 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 * @providesModule applyEntityToContentState\n * @format\n * \n */\n\n'use strict';\n\nvar Immutable = require('immutable');\n\nvar applyEntityToContentBlock = require('./applyEntityToContentBlock');\n\nfunction applyEntityToContentState(contentState, selectionState, entityKey) {\n var blockMap = contentState.getBlockMap();\n var startKey = selectionState.getStartKey();\n var startOffset = selectionState.getStartOffset();\n var endKey = selectionState.getEndKey();\n var endOffset = selectionState.getEndOffset();\n\n var newBlocks = blockMap.skipUntil(function (_, k) {\n return k === startKey;\n }).takeUntil(function (_, k) {\n return k === endKey;\n }).toOrderedMap().merge(Immutable.OrderedMap([[endKey, blockMap.get(endKey)]])).map(function (block, blockKey) {\n var sliceStart = blockKey === startKey ? startOffset : 0;\n var sliceEnd = blockKey === endKey ? endOffset : block.getLength();\n return applyEntityToContentBlock(block, sliceStart, sliceEnd, entityKey);\n });\n\n return contentState.merge({\n blockMap: blockMap.merge(newBlocks),\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n}\n\nmodule.exports = applyEntityToContentState;","/**\n * Copyright (c) 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 * @providesModule convertFromDraftStateToRaw\n * @format\n * \n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar _extends = _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 ContentBlock = require('./ContentBlock');\nvar ContentBlockNode = require('./ContentBlockNode');\nvar DraftStringKey = require('./DraftStringKey');\n\nvar encodeEntityRanges = require('./encodeEntityRanges');\nvar encodeInlineStyleRanges = require('./encodeInlineStyleRanges');\nvar invariant = require('fbjs/lib/invariant');\n\nvar createRawBlock = function createRawBlock(block, entityStorageMap) {\n return {\n key: block.getKey(),\n text: block.getText(),\n type: block.getType(),\n depth: block.getDepth(),\n inlineStyleRanges: encodeInlineStyleRanges(block),\n entityRanges: encodeEntityRanges(block, entityStorageMap),\n data: block.getData().toObject()\n };\n};\n\nvar insertRawBlock = function insertRawBlock(block, entityMap, rawBlocks, blockCacheRef) {\n if (block instanceof ContentBlock) {\n rawBlocks.push(createRawBlock(block, entityMap));\n return;\n }\n\n !(block instanceof ContentBlockNode) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'block is not a BlockNode') : invariant(false) : void 0;\n\n var parentKey = block.getParentKey();\n var rawBlock = blockCacheRef[block.getKey()] = _extends({}, createRawBlock(block, entityMap), {\n children: []\n });\n\n if (parentKey) {\n blockCacheRef[parentKey].children.push(rawBlock);\n return;\n }\n\n rawBlocks.push(rawBlock);\n};\n\nvar encodeRawBlocks = function encodeRawBlocks(contentState, rawState) {\n var entityMap = rawState.entityMap;\n\n\n var rawBlocks = [];\n\n var blockCacheRef = {};\n var entityCacheRef = {};\n var entityStorageKey = 0;\n\n contentState.getBlockMap().forEach(function (block) {\n block.findEntityRanges(function (character) {\n return character.getEntity() !== null;\n }, function (start) {\n var entityKey = block.getEntityAt(start);\n // Stringify to maintain order of otherwise numeric keys.\n var stringifiedEntityKey = DraftStringKey.stringify(entityKey);\n // This makes this function resilient to two entities\n // erroneously having the same key\n if (entityCacheRef[stringifiedEntityKey]) {\n return;\n }\n entityCacheRef[stringifiedEntityKey] = entityKey;\n // we need the `any` casting here since this is a temporary state\n // where we will later on flip the entity map and populate it with\n // real entity, at this stage we just need to map back the entity\n // key used by the BlockNode\n entityMap[stringifiedEntityKey] = '' + entityStorageKey;\n entityStorageKey++;\n });\n\n insertRawBlock(block, entityMap, rawBlocks, blockCacheRef);\n });\n\n return {\n blocks: rawBlocks,\n entityMap: entityMap\n };\n};\n\n// Flip storage map so that our storage keys map to global\n// DraftEntity keys.\nvar encodeRawEntityMap = function encodeRawEntityMap(contentState, rawState) {\n var blocks = rawState.blocks,\n entityMap = rawState.entityMap;\n\n\n var rawEntityMap = {};\n\n Object.keys(entityMap).forEach(function (key, index) {\n var entity = contentState.getEntity(DraftStringKey.unstringify(key));\n rawEntityMap[index] = {\n type: entity.getType(),\n mutability: entity.getMutability(),\n data: entity.getData()\n };\n });\n\n return {\n blocks: blocks,\n entityMap: rawEntityMap\n };\n};\n\nvar convertFromDraftStateToRaw = function convertFromDraftStateToRaw(contentState) {\n var rawDraftContentState = {\n entityMap: {},\n blocks: []\n };\n\n // add blocks\n rawDraftContentState = encodeRawBlocks(contentState, rawDraftContentState);\n\n // add entities\n rawDraftContentState = encodeRawEntityMap(contentState, rawDraftContentState);\n\n return rawDraftContentState;\n};\n\nmodule.exports = convertFromDraftStateToRaw;","/**\n * Copyright (c) 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 * @providesModule convertFromHTMLToContentBlocks\n * @format\n * \n */\n\n'use strict';\n\nvar _extends = _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 _knownListItemDepthCl,\n _assign = require('object-assign');\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CharacterMetadata = require('./CharacterMetadata');\nvar ContentBlock = require('./ContentBlock');\nvar ContentBlockNode = require('./ContentBlockNode');\nvar DefaultDraftBlockRenderMap = require('./DefaultDraftBlockRenderMap');\nvar DraftEntity = require('./DraftEntity');\nvar DraftFeatureFlags = require('./DraftFeatureFlags');\nvar Immutable = require('immutable');\n\nvar _require = require('immutable'),\n Set = _require.Set;\n\nvar URI = require('fbjs/lib/URI');\n\nvar cx = require('fbjs/lib/cx');\nvar generateRandomKey = require('./generateRandomKey');\nvar getSafeBodyFromHTML = require('./getSafeBodyFromHTML');\nvar invariant = require('fbjs/lib/invariant');\nvar sanitizeDraftText = require('./sanitizeDraftText');\n\nvar experimentalTreeDataSupport = DraftFeatureFlags.draft_tree_data_support;\n\nvar List = Immutable.List,\n OrderedSet = Immutable.OrderedSet;\n\n\nvar NBSP = '&nbsp;';\nvar SPACE = ' ';\n\n// Arbitrary max indent\nvar MAX_DEPTH = 4;\n\n// used for replacing characters in HTML\nvar REGEX_CR = new RegExp('\\r', 'g');\nvar REGEX_LF = new RegExp('\\n', 'g');\nvar REGEX_NBSP = new RegExp(NBSP, 'g');\nvar REGEX_CARRIAGE = new RegExp('&#13;?', 'g');\nvar REGEX_ZWS = new RegExp('&#8203;?', 'g');\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight\nvar boldValues = ['bold', 'bolder', '500', '600', '700', '800', '900'];\nvar notBoldValues = ['light', 'lighter', '100', '200', '300', '400'];\n\n// Block tag flow is different because LIs do not have\n// a deterministic style ;_;\nvar inlineTags = {\n b: 'BOLD',\n code: 'CODE',\n del: 'STRIKETHROUGH',\n em: 'ITALIC',\n i: 'ITALIC',\n s: 'STRIKETHROUGH',\n strike: 'STRIKETHROUGH',\n strong: 'BOLD',\n u: 'UNDERLINE'\n};\n\nvar knownListItemDepthClasses = (_knownListItemDepthCl = {}, _defineProperty(_knownListItemDepthCl, cx('public/DraftStyleDefault/depth0'), 0), _defineProperty(_knownListItemDepthCl, cx('public/DraftStyleDefault/depth1'), 1), _defineProperty(_knownListItemDepthCl, cx('public/DraftStyleDefault/depth2'), 2), _defineProperty(_knownListItemDepthCl, cx('public/DraftStyleDefault/depth3'), 3), _defineProperty(_knownListItemDepthCl, cx('public/DraftStyleDefault/depth4'), 4), _knownListItemDepthCl);\n\nvar anchorAttr = ['className', 'href', 'rel', 'target', 'title'];\n\nvar imgAttr = ['alt', 'className', 'height', 'src', 'width'];\n\nvar lastBlock = void 0;\n\nvar EMPTY_CHUNK = {\n text: '',\n inlines: [],\n entities: [],\n blocks: []\n};\n\nvar EMPTY_BLOCK = {\n children: List(),\n depth: 0,\n key: '',\n type: ''\n};\n\nvar getListBlockType = function getListBlockType(tag, lastList) {\n if (tag === 'li') {\n return lastList === 'ol' ? 'ordered-list-item' : 'unordered-list-item';\n }\n return null;\n};\n\nvar getBlockMapSupportedTags = function getBlockMapSupportedTags(blockRenderMap) {\n var unstyledElement = blockRenderMap.get('unstyled').element;\n var tags = Set([]);\n\n blockRenderMap.forEach(function (draftBlock) {\n if (draftBlock.aliasedElements) {\n draftBlock.aliasedElements.forEach(function (tag) {\n tags = tags.add(tag);\n });\n }\n\n tags = tags.add(draftBlock.element);\n });\n\n return tags.filter(function (tag) {\n return tag && tag !== unstyledElement;\n }).toArray().sort();\n};\n\n// custom element conversions\nvar getMultiMatchedType = function getMultiMatchedType(tag, lastList, multiMatchExtractor) {\n for (var ii = 0; ii < multiMatchExtractor.length; ii++) {\n var matchType = multiMatchExtractor[ii](tag, lastList);\n if (matchType) {\n return matchType;\n }\n }\n return null;\n};\n\nvar getBlockTypeForTag = function getBlockTypeForTag(tag, lastList, blockRenderMap) {\n var matchedTypes = blockRenderMap.filter(function (draftBlock) {\n return draftBlock.element === tag || draftBlock.wrapper === tag || draftBlock.aliasedElements && draftBlock.aliasedElements.some(function (alias) {\n return alias === tag;\n });\n }).keySeq().toSet().toArray().sort();\n\n // if we dont have any matched type, return unstyled\n // if we have one matched type return it\n // if we have multi matched types use the multi-match function to gather type\n switch (matchedTypes.length) {\n case 0:\n return 'unstyled';\n case 1:\n return matchedTypes[0];\n default:\n return getMultiMatchedType(tag, lastList, [getListBlockType]) || 'unstyled';\n }\n};\n\nvar processInlineTag = function processInlineTag(tag, node, currentStyle) {\n var styleToCheck = inlineTags[tag];\n if (styleToCheck) {\n currentStyle = currentStyle.add(styleToCheck).toOrderedSet();\n } else if (node instanceof HTMLElement) {\n var htmlElement = node;\n currentStyle = currentStyle.withMutations(function (style) {\n var fontWeight = htmlElement.style.fontWeight;\n var fontStyle = htmlElement.style.fontStyle;\n var textDecoration = htmlElement.style.textDecoration;\n\n if (boldValues.indexOf(fontWeight) >= 0) {\n style.add('BOLD');\n } else if (notBoldValues.indexOf(fontWeight) >= 0) {\n style.remove('BOLD');\n }\n\n if (fontStyle === 'italic') {\n style.add('ITALIC');\n } else if (fontStyle === 'normal') {\n style.remove('ITALIC');\n }\n\n if (textDecoration === 'underline') {\n style.add('UNDERLINE');\n }\n if (textDecoration === 'line-through') {\n style.add('STRIKETHROUGH');\n }\n if (textDecoration === 'none') {\n style.remove('UNDERLINE');\n style.remove('STRIKETHROUGH');\n }\n }).toOrderedSet();\n }\n return currentStyle;\n};\n\nvar joinChunks = function joinChunks(A, B, experimentalHasNestedBlocks) {\n // Sometimes two blocks will touch in the DOM and we need to strip the\n // extra delimiter to preserve niceness.\n var lastInA = A.text.slice(-1);\n var firstInB = B.text.slice(0, 1);\n\n if (lastInA === '\\r' && firstInB === '\\r' && !experimentalHasNestedBlocks) {\n A.text = A.text.slice(0, -1);\n A.inlines.pop();\n A.entities.pop();\n A.blocks.pop();\n }\n\n // Kill whitespace after blocks\n if (lastInA === '\\r') {\n if (B.text === SPACE || B.text === '\\n') {\n return A;\n } else if (firstInB === SPACE || firstInB === '\\n') {\n B.text = B.text.slice(1);\n B.inlines.shift();\n B.entities.shift();\n }\n }\n\n return {\n text: A.text + B.text,\n inlines: A.inlines.concat(B.inlines),\n entities: A.entities.concat(B.entities),\n blocks: A.blocks.concat(B.blocks)\n };\n};\n\n/**\n * Check to see if we have anything like <p> <blockquote> <h1>... to create\n * block tags from. If we do, we can use those and ignore <div> tags. If we\n * don't, we can treat <div> tags as meaningful (unstyled) blocks.\n */\nvar containsSemanticBlockMarkup = function containsSemanticBlockMarkup(html, blockTags) {\n return blockTags.some(function (tag) {\n return html.indexOf('<' + tag) !== -1;\n });\n};\n\nvar hasValidLinkText = function hasValidLinkText(link) {\n !(link instanceof HTMLAnchorElement) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Link must be an HTMLAnchorElement.') : invariant(false) : void 0;\n var protocol = link.protocol;\n return protocol === 'http:' || protocol === 'https:' || protocol === 'mailto:';\n};\n\nvar getWhitespaceChunk = function getWhitespaceChunk(inEntity) {\n var entities = new Array(1);\n if (inEntity) {\n entities[0] = inEntity;\n }\n return _extends({}, EMPTY_CHUNK, {\n text: SPACE,\n inlines: [OrderedSet()],\n entities: entities\n });\n};\n\nvar getSoftNewlineChunk = function getSoftNewlineChunk() {\n return _extends({}, EMPTY_CHUNK, {\n text: '\\n',\n inlines: [OrderedSet()],\n entities: new Array(1)\n });\n};\n\nvar getChunkedBlock = function getChunkedBlock() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return _extends({}, EMPTY_BLOCK, props);\n};\n\nvar getBlockDividerChunk = function getBlockDividerChunk(block, depth) {\n var parentKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n return {\n text: '\\r',\n inlines: [OrderedSet()],\n entities: new Array(1),\n blocks: [getChunkedBlock({\n parent: parentKey,\n key: generateRandomKey(),\n type: block,\n depth: Math.max(0, Math.min(MAX_DEPTH, depth))\n })]\n };\n};\n\n/**\n * If we're pasting from one DraftEditor to another we can check to see if\n * existing list item depth classes are being used and preserve this style\n */\nvar getListItemDepth = function getListItemDepth(node) {\n var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n Object.keys(knownListItemDepthClasses).some(function (depthClass) {\n if (node.classList.contains(depthClass)) {\n depth = knownListItemDepthClasses[depthClass];\n }\n });\n return depth;\n};\n\nvar genFragment = function genFragment(entityMap, node, inlineStyle, lastList, inBlock, blockTags, depth, blockRenderMap, inEntity, parentKey) {\n var lastLastBlock = lastBlock;\n var nodeName = node.nodeName.toLowerCase();\n var newEntityMap = entityMap;\n var nextBlockType = 'unstyled';\n var newBlock = false;\n var inBlockType = inBlock && getBlockTypeForTag(inBlock, lastList, blockRenderMap);\n var chunk = _extends({}, EMPTY_CHUNK);\n var newChunk = null;\n var blockKey = void 0;\n\n // Base Case\n if (nodeName === '#text') {\n var _text = node.textContent;\n var nodeTextContent = _text.trim();\n\n // We should not create blocks for leading spaces that are\n // existing around ol/ul and their children list items\n if (lastList && nodeTextContent === '' && node.parentElement) {\n var parentNodeName = node.parentElement.nodeName.toLowerCase();\n if (parentNodeName === 'ol' || parentNodeName === 'ul') {\n return { chunk: _extends({}, EMPTY_CHUNK), entityMap: entityMap };\n }\n }\n\n if (nodeTextContent === '' && inBlock !== 'pre') {\n return { chunk: getWhitespaceChunk(inEntity), entityMap: entityMap };\n }\n if (inBlock !== 'pre') {\n // Can't use empty string because MSWord\n _text = _text.replace(REGEX_LF, SPACE);\n }\n\n // save the last block so we can use it later\n lastBlock = nodeName;\n\n return {\n chunk: {\n text: _text,\n inlines: Array(_text.length).fill(inlineStyle),\n entities: Array(_text.length).fill(inEntity),\n blocks: []\n },\n entityMap: entityMap\n };\n }\n\n // save the last block so we can use it later\n lastBlock = nodeName;\n\n // BR tags\n if (nodeName === 'br') {\n if (lastLastBlock === 'br' && (!inBlock || inBlockType === 'unstyled')) {\n return {\n chunk: getBlockDividerChunk('unstyled', depth, parentKey),\n entityMap: entityMap\n };\n }\n return { chunk: getSoftNewlineChunk(), entityMap: entityMap };\n }\n\n // IMG tags\n if (nodeName === 'img' && node instanceof HTMLImageElement && node.attributes.getNamedItem('src') && node.attributes.getNamedItem('src').value) {\n var image = node;\n var entityConfig = {};\n\n imgAttr.forEach(function (attr) {\n var imageAttribute = image.getAttribute(attr);\n if (imageAttribute) {\n entityConfig[attr] = imageAttribute;\n }\n });\n // Forcing this node to have children because otherwise no entity will be\n // created for this node.\n // The child text node cannot just have a space or return as content -\n // we strip those out.\n // See https://github.com/facebook/draft-js/issues/231 for some context.\n node.textContent = '\\uD83D\\uDCF7';\n\n // TODO: update this when we remove DraftEntity entirely\n inEntity = DraftEntity.__create('IMAGE', 'MUTABLE', entityConfig || {});\n }\n\n // Inline tags\n inlineStyle = processInlineTag(nodeName, node, inlineStyle);\n\n // Handle lists\n if (nodeName === 'ul' || nodeName === 'ol') {\n if (lastList) {\n depth += 1;\n }\n lastList = nodeName;\n }\n\n if (!experimentalTreeDataSupport && nodeName === 'li' && node instanceof HTMLElement) {\n depth = getListItemDepth(node, depth);\n }\n\n var blockType = getBlockTypeForTag(nodeName, lastList, blockRenderMap);\n var inListBlock = lastList && inBlock === 'li' && nodeName === 'li';\n var inBlockOrHasNestedBlocks = (!inBlock || experimentalTreeDataSupport) && blockTags.indexOf(nodeName) !== -1;\n\n // Block Tags\n if (inListBlock || inBlockOrHasNestedBlocks) {\n chunk = getBlockDividerChunk(blockType, depth, parentKey);\n blockKey = chunk.blocks[0].key;\n inBlock = nodeName;\n newBlock = !experimentalTreeDataSupport;\n }\n\n // this is required so that we can handle 'ul' and 'ol'\n if (inListBlock) {\n nextBlockType = lastList === 'ul' ? 'unordered-list-item' : 'ordered-list-item';\n }\n\n // Recurse through children\n var child = node.firstChild;\n if (child != null) {\n nodeName = child.nodeName.toLowerCase();\n }\n\n var entityId = null;\n\n while (child) {\n if (child instanceof HTMLAnchorElement && child.href && hasValidLinkText(child)) {\n (function () {\n var anchor = child;\n var entityConfig = {};\n\n anchorAttr.forEach(function (attr) {\n var anchorAttribute = anchor.getAttribute(attr);\n if (anchorAttribute) {\n entityConfig[attr] = anchorAttribute;\n }\n });\n\n entityConfig.url = new URI(anchor.href).toString();\n // TODO: update this when we remove DraftEntity completely\n entityId = DraftEntity.__create('LINK', 'MUTABLE', entityConfig || {});\n })();\n } else {\n entityId = undefined;\n }\n\n var _genFragment = genFragment(newEntityMap, child, inlineStyle, lastList, inBlock, blockTags, depth, blockRenderMap, entityId || inEntity, experimentalTreeDataSupport ? blockKey : null),\n generatedChunk = _genFragment.chunk,\n maybeUpdatedEntityMap = _genFragment.entityMap;\n\n newChunk = generatedChunk;\n newEntityMap = maybeUpdatedEntityMap;\n\n chunk = joinChunks(chunk, newChunk, experimentalTreeDataSupport);\n var sibling = child.nextSibling;\n\n // Put in a newline to break up blocks inside blocks\n if (!parentKey && sibling && blockTags.indexOf(nodeName) >= 0 && inBlock) {\n chunk = joinChunks(chunk, getSoftNewlineChunk());\n }\n if (sibling) {\n nodeName = sibling.nodeName.toLowerCase();\n }\n child = sibling;\n }\n\n if (newBlock) {\n chunk = joinChunks(chunk, getBlockDividerChunk(nextBlockType, depth, parentKey));\n }\n\n return { chunk: chunk, entityMap: newEntityMap };\n};\n\nvar getChunkForHTML = function getChunkForHTML(html, DOMBuilder, blockRenderMap, entityMap) {\n html = html.trim().replace(REGEX_CR, '').replace(REGEX_NBSP, SPACE).replace(REGEX_CARRIAGE, '').replace(REGEX_ZWS, '');\n\n var supportedBlockTags = getBlockMapSupportedTags(blockRenderMap);\n\n var safeBody = DOMBuilder(html);\n if (!safeBody) {\n return null;\n }\n lastBlock = null;\n\n // Sometimes we aren't dealing with content that contains nice semantic\n // tags. In this case, use divs to separate everything out into paragraphs\n // and hope for the best.\n var workingBlocks = containsSemanticBlockMarkup(html, supportedBlockTags) ? supportedBlockTags : ['div'];\n\n // Start with -1 block depth to offset the fact that we are passing in a fake\n // UL block to start with.\n var fragment = genFragment(entityMap, safeBody, OrderedSet(), 'ul', null, workingBlocks, -1, blockRenderMap);\n\n var chunk = fragment.chunk;\n var newEntityMap = fragment.entityMap;\n\n // join with previous block to prevent weirdness on paste\n if (chunk.text.indexOf('\\r') === 0) {\n chunk = {\n text: chunk.text.slice(1),\n inlines: chunk.inlines.slice(1),\n entities: chunk.entities.slice(1),\n blocks: chunk.blocks\n };\n }\n\n // Kill block delimiter at the end\n if (chunk.text.slice(-1) === '\\r') {\n chunk.text = chunk.text.slice(0, -1);\n chunk.inlines = chunk.inlines.slice(0, -1);\n chunk.entities = chunk.entities.slice(0, -1);\n chunk.blocks.pop();\n }\n\n // If we saw no block tags, put an unstyled one in\n if (chunk.blocks.length === 0) {\n chunk.blocks.push(_extends({}, EMPTY_CHUNK, {\n type: 'unstyled',\n depth: 0\n }));\n }\n\n // Sometimes we start with text that isn't in a block, which is then\n // followed by blocks. Need to fix up the blocks to add in\n // an unstyled block for this content\n if (chunk.text.split('\\r').length === chunk.blocks.length + 1) {\n chunk.blocks.unshift({ type: 'unstyled', depth: 0 });\n }\n\n return { chunk: chunk, entityMap: newEntityMap };\n};\n\nvar convertChunkToContentBlocks = function convertChunkToContentBlocks(chunk) {\n if (!chunk || !chunk.text || !Array.isArray(chunk.blocks)) {\n return null;\n }\n\n var initialState = {\n cacheRef: {},\n contentBlocks: []\n };\n\n var start = 0;\n\n var rawBlocks = chunk.blocks,\n rawInlines = chunk.inlines,\n rawEntities = chunk.entities;\n\n\n var BlockNodeRecord = experimentalTreeDataSupport ? ContentBlockNode : ContentBlock;\n\n return chunk.text.split('\\r').reduce(function (acc, textBlock, index) {\n // Make absolutely certain that our text is acceptable.\n textBlock = sanitizeDraftText(textBlock);\n\n var block = rawBlocks[index];\n var end = start + textBlock.length;\n var inlines = rawInlines.slice(start, end);\n var entities = rawEntities.slice(start, end);\n var characterList = List(inlines.map(function (style, index) {\n var data = { style: style, entity: null };\n if (entities[index]) {\n data.entity = entities[index];\n }\n return CharacterMetadata.create(data);\n }));\n start = end + 1;\n\n var depth = block.depth,\n type = block.type,\n parent = block.parent;\n\n\n var key = block.key || generateRandomKey();\n var parentTextNodeKey = null; // will be used to store container text nodes\n\n // childrens add themselves to their parents since we are iterating in order\n if (parent) {\n var parentIndex = acc.cacheRef[parent];\n var parentRecord = acc.contentBlocks[parentIndex];\n\n // if parent has text we need to split it into a separate unstyled element\n if (parentRecord.getChildKeys().isEmpty() && parentRecord.getText()) {\n var parentCharacterList = parentRecord.getCharacterList();\n var parentText = parentRecord.getText();\n parentTextNodeKey = generateRandomKey();\n\n var textNode = new ContentBlockNode({\n key: parentTextNodeKey,\n text: parentText,\n characterList: parentCharacterList,\n parent: parent,\n nextSibling: key\n });\n\n acc.contentBlocks.push(textNode);\n\n parentRecord = parentRecord.withMutations(function (block) {\n block.set('characterList', List()).set('text', '').set('children', parentRecord.children.push(textNode.getKey()));\n });\n }\n\n acc.contentBlocks[parentIndex] = parentRecord.set('children', parentRecord.children.push(key));\n }\n\n var blockNode = new BlockNodeRecord({\n key: key,\n parent: parent,\n type: type,\n depth: depth,\n text: textBlock,\n characterList: characterList,\n prevSibling: parentTextNodeKey || (index === 0 || rawBlocks[index - 1].parent !== parent ? null : rawBlocks[index - 1].key),\n nextSibling: index === rawBlocks.length - 1 || rawBlocks[index + 1].parent !== parent ? null : rawBlocks[index + 1].key\n });\n\n // insert node\n acc.contentBlocks.push(blockNode);\n\n // cache ref for building links\n acc.cacheRef[blockNode.key] = index;\n\n return acc;\n }, initialState).contentBlocks;\n};\n\nvar convertFromHTMLtoContentBlocks = function convertFromHTMLtoContentBlocks(html) {\n var DOMBuilder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getSafeBodyFromHTML;\n var blockRenderMap = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DefaultDraftBlockRenderMap;\n\n // Be ABSOLUTELY SURE that the dom builder you pass here won't execute\n // arbitrary code in whatever environment you're running this in. For an\n // example of how we try to do this in-browser, see getSafeBodyFromHTML.\n\n // TODO: replace DraftEntity with an OrderedMap here\n var chunkData = getChunkForHTML(html, DOMBuilder, blockRenderMap, DraftEntity);\n\n if (chunkData == null) {\n return null;\n }\n\n var chunk = chunkData.chunk,\n entityMap = chunkData.entityMap;\n\n var contentBlocks = convertChunkToContentBlocks(chunk);\n\n return {\n contentBlocks: contentBlocks,\n entityMap: entityMap\n };\n};\n\nmodule.exports = convertFromHTMLtoContentBlocks;","/**\n * Copyright (c) 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 * @providesModule convertFromRawToDraftState\n * @format\n * \n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar _extends = _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 ContentBlock = require('./ContentBlock');\nvar ContentBlockNode = require('./ContentBlockNode');\nvar ContentState = require('./ContentState');\nvar DraftEntity = require('./DraftEntity');\nvar DraftFeatureFlags = require('./DraftFeatureFlags');\nvar DraftTreeAdapter = require('./DraftTreeAdapter');\nvar Immutable = require('immutable');\nvar SelectionState = require('./SelectionState');\n\nvar createCharacterList = require('./createCharacterList');\nvar decodeEntityRanges = require('./decodeEntityRanges');\nvar decodeInlineStyleRanges = require('./decodeInlineStyleRanges');\nvar generateRandomKey = require('./generateRandomKey');\nvar invariant = require('fbjs/lib/invariant');\n\nvar experimentalTreeDataSupport = DraftFeatureFlags.draft_tree_data_support;\n\nvar List = Immutable.List,\n Map = Immutable.Map,\n OrderedMap = Immutable.OrderedMap;\n\n\nvar decodeBlockNodeConfig = function decodeBlockNodeConfig(block, entityMap) {\n var key = block.key,\n type = block.type,\n data = block.data,\n text = block.text,\n depth = block.depth;\n\n\n var blockNodeConfig = {\n text: text,\n depth: depth || 0,\n type: type || 'unstyled',\n key: key || generateRandomKey(),\n data: Map(data),\n characterList: decodeCharacterList(block, entityMap)\n };\n\n return blockNodeConfig;\n};\n\nvar decodeCharacterList = function decodeCharacterList(block, entityMap) {\n var text = block.text,\n rawEntityRanges = block.entityRanges,\n rawInlineStyleRanges = block.inlineStyleRanges;\n\n\n var entityRanges = rawEntityRanges || [];\n var inlineStyleRanges = rawInlineStyleRanges || [];\n\n // Translate entity range keys to the DraftEntity map.\n return createCharacterList(decodeInlineStyleRanges(text, inlineStyleRanges), decodeEntityRanges(text, entityRanges.filter(function (range) {\n return entityMap.hasOwnProperty(range.key);\n }).map(function (range) {\n return _extends({}, range, { key: entityMap[range.key] });\n })));\n};\n\nvar addKeyIfMissing = function addKeyIfMissing(block) {\n return _extends({}, block, {\n key: block.key || generateRandomKey()\n });\n};\n\n/**\n * Node stack is responsible to ensure we traverse the tree only once\n * in depth order, while also providing parent refs to inner nodes to\n * construct their links.\n */\nvar updateNodeStack = function updateNodeStack(stack, nodes, parentRef) {\n var nodesWithParentRef = nodes.map(function (block) {\n return _extends({}, block, {\n parentRef: parentRef\n });\n });\n\n // since we pop nodes from the stack we need to insert them in reverse\n return stack.concat(nodesWithParentRef.reverse());\n};\n\n/**\n * This will build a tree draft content state by creating the node\n * reference links into a single tree walk. Each node has a link\n * reference to \"parent\", \"children\", \"nextSibling\" and \"prevSibling\"\n * blockMap will be created using depth ordering.\n */\nvar decodeContentBlockNodes = function decodeContentBlockNodes(blocks, entityMap) {\n return blocks\n // ensure children have valid keys to enable sibling links\n .map(addKeyIfMissing).reduce(function (blockMap, block, index) {\n !Array.isArray(block.children) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'invalid RawDraftContentBlock can not be converted to ContentBlockNode') : invariant(false) : void 0;\n\n // ensure children have valid keys to enable sibling links\n var children = block.children.map(addKeyIfMissing);\n\n // root level nodes\n var contentBlockNode = new ContentBlockNode(_extends({}, decodeBlockNodeConfig(block, entityMap), {\n prevSibling: index === 0 ? null : blocks[index - 1].key,\n nextSibling: index === blocks.length - 1 ? null : blocks[index + 1].key,\n children: List(children.map(function (child) {\n return child.key;\n }))\n }));\n\n // push root node to blockMap\n blockMap = blockMap.set(contentBlockNode.getKey(), contentBlockNode);\n\n // this stack is used to ensure we visit all nodes respecting depth ordering\n var stack = updateNodeStack([], children, contentBlockNode);\n\n // start computing children nodes\n while (stack.length > 0) {\n // we pop from the stack and start processing this node\n var node = stack.pop();\n\n // parentRef already points to a converted ContentBlockNode\n var parentRef = node.parentRef;\n var siblings = parentRef.getChildKeys();\n var _index = siblings.indexOf(node.key);\n var isValidBlock = Array.isArray(node.children);\n\n if (!isValidBlock) {\n !isValidBlock ? process.env.NODE_ENV !== 'production' ? invariant(false, 'invalid RawDraftContentBlock can not be converted to ContentBlockNode') : invariant(false) : void 0;\n break;\n }\n\n // ensure children have valid keys to enable sibling links\n var _children = node.children.map(addKeyIfMissing);\n\n var _contentBlockNode = new ContentBlockNode(_extends({}, decodeBlockNodeConfig(node, entityMap), {\n parent: parentRef.getKey(),\n children: List(_children.map(function (child) {\n return child.key;\n })),\n prevSibling: _index === 0 ? null : siblings.get(_index - 1),\n nextSibling: _index === siblings.size - 1 ? null : siblings.get(_index + 1)\n }));\n\n // push node to blockMap\n blockMap = blockMap.set(_contentBlockNode.getKey(), _contentBlockNode);\n\n // this stack is used to ensure we visit all nodes respecting depth ordering\n stack = updateNodeStack(stack, _children, _contentBlockNode);\n }\n\n return blockMap;\n }, OrderedMap());\n};\n\nvar decodeContentBlocks = function decodeContentBlocks(blocks, entityMap) {\n return OrderedMap(blocks.map(function (block) {\n var contentBlock = new ContentBlock(decodeBlockNodeConfig(block, entityMap));\n return [contentBlock.getKey(), contentBlock];\n }));\n};\n\nvar decodeRawBlocks = function decodeRawBlocks(rawState, entityMap) {\n var isTreeRawBlock = Array.isArray(rawState.blocks[0].children);\n var rawBlocks = experimentalTreeDataSupport && !isTreeRawBlock ? DraftTreeAdapter.fromRawStateToRawTreeState(rawState).blocks : rawState.blocks;\n\n if (!experimentalTreeDataSupport) {\n return decodeContentBlocks(isTreeRawBlock ? DraftTreeAdapter.fromRawTreeStateToRawState(rawState).blocks : rawBlocks, entityMap);\n }\n\n return decodeContentBlockNodes(rawBlocks, entityMap);\n};\n\nvar decodeRawEntityMap = function decodeRawEntityMap(rawState) {\n var rawEntityMap = rawState.entityMap;\n\n var entityMap = {};\n\n // TODO: Update this once we completely remove DraftEntity\n Object.keys(rawEntityMap).forEach(function (rawEntityKey) {\n var _rawEntityMap$rawEnti = rawEntityMap[rawEntityKey],\n type = _rawEntityMap$rawEnti.type,\n mutability = _rawEntityMap$rawEnti.mutability,\n data = _rawEntityMap$rawEnti.data;\n\n // get the key reference to created entity\n\n entityMap[rawEntityKey] = DraftEntity.__create(type, mutability, data || {});\n });\n\n return entityMap;\n};\n\nvar convertFromRawToDraftState = function convertFromRawToDraftState(rawState) {\n !Array.isArray(rawState.blocks) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'invalid RawDraftContentState') : invariant(false) : void 0;\n\n // decode entities\n var entityMap = decodeRawEntityMap(rawState);\n\n // decode blockMap\n var blockMap = decodeRawBlocks(rawState, entityMap);\n\n // create initial selection\n var selectionState = blockMap.isEmpty() ? new SelectionState() : SelectionState.createEmpty(blockMap.first().getKey());\n\n return new ContentState({\n blockMap: blockMap,\n entityMap: entityMap,\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n};\n\nmodule.exports = convertFromRawToDraftState;","/**\n * Copyright (c) 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 * @providesModule createCharacterList\n * @format\n * \n */\n\n'use strict';\n\nvar CharacterMetadata = require('./CharacterMetadata');\nvar Immutable = require('immutable');\n\nvar List = Immutable.List;\n\n\nfunction createCharacterList(inlineStyles, entities) {\n var characterArray = inlineStyles.map(function (style, ii) {\n var entity = entities[ii];\n return CharacterMetadata.create({ style: style, entity: entity });\n });\n return List(characterArray);\n}\n\nmodule.exports = createCharacterList;","/**\n * Copyright (c) 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 * @providesModule decodeEntityRanges\n * @format\n * \n */\n\n'use strict';\n\nvar UnicodeUtils = require('fbjs/lib/UnicodeUtils');\n\nvar substr = UnicodeUtils.substr;\n\n/**\n * Convert to native JavaScript string lengths to determine ranges.\n */\n\nfunction decodeEntityRanges(text, ranges) {\n var entities = Array(text.length).fill(null);\n if (ranges) {\n ranges.forEach(function (range) {\n // Using Unicode-enabled substrings converted to JavaScript lengths,\n // fill the output array with entity keys.\n var start = substr(text, 0, range.offset).length;\n var end = start + substr(text, range.offset, range.length).length;\n for (var ii = start; ii < end; ii++) {\n entities[ii] = range.key;\n }\n });\n }\n return entities;\n}\n\nmodule.exports = decodeEntityRanges;","/**\n * Copyright (c) 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 * @providesModule decodeInlineStyleRanges\n * @format\n * \n */\n\n'use strict';\n\nvar _require = require('immutable'),\n OrderedSet = _require.OrderedSet;\n\nvar UnicodeUtils = require('fbjs/lib/UnicodeUtils');\n\nvar substr = UnicodeUtils.substr;\n\n\nvar EMPTY_SET = OrderedSet();\n\n/**\n * Convert to native JavaScript string lengths to determine ranges.\n */\nfunction decodeInlineStyleRanges(text, ranges) {\n var styles = Array(text.length).fill(EMPTY_SET);\n if (ranges) {\n ranges.forEach(function ( /*object*/range) {\n var cursor = substr(text, 0, range.offset).length;\n var end = cursor + substr(text, range.offset, range.length).length;\n while (cursor < end) {\n styles[cursor] = styles[cursor].add(range.style);\n cursor++;\n }\n });\n }\n return styles;\n}\n\nmodule.exports = decodeInlineStyleRanges;","/**\n * Copyright (c) 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 * @providesModule editOnBeforeInput\n * @format\n * \n */\n\n'use strict';\n\nvar BlockTree = require('./BlockTree');\nvar DraftModifier = require('./DraftModifier');\nvar EditorState = require('./EditorState');\nvar UserAgent = require('fbjs/lib/UserAgent');\n\nvar getEntityKeyForSelection = require('./getEntityKeyForSelection');\nvar isEventHandled = require('./isEventHandled');\nvar isSelectionAtLeafStart = require('./isSelectionAtLeafStart');\nvar nullthrows = require('fbjs/lib/nullthrows');\nvar setImmediate = require('fbjs/lib/setImmediate');\n\n// When nothing is focused, Firefox regards two characters, `'` and `/`, as\n// commands that should open and focus the \"quickfind\" search bar. This should\n// *never* happen while a contenteditable is focused, but as of v28, it\n// sometimes does, even when the keypress event target is the contenteditable.\n// This breaks the input. Special case these characters to ensure that when\n// they are typed, we prevent default on the event to make sure not to\n// trigger quickfind.\nvar FF_QUICKFIND_CHAR = \"'\";\nvar FF_QUICKFIND_LINK_CHAR = '/';\nvar isFirefox = UserAgent.isBrowser('Firefox');\n\nfunction mustPreventDefaultForCharacter(character) {\n return isFirefox && (character == FF_QUICKFIND_CHAR || character == FF_QUICKFIND_LINK_CHAR);\n}\n\n/**\n * Replace the current selection with the specified text string, with the\n * inline style and entity key applied to the newly inserted text.\n */\nfunction replaceText(editorState, text, inlineStyle, entityKey) {\n var contentState = DraftModifier.replaceText(editorState.getCurrentContent(), editorState.getSelection(), text, inlineStyle, entityKey);\n return EditorState.push(editorState, contentState, 'insert-characters');\n}\n\n/**\n * When `onBeforeInput` executes, the browser is attempting to insert a\n * character into the editor. Apply this character data to the document,\n * allowing native insertion if possible.\n *\n * Native insertion is encouraged in order to limit re-rendering and to\n * preserve spellcheck highlighting, which disappears or flashes if re-render\n * occurs on the relevant text nodes.\n */\nfunction editOnBeforeInput(editor, e) {\n if (editor._pendingStateFromBeforeInput !== undefined) {\n editor.update(editor._pendingStateFromBeforeInput);\n editor._pendingStateFromBeforeInput = undefined;\n }\n\n var editorState = editor._latestEditorState;\n\n var chars = e.data;\n\n // In some cases (ex: IE ideographic space insertion) no character data\n // is provided. There's nothing to do when this happens.\n if (!chars) {\n return;\n }\n\n // Allow the top-level component to handle the insertion manually. This is\n // useful when triggering interesting behaviors for a character insertion,\n // Simple examples: replacing a raw text ':)' with a smile emoji or image\n // decorator, or setting a block to be a list item after typing '- ' at the\n // start of the block.\n if (editor.props.handleBeforeInput && isEventHandled(editor.props.handleBeforeInput(chars, editorState))) {\n e.preventDefault();\n return;\n }\n\n // If selection is collapsed, conditionally allow native behavior. This\n // reduces re-renders and preserves spellcheck highlighting. If the selection\n // is not collapsed, we will re-render.\n var selection = editorState.getSelection();\n var selectionStart = selection.getStartOffset();\n var selectionEnd = selection.getEndOffset();\n var anchorKey = selection.getAnchorKey();\n\n if (!selection.isCollapsed()) {\n e.preventDefault();\n\n // If the currently selected text matches what the user is trying to\n // replace it with, let's just update the `SelectionState`. If not, update\n // the `ContentState` with the new text.\n var currentlySelectedChars = editorState.getCurrentContent().getPlainText().slice(selectionStart, selectionEnd);\n if (chars === currentlySelectedChars) {\n editor.update(EditorState.forceSelection(editorState, selection.merge({\n focusOffset: selectionEnd\n })));\n } else {\n editor.update(replaceText(editorState, chars, editorState.getCurrentInlineStyle(), getEntityKeyForSelection(editorState.getCurrentContent(), editorState.getSelection())));\n }\n return;\n }\n\n var newEditorState = replaceText(editorState, chars, editorState.getCurrentInlineStyle(), getEntityKeyForSelection(editorState.getCurrentContent(), editorState.getSelection()));\n\n // Bunch of different cases follow where we need to prevent native insertion.\n var mustPreventNative = false;\n if (!mustPreventNative) {\n // Browsers tend to insert text in weird places in the DOM when typing at\n // the start of a leaf, so we'll handle it ourselves.\n mustPreventNative = isSelectionAtLeafStart(editor._latestCommittedEditorState);\n }\n if (!mustPreventNative) {\n // Chrome will also split up a node into two pieces if it contains a Tab\n // char, for no explicable reason. Seemingly caused by this commit:\n // https://chromium.googlesource.com/chromium/src/+/013ac5eaf3%5E%21/\n var nativeSelection = global.getSelection();\n // Selection is necessarily collapsed at this point due to earlier check.\n if (nativeSelection.anchorNode && nativeSelection.anchorNode.nodeType === Node.TEXT_NODE) {\n // See isTabHTMLSpanElement in chromium EditingUtilities.cpp.\n var parentNode = nativeSelection.anchorNode.parentNode;\n mustPreventNative = parentNode.nodeName === 'SPAN' && parentNode.firstChild.nodeType === Node.TEXT_NODE && parentNode.firstChild.nodeValue.indexOf('\\t') !== -1;\n }\n }\n if (!mustPreventNative) {\n // Check the old and new \"fingerprints\" of the current block to determine\n // whether this insertion requires any addition or removal of text nodes,\n // in which case we would prevent the native character insertion.\n var originalFingerprint = BlockTree.getFingerprint(editorState.getBlockTree(anchorKey));\n var newFingerprint = BlockTree.getFingerprint(newEditorState.getBlockTree(anchorKey));\n mustPreventNative = originalFingerprint !== newFingerprint;\n }\n if (!mustPreventNative) {\n mustPreventNative = mustPreventDefaultForCharacter(chars);\n }\n if (!mustPreventNative) {\n mustPreventNative = nullthrows(newEditorState.getDirectionMap()).get(anchorKey) !== nullthrows(editorState.getDirectionMap()).get(anchorKey);\n }\n\n if (mustPreventNative) {\n e.preventDefault();\n editor.update(newEditorState);\n return;\n }\n\n // We made it all the way! Let the browser do its thing and insert the char.\n newEditorState = EditorState.set(newEditorState, {\n nativelyRenderedContent: newEditorState.getCurrentContent()\n });\n // The native event is allowed to occur. To allow user onChange handlers to\n // change the inserted text, we wait until the text is actually inserted\n // before we actually update our state. That way when we rerender, the text\n // we see in the DOM will already have been inserted properly.\n editor._pendingStateFromBeforeInput = newEditorState;\n setImmediate(function () {\n if (editor._pendingStateFromBeforeInput !== undefined) {\n editor.update(editor._pendingStateFromBeforeInput);\n editor._pendingStateFromBeforeInput = undefined;\n }\n });\n}\n\nmodule.exports = editOnBeforeInput;","/**\n * Copyright (c) 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 * @providesModule editOnBlur\n * @format\n * \n */\n\n'use strict';\n\nvar EditorState = require('./EditorState');\n\nvar containsNode = require('fbjs/lib/containsNode');\nvar getActiveElement = require('fbjs/lib/getActiveElement');\n\nfunction editOnBlur(editor, e) {\n // In a contentEditable element, when you select a range and then click\n // another active element, this does trigger a `blur` event but will not\n // remove the DOM selection from the contenteditable.\n // This is consistent across all browsers, but we prefer that the editor\n // behave like a textarea, where a `blur` event clears the DOM selection.\n // We therefore force the issue to be certain, checking whether the active\n // element is `body` to force it when blurring occurs within the window (as\n // opposed to clicking to another tab or window).\n if (getActiveElement() === document.body) {\n var _selection = global.getSelection();\n var editorNode = editor.editor;\n if (_selection.rangeCount === 1 && containsNode(editorNode, _selection.anchorNode) && containsNode(editorNode, _selection.focusNode)) {\n _selection.removeAllRanges();\n }\n }\n\n var editorState = editor._latestEditorState;\n var currentSelection = editorState.getSelection();\n if (!currentSelection.getHasFocus()) {\n return;\n }\n\n var selection = currentSelection.set('hasFocus', false);\n editor.props.onBlur && editor.props.onBlur(e);\n editor.update(EditorState.acceptSelection(editorState, selection));\n}\n\nmodule.exports = editOnBlur;","/**\n * Copyright (c) 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 * @providesModule editOnCompositionStart\n * @format\n * \n */\n\n'use strict';\n\nvar EditorState = require('./EditorState');\n\n/**\n * The user has begun using an IME input system. Switching to `composite` mode\n * allows handling composition input and disables other edit behavior.\n */\nfunction editOnCompositionStart(editor, e) {\n editor.setMode('composite');\n editor.update(EditorState.set(editor._latestEditorState, { inCompositionMode: true }));\n // Allow composition handler to interpret the compositionstart event\n editor._onCompositionStart(e);\n}\n\nmodule.exports = editOnCompositionStart;","/**\n * Copyright (c) 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 * @providesModule editOnCopy\n * @format\n * \n */\n\n'use strict';\n\nvar getFragmentFromSelection = require('./getFragmentFromSelection');\n\n/**\n * If we have a selection, create a ContentState fragment and store\n * it in our internal clipboard. Subsequent paste events will use this\n * fragment if no external clipboard data is supplied.\n */\nfunction editOnCopy(editor, e) {\n var editorState = editor._latestEditorState;\n var selection = editorState.getSelection();\n\n // No selection, so there's nothing to copy.\n if (selection.isCollapsed()) {\n e.preventDefault();\n return;\n }\n\n editor.setClipboard(getFragmentFromSelection(editor._latestEditorState));\n}\n\nmodule.exports = editOnCopy;","/**\n * Copyright (c) 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 * @providesModule editOnCut\n * @format\n * \n */\n\n'use strict';\n\nvar DraftModifier = require('./DraftModifier');\nvar EditorState = require('./EditorState');\nvar Style = require('fbjs/lib/Style');\n\nvar getFragmentFromSelection = require('./getFragmentFromSelection');\nvar getScrollPosition = require('fbjs/lib/getScrollPosition');\n\n/**\n * On `cut` events, native behavior is allowed to occur so that the system\n * clipboard is set properly. This means that we need to take steps to recover\n * the editor DOM state after the `cut` has occurred in order to maintain\n * control of the component.\n *\n * In addition, we can keep a copy of the removed fragment, including all\n * styles and entities, for use as an internal paste.\n */\nfunction editOnCut(editor, e) {\n var editorState = editor._latestEditorState;\n var selection = editorState.getSelection();\n var element = e.target;\n var scrollPosition = void 0;\n\n // No selection, so there's nothing to cut.\n if (selection.isCollapsed()) {\n e.preventDefault();\n return;\n }\n\n // Track the current scroll position so that it can be forced back in place\n // after the editor regains control of the DOM.\n if (element instanceof Node) {\n scrollPosition = getScrollPosition(Style.getScrollParent(element));\n }\n\n var fragment = getFragmentFromSelection(editorState);\n editor.setClipboard(fragment);\n\n // Set `cut` mode to disable all event handling temporarily.\n editor.setMode('cut');\n\n // Let native `cut` behavior occur, then recover control.\n setTimeout(function () {\n editor.restoreEditorDOM(scrollPosition);\n editor.exitCurrentMode();\n editor.update(removeFragment(editorState));\n }, 0);\n}\n\nfunction removeFragment(editorState) {\n var newContent = DraftModifier.removeRange(editorState.getCurrentContent(), editorState.getSelection(), 'forward');\n return EditorState.push(editorState, newContent, 'remove-range');\n}\n\nmodule.exports = editOnCut;","/**\n * Copyright (c) 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 * @providesModule editOnDragOver\n * @format\n * \n */\n\n'use strict';\n\n/**\n * Drag behavior has begun from outside the editor element.\n */\nfunction editOnDragOver(editor, e) {\n editor._internalDrag = false;\n editor.setMode('drag');\n e.preventDefault();\n}\n\nmodule.exports = editOnDragOver;","/**\n * Copyright (c) 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 * @providesModule editOnDragStart\n * @format\n * \n */\n\n'use strict';\n\n/**\n * A `dragstart` event has begun within the text editor component.\n */\nfunction editOnDragStart(editor) {\n editor._internalDrag = true;\n editor.setMode('drag');\n}\n\nmodule.exports = editOnDragStart;","/**\n * Copyright (c) 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 * @providesModule editOnFocus\n * @format\n * \n */\n\n'use strict';\n\nvar EditorState = require('./EditorState');\nvar UserAgent = require('fbjs/lib/UserAgent');\n\nfunction editOnFocus(editor, e) {\n var editorState = editor._latestEditorState;\n var currentSelection = editorState.getSelection();\n if (currentSelection.getHasFocus()) {\n return;\n }\n\n var selection = currentSelection.set('hasFocus', true);\n editor.props.onFocus && editor.props.onFocus(e);\n\n // When the tab containing this text editor is hidden and the user does a\n // find-in-page in a _different_ tab, Chrome on Mac likes to forget what the\n // selection was right after sending this focus event and (if you let it)\n // moves the cursor back to the beginning of the editor, so we force the\n // selection here instead of simply accepting it in order to preserve the\n // old cursor position. See https://crbug.com/540004.\n // But it looks like this is fixed in Chrome 60.0.3081.0.\n // Other browsers also don't have this bug, so we prefer to acceptSelection\n // when possible, to ensure that unfocusing and refocusing a Draft editor\n // doesn't preserve the selection, matching how textareas work.\n if (UserAgent.isBrowser('Chrome < 60.0.3081.0')) {\n editor.update(EditorState.forceSelection(editorState, selection));\n } else {\n editor.update(EditorState.acceptSelection(editorState, selection));\n }\n}\n\nmodule.exports = editOnFocus;","/**\n * Copyright (c) 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 * @providesModule editOnInput\n * @format\n * \n */\n\n'use strict';\n\nvar DraftFeatureFlags = require('./DraftFeatureFlags');\nvar DraftModifier = require('./DraftModifier');\nvar DraftOffsetKey = require('./DraftOffsetKey');\nvar EditorState = require('./EditorState');\nvar UserAgent = require('fbjs/lib/UserAgent');\n\nvar findAncestorOffsetKey = require('./findAncestorOffsetKey');\nvar nullthrows = require('fbjs/lib/nullthrows');\n\nvar isGecko = UserAgent.isEngine('Gecko');\n\nvar DOUBLE_NEWLINE = '\\n\\n';\n\n/**\n * This function is intended to handle spellcheck and autocorrect changes,\n * which occur in the DOM natively without any opportunity to observe or\n * interpret the changes before they occur.\n *\n * The `input` event fires in contentEditable elements reliably for non-IE\n * browsers, immediately after changes occur to the editor DOM. Since our other\n * handlers override or otherwise handle cover other varieties of text input,\n * the DOM state should match the model in all controlled input cases. Thus,\n * when an `input` change leads to a DOM/model mismatch, the change should be\n * due to a spellcheck change, and we can incorporate it into our model.\n */\nfunction editOnInput(editor) {\n if (editor._pendingStateFromBeforeInput !== undefined) {\n editor.update(editor._pendingStateFromBeforeInput);\n editor._pendingStateFromBeforeInput = undefined;\n }\n\n var domSelection = global.getSelection();\n\n var anchorNode = domSelection.anchorNode,\n isCollapsed = domSelection.isCollapsed;\n\n var isNotTextNode = anchorNode.nodeType !== Node.TEXT_NODE;\n var isNotTextOrElementNode = anchorNode.nodeType !== Node.TEXT_NODE && anchorNode.nodeType !== Node.ELEMENT_NODE;\n\n if (DraftFeatureFlags.draft_killswitch_allow_nontextnodes) {\n if (isNotTextNode) {\n return;\n }\n } else {\n if (isNotTextOrElementNode) {\n // TODO: (t16149272) figure out context for this change\n return;\n }\n }\n\n if (anchorNode.nodeType === Node.TEXT_NODE && (anchorNode.previousSibling !== null || anchorNode.nextSibling !== null)) {\n // When typing at the beginning of a visual line, Chrome splits the text\n // nodes into two. Why? No one knows. This commit is suspicious:\n // https://chromium.googlesource.com/chromium/src/+/a3b600981286b135632371477f902214c55a1724\n // To work around, we'll merge the sibling text nodes back into this one.\n var span = anchorNode.parentNode;\n anchorNode.nodeValue = span.textContent;\n for (var child = span.firstChild; child !== null; child = child.nextSibling) {\n if (child !== anchorNode) {\n span.removeChild(child);\n }\n }\n }\n\n var domText = anchorNode.textContent;\n var editorState = editor._latestEditorState;\n var offsetKey = nullthrows(findAncestorOffsetKey(anchorNode));\n\n var _DraftOffsetKey$decod = DraftOffsetKey.decode(offsetKey),\n blockKey = _DraftOffsetKey$decod.blockKey,\n decoratorKey = _DraftOffsetKey$decod.decoratorKey,\n leafKey = _DraftOffsetKey$decod.leafKey;\n\n var _editorState$getBlock = editorState.getBlockTree(blockKey).getIn([decoratorKey, 'leaves', leafKey]),\n start = _editorState$getBlock.start,\n end = _editorState$getBlock.end;\n\n var content = editorState.getCurrentContent();\n var block = content.getBlockForKey(blockKey);\n var modelText = block.getText().slice(start, end);\n\n // Special-case soft newlines here. If the DOM text ends in a soft newline,\n // we will have manually inserted an extra soft newline in DraftEditorLeaf.\n // We want to remove this extra newline for the purpose of our comparison\n // of DOM and model text.\n if (domText.endsWith(DOUBLE_NEWLINE)) {\n domText = domText.slice(0, -1);\n }\n\n // No change -- the DOM is up to date. Nothing to do here.\n if (domText === modelText) {\n // This can be buggy for some Android keyboards because they don't fire\n // standard onkeydown/pressed events and only fired editOnInput\n // so domText is already changed by the browser and ends up being equal\n // to modelText unexpectedly\n return;\n }\n\n var selection = editorState.getSelection();\n\n // We'll replace the entire leaf with the text content of the target.\n var targetRange = selection.merge({\n anchorOffset: start,\n focusOffset: end,\n isBackward: false\n });\n\n var entityKey = block.getEntityAt(start);\n var entity = entityKey && content.getEntity(entityKey);\n var entityType = entity && entity.getMutability();\n var preserveEntity = entityType === 'MUTABLE';\n\n // Immutable or segmented entities cannot properly be handled by the\n // default browser undo, so we have to use a different change type to\n // force using our internal undo method instead of falling through to the\n // native browser undo.\n var changeType = preserveEntity ? 'spellcheck-change' : 'apply-entity';\n\n var newContent = DraftModifier.replaceText(content, targetRange, domText, block.getInlineStyleAt(start), preserveEntity ? block.getEntityAt(start) : null);\n\n var anchorOffset, focusOffset, startOffset, endOffset;\n\n if (isGecko) {\n // Firefox selection does not change while the context menu is open, so\n // we preserve the anchor and focus values of the DOM selection.\n anchorOffset = domSelection.anchorOffset;\n focusOffset = domSelection.focusOffset;\n startOffset = start + Math.min(anchorOffset, focusOffset);\n endOffset = startOffset + Math.abs(anchorOffset - focusOffset);\n anchorOffset = startOffset;\n focusOffset = endOffset;\n } else {\n // Browsers other than Firefox may adjust DOM selection while the context\n // menu is open, and Safari autocorrect is prone to providing an inaccurate\n // DOM selection. Don't trust it. Instead, use our existing SelectionState\n // and adjust it based on the number of characters changed during the\n // mutation.\n var charDelta = domText.length - modelText.length;\n startOffset = selection.getStartOffset();\n endOffset = selection.getEndOffset();\n\n anchorOffset = isCollapsed ? endOffset + charDelta : startOffset;\n focusOffset = endOffset + charDelta;\n }\n\n // Segmented entities are completely or partially removed when their\n // text content changes. For this case we do not want any text to be selected\n // after the change, so we are not merging the selection.\n var contentWithAdjustedDOMSelection = newContent.merge({\n selectionBefore: content.getSelectionAfter(),\n selectionAfter: selection.merge({ anchorOffset: anchorOffset, focusOffset: focusOffset })\n });\n\n editor.update(EditorState.push(editorState, contentWithAdjustedDOMSelection, changeType));\n}\n\nmodule.exports = editOnInput;","/**\n * Copyright (c) 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 * @providesModule editOnKeyDown\n * @format\n * \n */\n\n'use strict';\n\nvar DraftModifier = require('./DraftModifier');\nvar EditorState = require('./EditorState');\nvar KeyBindingUtil = require('./KeyBindingUtil');\nvar Keys = require('fbjs/lib/Keys');\nvar SecondaryClipboard = require('./SecondaryClipboard');\nvar UserAgent = require('fbjs/lib/UserAgent');\n\nvar isEventHandled = require('./isEventHandled');\nvar keyCommandBackspaceToStartOfLine = require('./keyCommandBackspaceToStartOfLine');\nvar keyCommandBackspaceWord = require('./keyCommandBackspaceWord');\nvar keyCommandDeleteWord = require('./keyCommandDeleteWord');\nvar keyCommandInsertNewline = require('./keyCommandInsertNewline');\nvar keyCommandMoveSelectionToEndOfBlock = require('./keyCommandMoveSelectionToEndOfBlock');\nvar keyCommandMoveSelectionToStartOfBlock = require('./keyCommandMoveSelectionToStartOfBlock');\nvar keyCommandPlainBackspace = require('./keyCommandPlainBackspace');\nvar keyCommandPlainDelete = require('./keyCommandPlainDelete');\nvar keyCommandTransposeCharacters = require('./keyCommandTransposeCharacters');\nvar keyCommandUndo = require('./keyCommandUndo');\n\nvar isOptionKeyCommand = KeyBindingUtil.isOptionKeyCommand;\n\nvar isChrome = UserAgent.isBrowser('Chrome');\n\n/**\n * Map a `DraftEditorCommand` command value to a corresponding function.\n */\nfunction onKeyCommand(command, editorState) {\n switch (command) {\n case 'redo':\n return EditorState.redo(editorState);\n case 'delete':\n return keyCommandPlainDelete(editorState);\n case 'delete-word':\n return keyCommandDeleteWord(editorState);\n case 'backspace':\n return keyCommandPlainBackspace(editorState);\n case 'backspace-word':\n return keyCommandBackspaceWord(editorState);\n case 'backspace-to-start-of-line':\n return keyCommandBackspaceToStartOfLine(editorState);\n case 'split-block':\n return keyCommandInsertNewline(editorState);\n case 'transpose-characters':\n return keyCommandTransposeCharacters(editorState);\n case 'move-selection-to-start-of-block':\n return keyCommandMoveSelectionToStartOfBlock(editorState);\n case 'move-selection-to-end-of-block':\n return keyCommandMoveSelectionToEndOfBlock(editorState);\n case 'secondary-cut':\n return SecondaryClipboard.cut(editorState);\n case 'secondary-paste':\n return SecondaryClipboard.paste(editorState);\n default:\n return editorState;\n }\n}\n\n/**\n * Intercept keydown behavior to handle keys and commands manually, if desired.\n *\n * Keydown combinations may be mapped to `DraftCommand` values, which may\n * correspond to command functions that modify the editor or its contents.\n *\n * See `getDefaultKeyBinding` for defaults. Alternatively, the top-level\n * component may provide a custom mapping via the `keyBindingFn` prop.\n */\nfunction editOnKeyDown(editor, e) {\n var keyCode = e.which;\n var editorState = editor._latestEditorState;\n\n switch (keyCode) {\n case Keys.RETURN:\n e.preventDefault();\n // The top-level component may manually handle newline insertion. If\n // no special handling is performed, fall through to command handling.\n if (editor.props.handleReturn && isEventHandled(editor.props.handleReturn(e, editorState))) {\n return;\n }\n break;\n case Keys.ESC:\n e.preventDefault();\n editor.props.onEscape && editor.props.onEscape(e);\n return;\n case Keys.TAB:\n editor.props.onTab && editor.props.onTab(e);\n return;\n case Keys.UP:\n editor.props.onUpArrow && editor.props.onUpArrow(e);\n return;\n case Keys.RIGHT:\n editor.props.onRightArrow && editor.props.onRightArrow(e);\n return;\n case Keys.DOWN:\n editor.props.onDownArrow && editor.props.onDownArrow(e);\n return;\n case Keys.LEFT:\n editor.props.onLeftArrow && editor.props.onLeftArrow(e);\n return;\n case Keys.SPACE:\n // Handling for OSX where option + space scrolls.\n if (isChrome && isOptionKeyCommand(e)) {\n e.preventDefault();\n // Insert a nbsp into the editor.\n var contentState = DraftModifier.replaceText(editorState.getCurrentContent(), editorState.getSelection(), '\\xA0');\n editor.update(EditorState.push(editorState, contentState, 'insert-characters'));\n return;\n }\n }\n\n var command = editor.props.keyBindingFn(e);\n\n // If no command is specified, allow keydown event to continue.\n if (!command) {\n return;\n }\n\n if (command === 'undo') {\n // Since undo requires some special updating behavior to keep the editor\n // in sync, handle it separately.\n keyCommandUndo(e, editorState, editor.update);\n return;\n }\n\n // At this point, we know that we're handling a command of some kind, so\n // we don't want to insert a character following the keydown.\n e.preventDefault();\n\n // Allow components higher up the tree to handle the command first.\n if (editor.props.handleKeyCommand && isEventHandled(editor.props.handleKeyCommand(command, editorState))) {\n return;\n }\n\n var newState = onKeyCommand(command, editorState);\n if (newState !== editorState) {\n editor.update(newState);\n }\n}\n\nmodule.exports = editOnKeyDown;","/**\n * Copyright (c) 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 * @providesModule editOnPaste\n * @format\n * \n */\n\n'use strict';\n\nvar BlockMapBuilder = require('./BlockMapBuilder');\nvar CharacterMetadata = require('./CharacterMetadata');\nvar DataTransfer = require('fbjs/lib/DataTransfer');\nvar DraftModifier = require('./DraftModifier');\nvar DraftPasteProcessor = require('./DraftPasteProcessor');\nvar EditorState = require('./EditorState');\nvar RichTextEditorUtil = require('./RichTextEditorUtil');\n\nvar getEntityKeyForSelection = require('./getEntityKeyForSelection');\nvar getTextContentFromFiles = require('./getTextContentFromFiles');\nvar isEventHandled = require('./isEventHandled');\nvar splitTextIntoTextBlocks = require('./splitTextIntoTextBlocks');\n\n/**\n * Paste content.\n */\nfunction editOnPaste(editor, e) {\n e.preventDefault();\n var data = new DataTransfer(e.clipboardData);\n\n // Get files, unless this is likely to be a string the user wants inline.\n if (!data.isRichText()) {\n var files = data.getFiles();\n var defaultFileText = data.getText();\n if (files.length > 0) {\n // Allow customized paste handling for images, etc. Otherwise, fall\n // through to insert text contents into the editor.\n if (editor.props.handlePastedFiles && isEventHandled(editor.props.handlePastedFiles(files))) {\n return;\n }\n\n getTextContentFromFiles(files, function ( /*string*/fileText) {\n fileText = fileText || defaultFileText;\n if (!fileText) {\n return;\n }\n\n var editorState = editor._latestEditorState;\n var blocks = splitTextIntoTextBlocks(fileText);\n var character = CharacterMetadata.create({\n style: editorState.getCurrentInlineStyle(),\n entity: getEntityKeyForSelection(editorState.getCurrentContent(), editorState.getSelection())\n });\n var currentBlockType = RichTextEditorUtil.getCurrentBlockType(editorState);\n\n var text = DraftPasteProcessor.processText(blocks, character, currentBlockType);\n var fragment = BlockMapBuilder.createFromArray(text);\n\n var withInsertedText = DraftModifier.replaceWithFragment(editorState.getCurrentContent(), editorState.getSelection(), fragment);\n\n editor.update(EditorState.push(editorState, withInsertedText, 'insert-fragment'));\n });\n\n return;\n }\n }\n\n var textBlocks = [];\n var text = data.getText();\n var html = data.getHTML();\n var editorState = editor._latestEditorState;\n\n if (editor.props.handlePastedText && isEventHandled(editor.props.handlePastedText(text, html, editorState))) {\n return;\n }\n\n if (text) {\n textBlocks = splitTextIntoTextBlocks(text);\n }\n\n if (!editor.props.stripPastedStyles) {\n // If the text from the paste event is rich content that matches what we\n // already have on the internal clipboard, assume that we should just use\n // the clipboard fragment for the paste. This will allow us to preserve\n // styling and entities, if any are present. Note that newlines are\n // stripped during comparison -- this is because copy/paste within the\n // editor in Firefox and IE will not include empty lines. The resulting\n // paste will preserve the newlines correctly.\n var internalClipboard = editor.getClipboard();\n if (data.isRichText() && internalClipboard) {\n if (\n // If the editorKey is present in the pasted HTML, it should be safe to\n // assume this is an internal paste.\n html.indexOf(editor.getEditorKey()) !== -1 ||\n // The copy may have been made within a single block, in which case the\n // editor key won't be part of the paste. In this case, just check\n // whether the pasted text matches the internal clipboard.\n textBlocks.length === 1 && internalClipboard.size === 1 && internalClipboard.first().getText() === text) {\n editor.update(insertFragment(editor._latestEditorState, internalClipboard));\n return;\n }\n } else if (internalClipboard && data.types.includes('com.apple.webarchive') && !data.types.includes('text/html') && areTextBlocksAndClipboardEqual(textBlocks, internalClipboard)) {\n // Safari does not properly store text/html in some cases.\n // Use the internalClipboard if present and equal to what is on\n // the clipboard. See https://bugs.webkit.org/show_bug.cgi?id=19893.\n editor.update(insertFragment(editor._latestEditorState, internalClipboard));\n return;\n }\n\n // If there is html paste data, try to parse that.\n if (html) {\n var htmlFragment = DraftPasteProcessor.processHTML(html, editor.props.blockRenderMap);\n if (htmlFragment) {\n var contentBlocks = htmlFragment.contentBlocks,\n entityMap = htmlFragment.entityMap;\n\n if (contentBlocks) {\n var htmlMap = BlockMapBuilder.createFromArray(contentBlocks);\n editor.update(insertFragment(editor._latestEditorState, htmlMap, entityMap));\n return;\n }\n }\n }\n\n // Otherwise, create a new fragment from our pasted text. Also\n // empty the internal clipboard, since it's no longer valid.\n editor.setClipboard(null);\n }\n\n if (textBlocks.length) {\n var character = CharacterMetadata.create({\n style: editorState.getCurrentInlineStyle(),\n entity: getEntityKeyForSelection(editorState.getCurrentContent(), editorState.getSelection())\n });\n\n var currentBlockType = RichTextEditorUtil.getCurrentBlockType(editorState);\n\n var textFragment = DraftPasteProcessor.processText(textBlocks, character, currentBlockType);\n\n var textMap = BlockMapBuilder.createFromArray(textFragment);\n editor.update(insertFragment(editor._latestEditorState, textMap));\n }\n}\n\nfunction insertFragment(editorState, fragment, entityMap) {\n var newContent = DraftModifier.replaceWithFragment(editorState.getCurrentContent(), editorState.getSelection(), fragment);\n // TODO: merge the entity map once we stop using DraftEntity\n // like this:\n // const mergedEntityMap = newContent.getEntityMap().merge(entityMap);\n\n return EditorState.push(editorState, newContent.set('entityMap', entityMap), 'insert-fragment');\n}\n\nfunction areTextBlocksAndClipboardEqual(textBlocks, blockMap) {\n return textBlocks.length === blockMap.size && blockMap.valueSeq().every(function (block, ii) {\n return block.getText() === textBlocks[ii];\n });\n}\n\nmodule.exports = editOnPaste;","/**\n * Copyright (c) 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 * @providesModule editOnSelect\n * @format\n * \n */\n\n'use strict';\n\nvar EditorState = require('./EditorState');\nvar ReactDOM = require('react-dom');\n\nvar getDraftEditorSelection = require('./getDraftEditorSelection');\nvar invariant = require('fbjs/lib/invariant');\n\nfunction editOnSelect(editor) {\n if (editor._blockSelectEvents || editor._latestEditorState !== editor.props.editorState) {\n return;\n }\n\n var editorState = editor.props.editorState;\n var editorNode = ReactDOM.findDOMNode(editor.editorContainer);\n !editorNode ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Missing editorNode') : invariant(false) : void 0;\n !(editorNode.firstChild instanceof HTMLElement) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'editorNode.firstChild is not an HTMLElement') : invariant(false) : void 0;\n var documentSelection = getDraftEditorSelection(editorState, editorNode.firstChild);\n var updatedSelectionState = documentSelection.selectionState;\n\n if (updatedSelectionState !== editorState.getSelection()) {\n if (documentSelection.needsRecovery) {\n editorState = EditorState.forceSelection(editorState, updatedSelectionState);\n } else {\n editorState = EditorState.acceptSelection(editorState, updatedSelectionState);\n }\n editor.update(editorState);\n }\n}\n\nmodule.exports = editOnSelect;","/**\n * Copyright (c) 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 * @providesModule encodeEntityRanges\n * @format\n * \n */\n\n'use strict';\n\nvar DraftStringKey = require('./DraftStringKey');\nvar UnicodeUtils = require('fbjs/lib/UnicodeUtils');\n\nvar strlen = UnicodeUtils.strlen;\n\n/**\n * Convert to UTF-8 character counts for storage.\n */\n\nfunction encodeEntityRanges(block, storageMap) {\n var encoded = [];\n block.findEntityRanges(function (character) {\n return !!character.getEntity();\n }, function ( /*number*/start, /*number*/end) {\n var text = block.getText();\n var key = block.getEntityAt(start);\n encoded.push({\n offset: strlen(text.slice(0, start)),\n length: strlen(text.slice(start, end)),\n // Encode the key as a number for range storage.\n key: Number(storageMap[DraftStringKey.stringify(key)])\n });\n });\n return encoded;\n}\n\nmodule.exports = encodeEntityRanges;","/**\n * Copyright (c) 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 * @providesModule encodeInlineStyleRanges\n * @format\n * \n */\n\n'use strict';\n\nvar UnicodeUtils = require('fbjs/lib/UnicodeUtils');\n\nvar findRangesImmutable = require('./findRangesImmutable');\n\nvar areEqual = function areEqual(a, b) {\n return a === b;\n};\nvar isTruthy = function isTruthy(a) {\n return !!a;\n};\nvar EMPTY_ARRAY = [];\n\n/**\n * Helper function for getting encoded styles for each inline style. Convert\n * to UTF-8 character counts for storage.\n */\nfunction getEncodedInlinesForType(block, styleList, styleToEncode) {\n var ranges = [];\n\n // Obtain an array with ranges for only the specified style.\n var filteredInlines = styleList.map(function (style) {\n return style.has(styleToEncode);\n }).toList();\n\n findRangesImmutable(filteredInlines, areEqual,\n // We only want to keep ranges with nonzero style values.\n isTruthy, function (start, end) {\n var text = block.getText();\n ranges.push({\n offset: UnicodeUtils.strlen(text.slice(0, start)),\n length: UnicodeUtils.strlen(text.slice(start, end)),\n style: styleToEncode\n });\n });\n\n return ranges;\n}\n\n/*\n * Retrieve the encoded arrays of inline styles, with each individual style\n * treated separately.\n */\nfunction encodeInlineStyleRanges(block) {\n var styleList = block.getCharacterList().map(function (c) {\n return c.getStyle();\n }).toList();\n var ranges = styleList.flatten().toSet().map(function (style) {\n return getEncodedInlinesForType(block, styleList, style);\n });\n\n return Array.prototype.concat.apply(EMPTY_ARRAY, ranges.toJS());\n}\n\nmodule.exports = encodeInlineStyleRanges;","'use strict';\n\n/**\n * Copyright (c) 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 * @providesModule expandRangeToStartOfLine\n * @format\n * \n */\n\nvar UnicodeUtils = require('fbjs/lib/UnicodeUtils');\n\nvar getRangeClientRects = require('./getRangeClientRects');\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Return the computed line height, in pixels, for the provided element.\n */\nfunction getLineHeightPx(element) {\n var computed = getComputedStyle(element);\n var div = document.createElement('div');\n div.style.fontFamily = computed.fontFamily;\n div.style.fontSize = computed.fontSize;\n div.style.fontStyle = computed.fontStyle;\n div.style.fontWeight = computed.fontWeight;\n div.style.lineHeight = computed.lineHeight;\n div.style.position = 'absolute';\n div.textContent = 'M';\n\n var documentBody = document.body;\n !documentBody ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Missing document.body') : invariant(false) : void 0;\n\n // forced layout here\n documentBody.appendChild(div);\n var rect = div.getBoundingClientRect();\n documentBody.removeChild(div);\n\n return rect.height;\n}\n\n/**\n * Return whether every ClientRect in the provided list lies on the same line.\n *\n * We assume that the rects on the same line all contain the baseline, so the\n * lowest top line needs to be above the highest bottom line (i.e., if you were\n * to project the rects onto the y-axis, their intersection would be nonempty).\n *\n * In addition, we require that no two boxes are lineHeight (or more) apart at\n * either top or bottom, which helps protect against false positives for fonts\n * with extremely large glyph heights (e.g., with a font size of 17px, Zapfino\n * produces rects of height 58px!).\n */\nfunction areRectsOnOneLine(rects, lineHeight) {\n var minTop = Infinity;\n var minBottom = Infinity;\n var maxTop = -Infinity;\n var maxBottom = -Infinity;\n\n for (var ii = 0; ii < rects.length; ii++) {\n var rect = rects[ii];\n if (rect.width === 0 || rect.width === 1) {\n // When a range starts or ends a soft wrap, many browsers (Chrome, IE,\n // Safari) include an empty rect on the previous or next line. When the\n // text lies in a container whose position is not integral (e.g., from\n // margin: auto), Safari makes these empty rects have width 1 (instead of\n // 0). Having one-pixel-wide characters seems unlikely (and most browsers\n // report widths in subpixel precision anyway) so it's relatively safe to\n // skip over them.\n continue;\n }\n minTop = Math.min(minTop, rect.top);\n minBottom = Math.min(minBottom, rect.bottom);\n maxTop = Math.max(maxTop, rect.top);\n maxBottom = Math.max(maxBottom, rect.bottom);\n }\n\n return maxTop <= minBottom && maxTop - minTop < lineHeight && maxBottom - minBottom < lineHeight;\n}\n\n/**\n * Return the length of a node, as used by Range offsets.\n */\nfunction getNodeLength(node) {\n // http://www.w3.org/TR/dom/#concept-node-length\n switch (node.nodeType) {\n case Node.DOCUMENT_TYPE_NODE:\n return 0;\n case Node.TEXT_NODE:\n case Node.PROCESSING_INSTRUCTION_NODE:\n case Node.COMMENT_NODE:\n return node.length;\n default:\n return node.childNodes.length;\n }\n}\n\n/**\n * Given a collapsed range, move the start position backwards as far as\n * possible while the range still spans only a single line.\n */\nfunction expandRangeToStartOfLine(range) {\n !range.collapsed ? process.env.NODE_ENV !== 'production' ? invariant(false, 'expandRangeToStartOfLine: Provided range is not collapsed.') : invariant(false) : void 0;\n range = range.cloneRange();\n\n var containingElement = range.startContainer;\n if (containingElement.nodeType !== 1) {\n containingElement = containingElement.parentNode;\n }\n var lineHeight = getLineHeightPx(containingElement);\n\n // Imagine our text looks like:\n // <div><span>once upon a time, there was a <em>boy\n // who lived</em> </span><q><strong>under^ the\n // stairs</strong> in a small closet.</q></div>\n // where the caret represents the cursor. First, we crawl up the tree until\n // the range spans multiple lines (setting the start point to before\n // \"<strong>\", then before \"<div>\"), then at each level we do a search to\n // find the latest point which is still on a previous line. We'll find that\n // the break point is inside the span, then inside the <em>, then in its text\n // node child, the actual break point before \"who\".\n\n var bestContainer = range.endContainer;\n var bestOffset = range.endOffset;\n range.setStart(range.startContainer, 0);\n\n while (areRectsOnOneLine(getRangeClientRects(range), lineHeight)) {\n bestContainer = range.startContainer;\n bestOffset = range.startOffset;\n !bestContainer.parentNode ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Found unexpected detached subtree when traversing.') : invariant(false) : void 0;\n range.setStartBefore(bestContainer);\n if (bestContainer.nodeType === 1 && getComputedStyle(bestContainer).display !== 'inline') {\n // The start of the line is never in a different block-level container.\n break;\n }\n }\n\n // In the above example, range now spans from \"<div>\" to \"under\",\n // bestContainer is <div>, and bestOffset is 1 (index of <q> inside <div>)].\n // Picking out which child to recurse into here is a special case since we\n // don't want to check past <q> -- once we find that the final range starts\n // in <span>, we can look at all of its children (and all of their children)\n // to find the break point.\n\n // At all times, (bestContainer, bestOffset) is the latest single-line start\n // point that we know of.\n var currentContainer = bestContainer;\n var maxIndexToConsider = bestOffset - 1;\n\n do {\n var nodeValue = currentContainer.nodeValue;\n\n for (var ii = maxIndexToConsider; ii >= 0; ii--) {\n if (nodeValue != null && ii > 0 && UnicodeUtils.isSurrogatePair(nodeValue, ii - 1)) {\n // We're in the middle of a surrogate pair -- skip over so we never\n // return a range with an endpoint in the middle of a code point.\n continue;\n }\n\n range.setStart(currentContainer, ii);\n if (areRectsOnOneLine(getRangeClientRects(range), lineHeight)) {\n bestContainer = currentContainer;\n bestOffset = ii;\n } else {\n break;\n }\n }\n\n if (ii === -1 || currentContainer.childNodes.length === 0) {\n // If ii === -1, then (bestContainer, bestOffset), which is equal to\n // (currentContainer, 0), was a single-line start point but a start\n // point before currentContainer wasn't, so the line break seems to\n // have occurred immediately after currentContainer's start tag\n //\n // If currentContainer.childNodes.length === 0, we're already at a\n // terminal node (e.g., text node) and should return our current best.\n break;\n }\n\n currentContainer = currentContainer.childNodes[ii];\n maxIndexToConsider = getNodeLength(currentContainer);\n } while (true);\n\n range.setStart(bestContainer, bestOffset);\n return range;\n}\n\nmodule.exports = expandRangeToStartOfLine;","/**\n * Copyright (c) 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 * @providesModule findAncestorOffsetKey\n * @format\n * \n */\n\n'use strict';\n\nvar getSelectionOffsetKeyForNode = require('./getSelectionOffsetKeyForNode');\n\n/**\n * Get the key from the node's nearest offset-aware ancestor.\n */\nfunction findAncestorOffsetKey(node) {\n var searchNode = node;\n while (searchNode && searchNode !== document.documentElement) {\n var key = getSelectionOffsetKeyForNode(searchNode);\n if (key != null) {\n return key;\n }\n searchNode = searchNode.parentNode;\n }\n return null;\n}\n\nmodule.exports = findAncestorOffsetKey;","/**\n * Copyright (c) 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 * @providesModule findRangesImmutable\n * @format\n * \n */\n\n'use strict';\n\n/**\n * Search through an array to find contiguous stretches of elements that\n * match a specified filter function.\n *\n * When ranges are found, execute a specified `found` function to supply\n * the values to the caller.\n */\nfunction findRangesImmutable(haystack, areEqualFn, filterFn, foundFn) {\n if (!haystack.size) {\n return;\n }\n\n var cursor = 0;\n\n haystack.reduce(function (value, nextValue, nextIndex) {\n if (!areEqualFn(value, nextValue)) {\n if (filterFn(value)) {\n foundFn(cursor, nextIndex);\n }\n cursor = nextIndex;\n }\n return nextValue;\n });\n\n filterFn(haystack.last()) && foundFn(cursor, haystack.count());\n}\n\nmodule.exports = findRangesImmutable;","/**\n * Copyright (c) 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 * @providesModule generateRandomKey\n * @format\n * \n */\n\n'use strict';\n\nvar seenKeys = {};\nvar MULTIPLIER = Math.pow(2, 24);\n\nfunction generateRandomKey() {\n var key = void 0;\n while (key === undefined || seenKeys.hasOwnProperty(key) || !isNaN(+key)) {\n key = Math.floor(Math.random() * MULTIPLIER).toString(32);\n }\n seenKeys[key] = true;\n return key;\n}\n\nmodule.exports = generateRandomKey;","/**\n * Copyright (c) 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 * @providesModule getCharacterRemovalRange\n * @format\n * \n */\n\n'use strict';\n\nvar DraftEntitySegments = require('./DraftEntitySegments');\n\nvar getRangesForDraftEntity = require('./getRangesForDraftEntity');\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Given a SelectionState and a removal direction, determine the entire range\n * that should be removed from a ContentState. This is based on any entities\n * within the target, with their `mutability` values taken into account.\n *\n * For instance, if we are attempting to remove part of an \"immutable\" entity\n * range, the entire entity must be removed. The returned `SelectionState`\n * will be adjusted accordingly.\n */\nfunction getCharacterRemovalRange(entityMap, startBlock, endBlock, selectionState, direction) {\n var start = selectionState.getStartOffset();\n var end = selectionState.getEndOffset();\n var startEntityKey = startBlock.getEntityAt(start);\n var endEntityKey = endBlock.getEntityAt(end - 1);\n if (!startEntityKey && !endEntityKey) {\n return selectionState;\n }\n var newSelectionState = selectionState;\n if (startEntityKey && startEntityKey === endEntityKey) {\n newSelectionState = getEntityRemovalRange(entityMap, startBlock, newSelectionState, direction, startEntityKey, true, true);\n } else if (startEntityKey && endEntityKey) {\n var startSelectionState = getEntityRemovalRange(entityMap, startBlock, newSelectionState, direction, startEntityKey, false, true);\n var endSelectionState = getEntityRemovalRange(entityMap, endBlock, newSelectionState, direction, endEntityKey, false, false);\n newSelectionState = newSelectionState.merge({\n anchorOffset: startSelectionState.getAnchorOffset(),\n focusOffset: endSelectionState.getFocusOffset(),\n isBackward: false\n });\n } else if (startEntityKey) {\n var _startSelectionState = getEntityRemovalRange(entityMap, startBlock, newSelectionState, direction, startEntityKey, false, true);\n newSelectionState = newSelectionState.merge({\n anchorOffset: _startSelectionState.getStartOffset(),\n isBackward: false\n });\n } else if (endEntityKey) {\n var _endSelectionState = getEntityRemovalRange(entityMap, endBlock, newSelectionState, direction, endEntityKey, false, false);\n newSelectionState = newSelectionState.merge({\n focusOffset: _endSelectionState.getEndOffset(),\n isBackward: false\n });\n }\n return newSelectionState;\n}\n\nfunction getEntityRemovalRange(entityMap, block, selectionState, direction, entityKey, isEntireSelectionWithinEntity, isEntityAtStart) {\n var start = selectionState.getStartOffset();\n var end = selectionState.getEndOffset();\n var entity = entityMap.__get(entityKey);\n var mutability = entity.getMutability();\n var sideToConsider = isEntityAtStart ? start : end;\n\n // `MUTABLE` entities can just have the specified range of text removed\n // directly. No adjustments are needed.\n if (mutability === 'MUTABLE') {\n return selectionState;\n }\n\n // Find the entity range that overlaps with our removal range.\n var entityRanges = getRangesForDraftEntity(block, entityKey).filter(function (range) {\n return sideToConsider <= range.end && sideToConsider >= range.start;\n });\n\n !(entityRanges.length == 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'There should only be one entity range within this removal range.') : invariant(false) : void 0;\n\n var entityRange = entityRanges[0];\n\n // For `IMMUTABLE` entity types, we will remove the entire entity range.\n if (mutability === 'IMMUTABLE') {\n return selectionState.merge({\n anchorOffset: entityRange.start,\n focusOffset: entityRange.end,\n isBackward: false\n });\n }\n\n // For `SEGMENTED` entity types, determine the appropriate segment to\n // remove.\n if (!isEntireSelectionWithinEntity) {\n if (isEntityAtStart) {\n end = entityRange.end;\n } else {\n start = entityRange.start;\n }\n }\n\n var removalRange = DraftEntitySegments.getRemovalRange(start, end, block.getText().slice(entityRange.start, entityRange.end), entityRange.start, direction);\n\n return selectionState.merge({\n anchorOffset: removalRange.start,\n focusOffset: removalRange.end,\n isBackward: false\n });\n}\n\nmodule.exports = getCharacterRemovalRange;","/**\n * Copyright (c) 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 * @providesModule getContentStateFragment\n * @format\n * \n */\n\n'use strict';\n\nvar randomizeBlockMapKeys = require('./randomizeBlockMapKeys');\nvar removeEntitiesAtEdges = require('./removeEntitiesAtEdges');\n\nvar getContentStateFragment = function getContentStateFragment(contentState, selectionState) {\n var startKey = selectionState.getStartKey();\n var startOffset = selectionState.getStartOffset();\n var endKey = selectionState.getEndKey();\n var endOffset = selectionState.getEndOffset();\n\n // Edge entities should be stripped to ensure that we don't preserve\n // invalid partial entities when the fragment is reused. We do, however,\n // preserve entities that are entirely within the selection range.\n var contentWithoutEdgeEntities = removeEntitiesAtEdges(contentState, selectionState);\n\n var blockMap = contentWithoutEdgeEntities.getBlockMap();\n var blockKeys = blockMap.keySeq();\n var startIndex = blockKeys.indexOf(startKey);\n var endIndex = blockKeys.indexOf(endKey) + 1;\n\n return randomizeBlockMapKeys(blockMap.slice(startIndex, endIndex).map(function (block, blockKey) {\n var text = block.getText();\n var chars = block.getCharacterList();\n\n if (startKey === endKey) {\n return block.merge({\n text: text.slice(startOffset, endOffset),\n characterList: chars.slice(startOffset, endOffset)\n });\n }\n\n if (blockKey === startKey) {\n return block.merge({\n text: text.slice(startOffset),\n characterList: chars.slice(startOffset)\n });\n }\n\n if (blockKey === endKey) {\n return block.merge({\n text: text.slice(0, endOffset),\n characterList: chars.slice(0, endOffset)\n });\n }\n\n return block;\n }));\n};\n\nmodule.exports = getContentStateFragment;","/**\n * Copyright (c) 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 * @providesModule getDefaultKeyBinding\n * @format\n * \n */\n\n'use strict';\n\nvar KeyBindingUtil = require('./KeyBindingUtil');\nvar Keys = require('fbjs/lib/Keys');\nvar UserAgent = require('fbjs/lib/UserAgent');\n\nvar isOSX = UserAgent.isPlatform('Mac OS X');\nvar isWindows = UserAgent.isPlatform('Windows');\n\n// Firefox on OSX had a bug resulting in navigation instead of cursor movement.\n// This bug was fixed in Firefox 29. Feature detection is virtually impossible\n// so we just check the version number. See #342765.\nvar shouldFixFirefoxMovement = isOSX && UserAgent.isBrowser('Firefox < 29');\n\nvar hasCommandModifier = KeyBindingUtil.hasCommandModifier,\n isCtrlKeyCommand = KeyBindingUtil.isCtrlKeyCommand;\n\n\nfunction shouldRemoveWord(e) {\n return isOSX && e.altKey || isCtrlKeyCommand(e);\n}\n\n/**\n * Get the appropriate undo/redo command for a Z key command.\n */\nfunction getZCommand(e) {\n if (!hasCommandModifier(e)) {\n return null;\n }\n return e.shiftKey ? 'redo' : 'undo';\n}\n\nfunction getDeleteCommand(e) {\n // Allow default \"cut\" behavior for Windows on Shift + Delete.\n if (isWindows && e.shiftKey) {\n return null;\n }\n return shouldRemoveWord(e) ? 'delete-word' : 'delete';\n}\n\nfunction getBackspaceCommand(e) {\n if (hasCommandModifier(e) && isOSX) {\n return 'backspace-to-start-of-line';\n }\n return shouldRemoveWord(e) ? 'backspace-word' : 'backspace';\n}\n\n/**\n * Retrieve a bound key command for the given event.\n */\nfunction getDefaultKeyBinding(e) {\n switch (e.keyCode) {\n case 66:\n // B\n return hasCommandModifier(e) ? 'bold' : null;\n case 68:\n // D\n return isCtrlKeyCommand(e) ? 'delete' : null;\n case 72:\n // H\n return isCtrlKeyCommand(e) ? 'backspace' : null;\n case 73:\n // I\n return hasCommandModifier(e) ? 'italic' : null;\n case 74:\n // J\n return hasCommandModifier(e) ? 'code' : null;\n case 75:\n // K\n return !isWindows && isCtrlKeyCommand(e) ? 'secondary-cut' : null;\n case 77:\n // M\n return isCtrlKeyCommand(e) ? 'split-block' : null;\n case 79:\n // O\n return isCtrlKeyCommand(e) ? 'split-block' : null;\n case 84:\n // T\n return isOSX && isCtrlKeyCommand(e) ? 'transpose-characters' : null;\n case 85:\n // U\n return hasCommandModifier(e) ? 'underline' : null;\n case 87:\n // W\n return isOSX && isCtrlKeyCommand(e) ? 'backspace-word' : null;\n case 89:\n // Y\n if (isCtrlKeyCommand(e)) {\n return isWindows ? 'redo' : 'secondary-paste';\n }\n return null;\n case 90:\n // Z\n return getZCommand(e) || null;\n case Keys.RETURN:\n return 'split-block';\n case Keys.DELETE:\n return getDeleteCommand(e);\n case Keys.BACKSPACE:\n return getBackspaceCommand(e);\n // LEFT/RIGHT handlers serve as a workaround for a Firefox bug.\n case Keys.LEFT:\n return shouldFixFirefoxMovement && hasCommandModifier(e) ? 'move-selection-to-start-of-block' : null;\n case Keys.RIGHT:\n return shouldFixFirefoxMovement && hasCommandModifier(e) ? 'move-selection-to-end-of-block' : null;\n default:\n return null;\n }\n}\n\nmodule.exports = getDefaultKeyBinding;","/**\n * Copyright (c) 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 * @providesModule getDraftEditorSelection\n * @format\n * \n */\n\n'use strict';\n\nvar getDraftEditorSelectionWithNodes = require('./getDraftEditorSelectionWithNodes');\n\n/**\n * Convert the current selection range to an anchor/focus pair of offset keys\n * and values that can be interpreted by components.\n */\nfunction getDraftEditorSelection(editorState, root) {\n var selection = global.getSelection();\n\n // No active selection.\n if (selection.rangeCount === 0) {\n return {\n selectionState: editorState.getSelection().set('hasFocus', false),\n needsRecovery: false\n };\n }\n\n return getDraftEditorSelectionWithNodes(editorState, root, selection.anchorNode, selection.anchorOffset, selection.focusNode, selection.focusOffset);\n}\n\nmodule.exports = getDraftEditorSelection;","/**\n * Copyright (c) 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 * @providesModule getDraftEditorSelectionWithNodes\n * @format\n * \n */\n\n'use strict';\n\nvar findAncestorOffsetKey = require('./findAncestorOffsetKey');\nvar getSelectionOffsetKeyForNode = require('./getSelectionOffsetKeyForNode');\nvar getUpdatedSelectionState = require('./getUpdatedSelectionState');\nvar invariant = require('fbjs/lib/invariant');\nvar nullthrows = require('fbjs/lib/nullthrows');\n\n/**\n * Convert the current selection range to an anchor/focus pair of offset keys\n * and values that can be interpreted by components.\n */\nfunction getDraftEditorSelectionWithNodes(editorState, root, anchorNode, anchorOffset, focusNode, focusOffset) {\n var anchorIsTextNode = anchorNode.nodeType === Node.TEXT_NODE;\n var focusIsTextNode = focusNode.nodeType === Node.TEXT_NODE;\n\n // If the selection range lies only on text nodes, the task is simple.\n // Find the nearest offset-aware elements and use the\n // offset values supplied by the selection range.\n if (anchorIsTextNode && focusIsTextNode) {\n return {\n selectionState: getUpdatedSelectionState(editorState, nullthrows(findAncestorOffsetKey(anchorNode)), anchorOffset, nullthrows(findAncestorOffsetKey(focusNode)), focusOffset),\n needsRecovery: false\n };\n }\n\n var anchorPoint = null;\n var focusPoint = null;\n var needsRecovery = true;\n\n // An element is selected. Convert this selection range into leaf offset\n // keys and offset values for consumption at the component level. This\n // is common in Firefox, where select-all and triple click behavior leads\n // to entire elements being selected.\n //\n // Note that we use the `needsRecovery` parameter in the callback here. This\n // is because when certain elements are selected, the behavior for subsequent\n // cursor movement (e.g. via arrow keys) is uncertain and may not match\n // expectations at the component level. For example, if an entire <div> is\n // selected and the user presses the right arrow, Firefox keeps the selection\n // on the <div>. If we allow subsequent keypresses to insert characters\n // natively, they will be inserted into a browser-created text node to the\n // right of that <div>. This is obviously undesirable.\n //\n // With the `needsRecovery` flag, we inform the caller that it is responsible\n // for manually setting the selection state on the rendered document to\n // ensure proper selection state maintenance.\n\n if (anchorIsTextNode) {\n anchorPoint = {\n key: nullthrows(findAncestorOffsetKey(anchorNode)),\n offset: anchorOffset\n };\n focusPoint = getPointForNonTextNode(root, focusNode, focusOffset);\n } else if (focusIsTextNode) {\n focusPoint = {\n key: nullthrows(findAncestorOffsetKey(focusNode)),\n offset: focusOffset\n };\n anchorPoint = getPointForNonTextNode(root, anchorNode, anchorOffset);\n } else {\n anchorPoint = getPointForNonTextNode(root, anchorNode, anchorOffset);\n focusPoint = getPointForNonTextNode(root, focusNode, focusOffset);\n\n // If the selection is collapsed on an empty block, don't force recovery.\n // This way, on arrow key selection changes, the browser can move the\n // cursor from a non-zero offset on one block, through empty blocks,\n // to a matching non-zero offset on other text blocks.\n if (anchorNode === focusNode && anchorOffset === focusOffset) {\n needsRecovery = !!anchorNode.firstChild && anchorNode.firstChild.nodeName !== 'BR';\n }\n }\n\n return {\n selectionState: getUpdatedSelectionState(editorState, anchorPoint.key, anchorPoint.offset, focusPoint.key, focusPoint.offset),\n needsRecovery: needsRecovery\n };\n}\n\n/**\n * Identify the first leaf descendant for the given node.\n */\nfunction getFirstLeaf(node) {\n while (node.firstChild && (\n // data-blocks has no offset\n node.firstChild instanceof Element && node.firstChild.getAttribute('data-blocks') === 'true' || getSelectionOffsetKeyForNode(node.firstChild))) {\n node = node.firstChild;\n }\n return node;\n}\n\n/**\n * Identify the last leaf descendant for the given node.\n */\nfunction getLastLeaf(node) {\n while (node.lastChild && (\n // data-blocks has no offset\n node.lastChild instanceof Element && node.lastChild.getAttribute('data-blocks') === 'true' || getSelectionOffsetKeyForNode(node.lastChild))) {\n node = node.lastChild;\n }\n return node;\n}\n\nfunction getPointForNonTextNode(editorRoot, startNode, childOffset) {\n var node = startNode;\n var offsetKey = findAncestorOffsetKey(node);\n\n !(offsetKey != null || editorRoot && (editorRoot === node || editorRoot.firstChild === node)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unknown node in selection range.') : invariant(false) : void 0;\n\n // If the editorRoot is the selection, step downward into the content\n // wrapper.\n if (editorRoot === node) {\n node = node.firstChild;\n !(node instanceof Element && node.getAttribute('data-contents') === 'true') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Invalid DraftEditorContents structure.') : invariant(false) : void 0;\n if (childOffset > 0) {\n childOffset = node.childNodes.length;\n }\n }\n\n // If the child offset is zero and we have an offset key, we're done.\n // If there's no offset key because the entire editor is selected,\n // find the leftmost (\"first\") leaf in the tree and use that as the offset\n // key.\n if (childOffset === 0) {\n var key = null;\n if (offsetKey != null) {\n key = offsetKey;\n } else {\n var firstLeaf = getFirstLeaf(node);\n key = nullthrows(getSelectionOffsetKeyForNode(firstLeaf));\n }\n return { key: key, offset: 0 };\n }\n\n var nodeBeforeCursor = node.childNodes[childOffset - 1];\n var leafKey = null;\n var textLength = null;\n\n if (!getSelectionOffsetKeyForNode(nodeBeforeCursor)) {\n // Our target node may be a leaf or a text node, in which case we're\n // already where we want to be and can just use the child's length as\n // our offset.\n leafKey = nullthrows(offsetKey);\n textLength = getTextContentLength(nodeBeforeCursor);\n } else {\n // Otherwise, we'll look at the child to the left of the cursor and find\n // the last leaf node in its subtree.\n var lastLeaf = getLastLeaf(nodeBeforeCursor);\n leafKey = nullthrows(getSelectionOffsetKeyForNode(lastLeaf));\n textLength = getTextContentLength(lastLeaf);\n }\n\n return {\n key: leafKey,\n offset: textLength\n };\n}\n\n/**\n * Return the length of a node's textContent, regarding single newline\n * characters as zero-length. This allows us to avoid problems with identifying\n * the correct selection offset for empty blocks in IE, in which we\n * render newlines instead of break tags.\n */\nfunction getTextContentLength(node) {\n var textContent = node.textContent;\n return textContent === '\\n' ? 0 : textContent.length;\n}\n\nmodule.exports = getDraftEditorSelectionWithNodes;","/**\n * Copyright (c) 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 * @providesModule getEntityKeyForSelection\n * @format\n * \n */\n\n'use strict';\n\n/**\n * Return the entity key that should be used when inserting text for the\n * specified target selection, only if the entity is `MUTABLE`. `IMMUTABLE`\n * and `SEGMENTED` entities should not be used for insertion behavior.\n */\nfunction getEntityKeyForSelection(contentState, targetSelection) {\n var entityKey;\n\n if (targetSelection.isCollapsed()) {\n var key = targetSelection.getAnchorKey();\n var offset = targetSelection.getAnchorOffset();\n if (offset > 0) {\n entityKey = contentState.getBlockForKey(key).getEntityAt(offset - 1);\n if (entityKey !== contentState.getBlockForKey(key).getEntityAt(offset)) {\n return null;\n }\n return filterKey(contentState.getEntityMap(), entityKey);\n }\n return null;\n }\n\n var startKey = targetSelection.getStartKey();\n var startOffset = targetSelection.getStartOffset();\n var startBlock = contentState.getBlockForKey(startKey);\n\n entityKey = startOffset === startBlock.getLength() ? null : startBlock.getEntityAt(startOffset);\n\n return filterKey(contentState.getEntityMap(), entityKey);\n}\n\n/**\n * Determine whether an entity key corresponds to a `MUTABLE` entity. If so,\n * return it. If not, return null.\n */\nfunction filterKey(entityMap, entityKey) {\n if (entityKey) {\n var entity = entityMap.__get(entityKey);\n return entity.getMutability() === 'MUTABLE' ? entityKey : null;\n }\n return null;\n}\n\nmodule.exports = getEntityKeyForSelection;","/**\n * Copyright (c) 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 * @providesModule getFragmentFromSelection\n * @format\n * \n */\n\n'use strict';\n\nvar getContentStateFragment = require('./getContentStateFragment');\n\nfunction getFragmentFromSelection(editorState) {\n var selectionState = editorState.getSelection();\n\n if (selectionState.isCollapsed()) {\n return null;\n }\n\n return getContentStateFragment(editorState.getCurrentContent(), selectionState);\n}\n\nmodule.exports = getFragmentFromSelection;","'use strict';\n\n/**\n * Copyright (c) 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 * @providesModule getNextDelimiterBlockKey\n * @format\n * \n *\n * This is unstable and not part of the public API and should not be used by\n * production systems. This file may be update/removed without notice.\n */\n\nvar ContentBlockNode = require('./ContentBlockNode');\n\nvar getNextDelimiterBlockKey = function getNextDelimiterBlockKey(block, blockMap) {\n var isExperimentalTreeBlock = block instanceof ContentBlockNode;\n\n if (!isExperimentalTreeBlock) {\n return null;\n }\n\n var nextSiblingKey = block.getNextSiblingKey();\n\n if (nextSiblingKey) {\n return nextSiblingKey;\n }\n\n var parent = block.getParentKey();\n\n if (!parent) {\n return null;\n }\n\n var nextNonDescendantBlock = blockMap.get(parent);\n while (nextNonDescendantBlock && !nextNonDescendantBlock.getNextSiblingKey()) {\n var parentKey = nextNonDescendantBlock.getParentKey();\n nextNonDescendantBlock = parentKey ? blockMap.get(parentKey) : null;\n }\n\n if (!nextNonDescendantBlock) {\n return null;\n }\n\n return nextNonDescendantBlock.getNextSiblingKey();\n};\n\nmodule.exports = getNextDelimiterBlockKey;","/**\n * Copyright (c) 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 * @providesModule getRangeBoundingClientRect\n * @format\n * \n */\n\n'use strict';\n\nvar getRangeClientRects = require('./getRangeClientRects');\n\n/**\n * Like range.getBoundingClientRect() but normalizes for browser bugs.\n */\nfunction getRangeBoundingClientRect(range) {\n // \"Return a DOMRect object describing the smallest rectangle that includes\n // the first rectangle in list and all of the remaining rectangles of which\n // the height or width is not zero.\"\n // http://www.w3.org/TR/cssom-view/#dom-range-getboundingclientrect\n var rects = getRangeClientRects(range);\n var top = 0;\n var right = 0;\n var bottom = 0;\n var left = 0;\n\n if (rects.length) {\n // If the first rectangle has 0 width, we use the second, this is needed\n // because Chrome renders a 0 width rectangle when the selection contains\n // a line break.\n if (rects.length > 1 && rects[0].width === 0) {\n var _rects$ = rects[1];\n top = _rects$.top;\n right = _rects$.right;\n bottom = _rects$.bottom;\n left = _rects$.left;\n } else {\n var _rects$2 = rects[0];\n top = _rects$2.top;\n right = _rects$2.right;\n bottom = _rects$2.bottom;\n left = _rects$2.left;\n }\n\n for (var ii = 1; ii < rects.length; ii++) {\n var rect = rects[ii];\n if (rect.height !== 0 && rect.width !== 0) {\n top = Math.min(top, rect.top);\n right = Math.max(right, rect.right);\n bottom = Math.max(bottom, rect.bottom);\n left = Math.min(left, rect.left);\n }\n }\n }\n\n return {\n top: top,\n right: right,\n bottom: bottom,\n left: left,\n width: right - left,\n height: bottom - top\n };\n}\n\nmodule.exports = getRangeBoundingClientRect;","/**\n * Copyright (c) 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 * @providesModule getRangeClientRects\n * @format\n * \n */\n\n'use strict';\n\nvar UserAgent = require('fbjs/lib/UserAgent');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar isChrome = UserAgent.isBrowser('Chrome');\n\n// In Chrome, the client rects will include the entire bounds of all nodes that\n// begin (have a start tag) within the selection, even if the selection does\n// not overlap the entire node. To resolve this, we split the range at each\n// start tag and join the client rects together.\n// https://code.google.com/p/chromium/issues/detail?id=324437\n/* eslint-disable consistent-return */\nfunction getRangeClientRectsChrome(range) {\n var tempRange = range.cloneRange();\n var clientRects = [];\n\n for (var ancestor = range.endContainer; ancestor != null; ancestor = ancestor.parentNode) {\n // If we've climbed up to the common ancestor, we can now use the\n // original start point and stop climbing the tree.\n var atCommonAncestor = ancestor === range.commonAncestorContainer;\n if (atCommonAncestor) {\n tempRange.setStart(range.startContainer, range.startOffset);\n } else {\n tempRange.setStart(tempRange.endContainer, 0);\n }\n var rects = Array.from(tempRange.getClientRects());\n clientRects.push(rects);\n if (atCommonAncestor) {\n var _ref;\n\n clientRects.reverse();\n return (_ref = []).concat.apply(_ref, clientRects);\n }\n tempRange.setEndBefore(ancestor);\n }\n\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Found an unexpected detached subtree when getting range client rects.') : invariant(false) : void 0;\n}\n/* eslint-enable consistent-return */\n\n/**\n * Like range.getClientRects() but normalizes for browser bugs.\n */\nvar getRangeClientRects = isChrome ? getRangeClientRectsChrome : function (range) {\n return Array.from(range.getClientRects());\n};\n\nmodule.exports = getRangeClientRects;","/**\n * Copyright (c) 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 * @providesModule getRangesForDraftEntity\n * @format\n * \n */\n\n'use strict';\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Obtain the start and end positions of the range that has the\n * specified entity applied to it.\n *\n * Entity keys are applied only to contiguous stretches of text, so this\n * method searches for the first instance of the entity key and returns\n * the subsequent range.\n */\nfunction getRangesForDraftEntity(block, key) {\n var ranges = [];\n block.findEntityRanges(function (c) {\n return c.getEntity() === key;\n }, function (start, end) {\n ranges.push({ start: start, end: end });\n });\n\n !!!ranges.length ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Entity key not found in this range.') : invariant(false) : void 0;\n\n return ranges;\n}\n\nmodule.exports = getRangesForDraftEntity;","/**\n * Copyright (c) 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 * @providesModule getSafeBodyFromHTML\n * @format\n * \n */\n\n'use strict';\n\nvar UserAgent = require('fbjs/lib/UserAgent');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar isOldIE = UserAgent.isBrowser('IE <= 9');\n\n// Provides a dom node that will not execute scripts\n// https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation.createHTMLDocument\n// https://developer.mozilla.org/en-US/Add-ons/Code_snippets/HTML_to_DOM\n\nfunction getSafeBodyFromHTML(html) {\n var doc;\n var root = null;\n // Provides a safe context\n if (!isOldIE && document.implementation && document.implementation.createHTMLDocument) {\n doc = document.implementation.createHTMLDocument('foo');\n !doc.documentElement ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Missing doc.documentElement') : invariant(false) : void 0;\n doc.documentElement.innerHTML = html;\n root = doc.getElementsByTagName('body')[0];\n }\n return root;\n}\n\nmodule.exports = getSafeBodyFromHTML;","/**\n * Copyright (c) 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 * @providesModule getSelectionOffsetKeyForNode\n * @format\n * \n */\n\n'use strict';\n\n/**\n * Get offset key from a node or it's child nodes. Return the first offset key\n * found on the DOM tree of given node.\n */\n\nfunction getSelectionOffsetKeyForNode(node) {\n if (node instanceof Element) {\n var offsetKey = node.getAttribute('data-offset-key');\n if (offsetKey) {\n return offsetKey;\n }\n for (var ii = 0; ii < node.childNodes.length; ii++) {\n var childOffsetKey = getSelectionOffsetKeyForNode(node.childNodes[ii]);\n if (childOffsetKey) {\n return childOffsetKey;\n }\n }\n }\n return null;\n}\n\nmodule.exports = getSelectionOffsetKeyForNode;","/**\n * Copyright (c) 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 * @providesModule getTextContentFromFiles\n * @format\n * \n */\n\n'use strict';\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar TEXT_CLIPPING_REGEX = /\\.textClipping$/;\n\nvar TEXT_TYPES = {\n 'text/plain': true,\n 'text/html': true,\n 'text/rtf': true\n};\n\n// Somewhat arbitrary upper bound on text size. Let's not lock up the browser.\nvar TEXT_SIZE_UPPER_BOUND = 5000;\n\n/**\n * Extract the text content from a file list.\n */\nfunction getTextContentFromFiles(files, callback) {\n var readCount = 0;\n var results = [];\n files.forEach(function ( /*blob*/file) {\n readFile(file, function ( /*string*/text) {\n readCount++;\n text && results.push(text.slice(0, TEXT_SIZE_UPPER_BOUND));\n if (readCount == files.length) {\n callback(results.join('\\r'));\n }\n });\n });\n}\n\n/**\n * todo isaac: Do work to turn html/rtf into a content fragment.\n */\nfunction readFile(file, callback) {\n if (!global.FileReader || file.type && !(file.type in TEXT_TYPES)) {\n callback('');\n return;\n }\n\n if (file.type === '') {\n var contents = '';\n // Special-case text clippings, which have an empty type but include\n // `.textClipping` in the file name. `readAsText` results in an empty\n // string for text clippings, so we force the file name to serve\n // as the text value for the file.\n if (TEXT_CLIPPING_REGEX.test(file.name)) {\n contents = file.name.replace(TEXT_CLIPPING_REGEX, '');\n }\n callback(contents);\n return;\n }\n\n var reader = new FileReader();\n reader.onload = function () {\n var result = reader.result;\n !(typeof result === 'string') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'We should be calling \"FileReader.readAsText\" which returns a string') : invariant(false) : void 0;\n callback(result);\n };\n reader.onerror = function () {\n callback('');\n };\n reader.readAsText(file);\n}\n\nmodule.exports = getTextContentFromFiles;","/**\n * Copyright (c) 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 * @providesModule getUpdatedSelectionState\n * @format\n * \n */\n\n'use strict';\n\nvar DraftOffsetKey = require('./DraftOffsetKey');\n\nvar nullthrows = require('fbjs/lib/nullthrows');\n\nfunction getUpdatedSelectionState(editorState, anchorKey, anchorOffset, focusKey, focusOffset) {\n var selection = nullthrows(editorState.getSelection());\n if (process.env.NODE_ENV !== 'production') {\n if (!anchorKey || !focusKey) {\n /*eslint-disable no-console */\n console.warn('Invalid selection state.', arguments, editorState.toJS());\n /*eslint-enable no-console */\n return selection;\n }\n }\n\n var anchorPath = DraftOffsetKey.decode(anchorKey);\n var anchorBlockKey = anchorPath.blockKey;\n var anchorLeaf = editorState.getBlockTree(anchorBlockKey).getIn([anchorPath.decoratorKey, 'leaves', anchorPath.leafKey]);\n\n var focusPath = DraftOffsetKey.decode(focusKey);\n var focusBlockKey = focusPath.blockKey;\n var focusLeaf = editorState.getBlockTree(focusBlockKey).getIn([focusPath.decoratorKey, 'leaves', focusPath.leafKey]);\n\n var anchorLeafStart = anchorLeaf.get('start');\n var focusLeafStart = focusLeaf.get('start');\n\n var anchorBlockOffset = anchorLeaf ? anchorLeafStart + anchorOffset : null;\n var focusBlockOffset = focusLeaf ? focusLeafStart + focusOffset : null;\n\n var areEqual = selection.getAnchorKey() === anchorBlockKey && selection.getAnchorOffset() === anchorBlockOffset && selection.getFocusKey() === focusBlockKey && selection.getFocusOffset() === focusBlockOffset;\n\n if (areEqual) {\n return selection;\n }\n\n var isBackward = false;\n if (anchorBlockKey === focusBlockKey) {\n var anchorLeafEnd = anchorLeaf.get('end');\n var focusLeafEnd = focusLeaf.get('end');\n if (focusLeafStart === anchorLeafStart && focusLeafEnd === anchorLeafEnd) {\n isBackward = focusOffset < anchorOffset;\n } else {\n isBackward = focusLeafStart < anchorLeafStart;\n }\n } else {\n var startKey = editorState.getCurrentContent().getBlockMap().keySeq().skipUntil(function (v) {\n return v === anchorBlockKey || v === focusBlockKey;\n }).first();\n isBackward = startKey === focusBlockKey;\n }\n\n return selection.merge({\n anchorKey: anchorBlockKey,\n anchorOffset: anchorBlockOffset,\n focusKey: focusBlockKey,\n focusOffset: focusBlockOffset,\n isBackward: isBackward\n });\n}\n\nmodule.exports = getUpdatedSelectionState;","/**\n * Copyright (c) 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 * @providesModule getVisibleSelectionRect\n * @format\n * \n */\n\n'use strict';\n\nvar getRangeBoundingClientRect = require('./getRangeBoundingClientRect');\n\n/**\n * Return the bounding ClientRect for the visible DOM selection, if any.\n * In cases where there are no selected ranges or the bounding rect is\n * temporarily invalid, return null.\n */\nfunction getVisibleSelectionRect(global) {\n var selection = global.getSelection();\n if (!selection.rangeCount) {\n return null;\n }\n\n var range = selection.getRangeAt(0);\n var boundingRect = getRangeBoundingClientRect(range);\n var top = boundingRect.top,\n right = boundingRect.right,\n bottom = boundingRect.bottom,\n left = boundingRect.left;\n\n // When a re-render leads to a node being removed, the DOM selection will\n // temporarily be placed on an ancestor node, which leads to an invalid\n // bounding rect. Discard this state.\n\n if (top === 0 && right === 0 && bottom === 0 && left === 0) {\n return null;\n }\n\n return boundingRect;\n}\n\nmodule.exports = getVisibleSelectionRect;","/**\n * Copyright (c) 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 * @providesModule insertFragmentIntoContentState\n * @format\n * \n */\n\n'use strict';\n\nvar BlockMapBuilder = require('./BlockMapBuilder');\nvar ContentBlockNode = require('./ContentBlockNode');\nvar Immutable = require('immutable');\n\nvar insertIntoList = require('./insertIntoList');\nvar invariant = require('fbjs/lib/invariant');\nvar randomizeBlockMapKeys = require('./randomizeBlockMapKeys');\n\nvar List = Immutable.List;\n\n\nvar updateExistingBlock = function updateExistingBlock(contentState, selectionState, blockMap, fragmentBlock, targetKey, targetOffset) {\n var targetBlock = blockMap.get(targetKey);\n var text = targetBlock.getText();\n var chars = targetBlock.getCharacterList();\n var finalKey = targetKey;\n var finalOffset = targetOffset + fragmentBlock.getText().length;\n\n var newBlock = targetBlock.merge({\n text: text.slice(0, targetOffset) + fragmentBlock.getText() + text.slice(targetOffset),\n characterList: insertIntoList(chars, fragmentBlock.getCharacterList(), targetOffset),\n data: fragmentBlock.getData()\n });\n\n return contentState.merge({\n blockMap: blockMap.set(targetKey, newBlock),\n selectionBefore: selectionState,\n selectionAfter: selectionState.merge({\n anchorKey: finalKey,\n anchorOffset: finalOffset,\n focusKey: finalKey,\n focusOffset: finalOffset,\n isBackward: false\n })\n });\n};\n\n/**\n * Appends text/characterList from the fragment first block to\n * target block.\n */\nvar updateHead = function updateHead(block, targetOffset, fragment) {\n var text = block.getText();\n var chars = block.getCharacterList();\n\n // Modify head portion of block.\n var headText = text.slice(0, targetOffset);\n var headCharacters = chars.slice(0, targetOffset);\n var appendToHead = fragment.first();\n\n return block.merge({\n text: headText + appendToHead.getText(),\n characterList: headCharacters.concat(appendToHead.getCharacterList()),\n type: headText ? block.getType() : appendToHead.getType(),\n data: appendToHead.getData()\n });\n};\n\n/**\n * Appends offset text/characterList from the target block to the last\n * fragment block.\n */\nvar updateTail = function updateTail(block, targetOffset, fragment) {\n // Modify tail portion of block.\n var text = block.getText();\n var chars = block.getCharacterList();\n\n // Modify head portion of block.\n var blockSize = text.length;\n var tailText = text.slice(targetOffset, blockSize);\n var tailCharacters = chars.slice(targetOffset, blockSize);\n var prependToTail = fragment.last();\n\n return prependToTail.merge({\n text: prependToTail.getText() + tailText,\n characterList: prependToTail.getCharacterList().concat(tailCharacters),\n data: prependToTail.getData()\n });\n};\n\nvar getRootBlocks = function getRootBlocks(block, blockMap) {\n var headKey = block.getKey();\n var rootBlock = block;\n var rootBlocks = [];\n\n // sometimes the fragment head block will not be part of the blockMap itself this can happen when\n // the fragment head is used to update the target block, however when this does not happen we need\n // to make sure that we include it on the rootBlocks since the first block of a fragment is always a\n // fragment root block\n if (blockMap.get(headKey)) {\n rootBlocks.push(headKey);\n }\n\n while (rootBlock && rootBlock.getNextSiblingKey()) {\n var lastSiblingKey = rootBlock.getNextSiblingKey();\n\n if (!lastSiblingKey) {\n break;\n }\n\n rootBlocks.push(lastSiblingKey);\n rootBlock = blockMap.get(lastSiblingKey);\n }\n\n return rootBlocks;\n};\n\nvar updateBlockMapLinks = function updateBlockMapLinks(blockMap, originalBlockMap, targetBlock, fragmentHeadBlock) {\n return blockMap.withMutations(function (blockMapState) {\n var targetKey = targetBlock.getKey();\n var headKey = fragmentHeadBlock.getKey();\n var targetNextKey = targetBlock.getNextSiblingKey();\n var targetParentKey = targetBlock.getParentKey();\n var fragmentRootBlocks = getRootBlocks(fragmentHeadBlock, blockMap);\n var lastRootFragmentBlockKey = fragmentRootBlocks[fragmentRootBlocks.length - 1];\n\n if (blockMapState.get(headKey)) {\n // update the fragment head when it is part of the blockMap otherwise\n blockMapState.setIn([targetKey, 'nextSibling'], headKey);\n blockMapState.setIn([headKey, 'prevSibling'], targetKey);\n } else {\n // update the target block that had the fragment head contents merged into it\n blockMapState.setIn([targetKey, 'nextSibling'], fragmentHeadBlock.getNextSiblingKey());\n blockMapState.setIn([fragmentHeadBlock.getNextSiblingKey(), 'prevSibling'], targetKey);\n }\n\n // update the last root block fragment\n blockMapState.setIn([lastRootFragmentBlockKey, 'nextSibling'], targetNextKey);\n\n // update the original target next block\n if (targetNextKey) {\n blockMapState.setIn([targetNextKey, 'prevSibling'], lastRootFragmentBlockKey);\n }\n\n // update fragment parent links\n fragmentRootBlocks.forEach(function (blockKey) {\n return blockMapState.setIn([blockKey, 'parent'], targetParentKey);\n });\n\n // update targetBlock parent child links\n if (targetParentKey) {\n var targetParent = blockMap.get(targetParentKey);\n var originalTargetParentChildKeys = targetParent.getChildKeys();\n\n var targetBlockIndex = originalTargetParentChildKeys.indexOf(targetKey);\n var insertionIndex = targetBlockIndex + 1;\n\n var newChildrenKeysArray = originalTargetParentChildKeys.toArray();\n\n // insert fragment children\n newChildrenKeysArray.splice.apply(newChildrenKeysArray, [insertionIndex, 0].concat(fragmentRootBlocks));\n\n blockMapState.setIn([targetParentKey, 'children'], List(newChildrenKeysArray));\n }\n });\n};\n\nvar insertFragment = function insertFragment(contentState, selectionState, blockMap, fragment, targetKey, targetOffset) {\n var isTreeBasedBlockMap = blockMap.first() instanceof ContentBlockNode;\n var newBlockArr = [];\n var fragmentSize = fragment.size;\n var target = blockMap.get(targetKey);\n var head = fragment.first();\n var tail = fragment.last();\n var finalOffset = tail.getLength();\n var finalKey = tail.getKey();\n var shouldNotUpdateFromFragmentBlock = isTreeBasedBlockMap && (!target.getChildKeys().isEmpty() || !head.getChildKeys().isEmpty());\n\n blockMap.forEach(function (block, blockKey) {\n if (blockKey !== targetKey) {\n newBlockArr.push(block);\n return;\n }\n\n if (shouldNotUpdateFromFragmentBlock) {\n newBlockArr.push(block);\n } else {\n newBlockArr.push(updateHead(block, targetOffset, fragment));\n }\n\n // Insert fragment blocks after the head and before the tail.\n fragment\n // when we are updating the target block with the head fragment block we skip the first fragment\n // head since its contents have already been merged with the target block otherwise we include\n // the whole fragment\n .slice(shouldNotUpdateFromFragmentBlock ? 0 : 1, fragmentSize - 1).forEach(function (fragmentBlock) {\n return newBlockArr.push(fragmentBlock);\n });\n\n // update tail\n newBlockArr.push(updateTail(block, targetOffset, fragment));\n });\n\n var updatedBlockMap = BlockMapBuilder.createFromArray(newBlockArr);\n\n if (isTreeBasedBlockMap) {\n updatedBlockMap = updateBlockMapLinks(updatedBlockMap, blockMap, target, head);\n }\n\n return contentState.merge({\n blockMap: updatedBlockMap,\n selectionBefore: selectionState,\n selectionAfter: selectionState.merge({\n anchorKey: finalKey,\n anchorOffset: finalOffset,\n focusKey: finalKey,\n focusOffset: finalOffset,\n isBackward: false\n })\n });\n};\n\nvar insertFragmentIntoContentState = function insertFragmentIntoContentState(contentState, selectionState, fragmentBlockMap) {\n !selectionState.isCollapsed() ? process.env.NODE_ENV !== 'production' ? invariant(false, '`insertFragment` should only be called with a collapsed selection state.') : invariant(false) : void 0;\n\n var blockMap = contentState.getBlockMap();\n var fragment = randomizeBlockMapKeys(fragmentBlockMap);\n var targetKey = selectionState.getStartKey();\n var targetOffset = selectionState.getStartOffset();\n\n var targetBlock = blockMap.get(targetKey);\n\n if (targetBlock instanceof ContentBlockNode) {\n !targetBlock.getChildKeys().isEmpty() ? process.env.NODE_ENV !== 'production' ? invariant(false, '`insertFragment` should not be called when a container node is selected.') : invariant(false) : void 0;\n }\n\n // When we insert a fragment with a single block we simply update the target block\n // with the contents of the inserted fragment block\n if (fragment.size === 1) {\n return updateExistingBlock(contentState, selectionState, blockMap, fragment.first(), targetKey, targetOffset);\n }\n\n return insertFragment(contentState, selectionState, blockMap, fragment, targetKey, targetOffset);\n};\n\nmodule.exports = insertFragmentIntoContentState;","/**\n * Copyright (c) 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 * @providesModule insertIntoList\n * @format\n * \n */\n\n'use strict';\n\n/**\n * Maintain persistence for target list when appending and prepending.\n */\nfunction insertIntoList(targetList, toInsert, offset) {\n if (offset === targetList.count()) {\n toInsert.forEach(function (c) {\n targetList = targetList.push(c);\n });\n } else if (offset === 0) {\n toInsert.reverse().forEach(function (c) {\n targetList = targetList.unshift(c);\n });\n } else {\n var head = targetList.slice(0, offset);\n var tail = targetList.slice(offset);\n targetList = head.concat(toInsert, tail).toList();\n }\n return targetList;\n}\n\nmodule.exports = insertIntoList;","/**\n * Copyright (c) 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 * @providesModule insertTextIntoContentState\n * @format\n * \n */\n\n'use strict';\n\nvar Immutable = require('immutable');\n\nvar insertIntoList = require('./insertIntoList');\nvar invariant = require('fbjs/lib/invariant');\n\nvar Repeat = Immutable.Repeat;\n\n\nfunction insertTextIntoContentState(contentState, selectionState, text, characterMetadata) {\n !selectionState.isCollapsed() ? process.env.NODE_ENV !== 'production' ? invariant(false, '`insertText` should only be called with a collapsed range.') : invariant(false) : void 0;\n\n var len = text.length;\n if (!len) {\n return contentState;\n }\n\n var blockMap = contentState.getBlockMap();\n var key = selectionState.getStartKey();\n var offset = selectionState.getStartOffset();\n var block = blockMap.get(key);\n var blockText = block.getText();\n\n var newBlock = block.merge({\n text: blockText.slice(0, offset) + text + blockText.slice(offset, block.getLength()),\n characterList: insertIntoList(block.getCharacterList(), Repeat(characterMetadata, len).toList(), offset)\n });\n\n var newOffset = offset + len;\n\n return contentState.merge({\n blockMap: blockMap.set(key, newBlock),\n selectionAfter: selectionState.merge({\n anchorOffset: newOffset,\n focusOffset: newOffset\n })\n });\n}\n\nmodule.exports = insertTextIntoContentState;","/**\n * Copyright (c) 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 * @providesModule isEventHandled\n * @format\n * \n */\n\n'use strict';\n\n/**\n * Utility method for determining whether or not the value returned\n * from a handler indicates that it was handled.\n */\nfunction isEventHandled(value) {\n return value === 'handled' || value === true;\n}\n\nmodule.exports = isEventHandled;","/**\n * Copyright (c) 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 * @providesModule isSelectionAtLeafStart\n * @format\n * \n */\n\n'use strict';\n\nfunction isSelectionAtLeafStart(editorState) {\n var selection = editorState.getSelection();\n var anchorKey = selection.getAnchorKey();\n var blockTree = editorState.getBlockTree(anchorKey);\n var offset = selection.getStartOffset();\n\n var isAtStart = false;\n\n blockTree.some(function (leafSet) {\n if (offset === leafSet.get('start')) {\n isAtStart = true;\n return true;\n }\n\n if (offset < leafSet.get('end')) {\n return leafSet.get('leaves').some(function (leaf) {\n var leafStart = leaf.get('start');\n if (offset === leafStart) {\n isAtStart = true;\n return true;\n }\n\n return false;\n });\n }\n\n return false;\n });\n\n return isAtStart;\n}\n\nmodule.exports = isSelectionAtLeafStart;","/**\n * Copyright (c) 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 * @providesModule keyCommandBackspaceToStartOfLine\n * @format\n * \n */\n\n'use strict';\n\nvar EditorState = require('./EditorState');\n\nvar expandRangeToStartOfLine = require('./expandRangeToStartOfLine');\nvar getDraftEditorSelectionWithNodes = require('./getDraftEditorSelectionWithNodes');\nvar moveSelectionBackward = require('./moveSelectionBackward');\nvar removeTextWithStrategy = require('./removeTextWithStrategy');\n\nfunction keyCommandBackspaceToStartOfLine(editorState) {\n var afterRemoval = removeTextWithStrategy(editorState, function (strategyState) {\n var selection = strategyState.getSelection();\n if (selection.isCollapsed() && selection.getAnchorOffset() === 0) {\n return moveSelectionBackward(strategyState, 1);\n }\n\n var domSelection = global.getSelection();\n var range = domSelection.getRangeAt(0);\n range = expandRangeToStartOfLine(range);\n\n return getDraftEditorSelectionWithNodes(strategyState, null, range.endContainer, range.endOffset, range.startContainer, range.startOffset).selectionState;\n }, 'backward');\n\n if (afterRemoval === editorState.getCurrentContent()) {\n return editorState;\n }\n\n return EditorState.push(editorState, afterRemoval, 'remove-range');\n}\n\nmodule.exports = keyCommandBackspaceToStartOfLine;","/**\n * Copyright (c) 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 * @providesModule keyCommandBackspaceWord\n * @format\n * \n */\n\n'use strict';\n\nvar DraftRemovableWord = require('./DraftRemovableWord');\nvar EditorState = require('./EditorState');\n\nvar moveSelectionBackward = require('./moveSelectionBackward');\nvar removeTextWithStrategy = require('./removeTextWithStrategy');\n\n/**\n * Delete the word that is left of the cursor, as well as any spaces or\n * punctuation after the word.\n */\nfunction keyCommandBackspaceWord(editorState) {\n var afterRemoval = removeTextWithStrategy(editorState, function (strategyState) {\n var selection = strategyState.getSelection();\n var offset = selection.getStartOffset();\n // If there are no words before the cursor, remove the preceding newline.\n if (offset === 0) {\n return moveSelectionBackward(strategyState, 1);\n }\n var key = selection.getStartKey();\n var content = strategyState.getCurrentContent();\n var text = content.getBlockForKey(key).getText().slice(0, offset);\n var toRemove = DraftRemovableWord.getBackward(text);\n return moveSelectionBackward(strategyState, toRemove.length || 1);\n }, 'backward');\n\n if (afterRemoval === editorState.getCurrentContent()) {\n return editorState;\n }\n\n return EditorState.push(editorState, afterRemoval, 'remove-range');\n}\n\nmodule.exports = keyCommandBackspaceWord;","/**\n * Copyright (c) 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 * @providesModule keyCommandDeleteWord\n * @format\n * \n */\n\n'use strict';\n\nvar DraftRemovableWord = require('./DraftRemovableWord');\nvar EditorState = require('./EditorState');\n\nvar moveSelectionForward = require('./moveSelectionForward');\nvar removeTextWithStrategy = require('./removeTextWithStrategy');\n\n/**\n * Delete the word that is right of the cursor, as well as any spaces or\n * punctuation before the word.\n */\nfunction keyCommandDeleteWord(editorState) {\n var afterRemoval = removeTextWithStrategy(editorState, function (strategyState) {\n var selection = strategyState.getSelection();\n var offset = selection.getStartOffset();\n var key = selection.getStartKey();\n var content = strategyState.getCurrentContent();\n var text = content.getBlockForKey(key).getText().slice(offset);\n var toRemove = DraftRemovableWord.getForward(text);\n\n // If there are no words in front of the cursor, remove the newline.\n return moveSelectionForward(strategyState, toRemove.length || 1);\n }, 'forward');\n\n if (afterRemoval === editorState.getCurrentContent()) {\n return editorState;\n }\n\n return EditorState.push(editorState, afterRemoval, 'remove-range');\n}\n\nmodule.exports = keyCommandDeleteWord;","/**\n * Copyright (c) 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 * @providesModule keyCommandInsertNewline\n * @format\n * \n */\n\n'use strict';\n\nvar DraftModifier = require('./DraftModifier');\nvar EditorState = require('./EditorState');\n\nfunction keyCommandInsertNewline(editorState) {\n var contentState = DraftModifier.splitBlock(editorState.getCurrentContent(), editorState.getSelection());\n return EditorState.push(editorState, contentState, 'split-block');\n}\n\nmodule.exports = keyCommandInsertNewline;","/**\n * Copyright (c) 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 * @providesModule keyCommandMoveSelectionToEndOfBlock\n * @format\n * \n */\n\n'use strict';\n\nvar EditorState = require('./EditorState');\n\n/**\n * See comment for `moveSelectionToStartOfBlock`.\n */\nfunction keyCommandMoveSelectionToEndOfBlock(editorState) {\n var selection = editorState.getSelection();\n var endKey = selection.getEndKey();\n var content = editorState.getCurrentContent();\n var textLength = content.getBlockForKey(endKey).getLength();\n return EditorState.set(editorState, {\n selection: selection.merge({\n anchorKey: endKey,\n anchorOffset: textLength,\n focusKey: endKey,\n focusOffset: textLength,\n isBackward: false\n }),\n forceSelection: true\n });\n}\n\nmodule.exports = keyCommandMoveSelectionToEndOfBlock;","/**\n * Copyright (c) 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 * @providesModule keyCommandMoveSelectionToStartOfBlock\n * @format\n * \n */\n\n'use strict';\n\nvar EditorState = require('./EditorState');\n\n/**\n * Collapse selection at the start of the first selected block. This is used\n * for Firefox versions that attempt to navigate forward/backward instead of\n * moving the cursor. Other browsers are able to move the cursor natively.\n */\nfunction keyCommandMoveSelectionToStartOfBlock(editorState) {\n var selection = editorState.getSelection();\n var startKey = selection.getStartKey();\n return EditorState.set(editorState, {\n selection: selection.merge({\n anchorKey: startKey,\n anchorOffset: 0,\n focusKey: startKey,\n focusOffset: 0,\n isBackward: false\n }),\n forceSelection: true\n });\n}\n\nmodule.exports = keyCommandMoveSelectionToStartOfBlock;","/**\n * Copyright (c) 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 * @providesModule keyCommandPlainBackspace\n * @format\n * \n */\n\n'use strict';\n\nvar EditorState = require('./EditorState');\nvar UnicodeUtils = require('fbjs/lib/UnicodeUtils');\n\nvar moveSelectionBackward = require('./moveSelectionBackward');\nvar removeTextWithStrategy = require('./removeTextWithStrategy');\n\n/**\n * Remove the selected range. If the cursor is collapsed, remove the preceding\n * character. This operation is Unicode-aware, so removing a single character\n * will remove a surrogate pair properly as well.\n */\nfunction keyCommandPlainBackspace(editorState) {\n var afterRemoval = removeTextWithStrategy(editorState, function (strategyState) {\n var selection = strategyState.getSelection();\n var content = strategyState.getCurrentContent();\n var key = selection.getAnchorKey();\n var offset = selection.getAnchorOffset();\n var charBehind = content.getBlockForKey(key).getText()[offset - 1];\n return moveSelectionBackward(strategyState, charBehind ? UnicodeUtils.getUTF16Length(charBehind, 0) : 1);\n }, 'backward');\n\n if (afterRemoval === editorState.getCurrentContent()) {\n return editorState;\n }\n\n var selection = editorState.getSelection();\n return EditorState.push(editorState, afterRemoval.set('selectionBefore', selection), selection.isCollapsed() ? 'backspace-character' : 'remove-range');\n}\n\nmodule.exports = keyCommandPlainBackspace;","/**\n * Copyright (c) 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 * @providesModule keyCommandPlainDelete\n * @format\n * \n */\n\n'use strict';\n\nvar EditorState = require('./EditorState');\nvar UnicodeUtils = require('fbjs/lib/UnicodeUtils');\n\nvar moveSelectionForward = require('./moveSelectionForward');\nvar removeTextWithStrategy = require('./removeTextWithStrategy');\n\n/**\n * Remove the selected range. If the cursor is collapsed, remove the following\n * character. This operation is Unicode-aware, so removing a single character\n * will remove a surrogate pair properly as well.\n */\nfunction keyCommandPlainDelete(editorState) {\n var afterRemoval = removeTextWithStrategy(editorState, function (strategyState) {\n var selection = strategyState.getSelection();\n var content = strategyState.getCurrentContent();\n var key = selection.getAnchorKey();\n var offset = selection.getAnchorOffset();\n var charAhead = content.getBlockForKey(key).getText()[offset];\n return moveSelectionForward(strategyState, charAhead ? UnicodeUtils.getUTF16Length(charAhead, 0) : 1);\n }, 'forward');\n\n if (afterRemoval === editorState.getCurrentContent()) {\n return editorState;\n }\n\n var selection = editorState.getSelection();\n\n return EditorState.push(editorState, afterRemoval.set('selectionBefore', selection), selection.isCollapsed() ? 'delete-character' : 'remove-range');\n}\n\nmodule.exports = keyCommandPlainDelete;","/**\n * Copyright (c) 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 * @providesModule keyCommandTransposeCharacters\n * @format\n * \n */\n\n'use strict';\n\nvar DraftModifier = require('./DraftModifier');\nvar EditorState = require('./EditorState');\n\nvar getContentStateFragment = require('./getContentStateFragment');\n\n/**\n * Transpose the characters on either side of a collapsed cursor, or\n * if the cursor is at the end of the block, transpose the last two\n * characters.\n */\nfunction keyCommandTransposeCharacters(editorState) {\n var selection = editorState.getSelection();\n if (!selection.isCollapsed()) {\n return editorState;\n }\n\n var offset = selection.getAnchorOffset();\n if (offset === 0) {\n return editorState;\n }\n\n var blockKey = selection.getAnchorKey();\n var content = editorState.getCurrentContent();\n var block = content.getBlockForKey(blockKey);\n var length = block.getLength();\n\n // Nothing to transpose if there aren't two characters.\n if (length <= 1) {\n return editorState;\n }\n\n var removalRange;\n var finalSelection;\n\n if (offset === length) {\n // The cursor is at the end of the block. Swap the last two characters.\n removalRange = selection.set('anchorOffset', offset - 1);\n finalSelection = selection;\n } else {\n removalRange = selection.set('focusOffset', offset + 1);\n finalSelection = removalRange.set('anchorOffset', offset + 1);\n }\n\n // Extract the character to move as a fragment. This preserves its\n // styling and entity, if any.\n var movedFragment = getContentStateFragment(content, removalRange);\n var afterRemoval = DraftModifier.removeRange(content, removalRange, 'backward');\n\n // After the removal, the insertion target is one character back.\n var selectionAfter = afterRemoval.getSelectionAfter();\n var targetOffset = selectionAfter.getAnchorOffset() - 1;\n var targetRange = selectionAfter.merge({\n anchorOffset: targetOffset,\n focusOffset: targetOffset\n });\n\n var afterInsert = DraftModifier.replaceWithFragment(afterRemoval, targetRange, movedFragment);\n\n var newEditorState = EditorState.push(editorState, afterInsert, 'insert-fragment');\n\n return EditorState.acceptSelection(newEditorState, finalSelection);\n}\n\nmodule.exports = keyCommandTransposeCharacters;","/**\n * Copyright (c) 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 * @providesModule keyCommandUndo\n * @format\n * \n */\n\n'use strict';\n\nvar EditorState = require('./EditorState');\n\nfunction keyCommandUndo(e, editorState, updateFn) {\n var undoneState = EditorState.undo(editorState);\n\n // If the last change to occur was a spellcheck change, allow the undo\n // event to fall through to the browser. This allows the browser to record\n // the unwanted change, which should soon lead it to learn not to suggest\n // the correction again.\n if (editorState.getLastChangeType() === 'spellcheck-change') {\n var nativelyRenderedContent = undoneState.getCurrentContent();\n updateFn(EditorState.set(undoneState, { nativelyRenderedContent: nativelyRenderedContent }));\n return;\n }\n\n // Otheriwse, manage the undo behavior manually.\n e.preventDefault();\n if (!editorState.getNativelyRenderedContent()) {\n updateFn(undoneState);\n return;\n }\n\n // Trigger a re-render with the current content state to ensure that the\n // component tree has up-to-date props for comparison.\n updateFn(EditorState.set(editorState, { nativelyRenderedContent: null }));\n\n // Wait to ensure that the re-render has occurred before performing\n // the undo action.\n setTimeout(function () {\n updateFn(undoneState);\n }, 0);\n}\n\nmodule.exports = keyCommandUndo;","/**\n * Copyright (c) 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 * @providesModule modifyBlockForContentState\n * @format\n * \n */\n\n'use strict';\n\nvar Immutable = require('immutable');\n\nvar Map = Immutable.Map;\n\n\nfunction modifyBlockForContentState(contentState, selectionState, operation) {\n var startKey = selectionState.getStartKey();\n var endKey = selectionState.getEndKey();\n var blockMap = contentState.getBlockMap();\n var newBlocks = blockMap.toSeq().skipUntil(function (_, k) {\n return k === startKey;\n }).takeUntil(function (_, k) {\n return k === endKey;\n }).concat(Map([[endKey, blockMap.get(endKey)]])).map(operation);\n\n return contentState.merge({\n blockMap: blockMap.merge(newBlocks),\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n}\n\nmodule.exports = modifyBlockForContentState;","/**\n * Copyright (c) 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 * @providesModule moveBlockInContentState\n * @format\n * \n */\n\n'use strict';\n\nvar ContentBlockNode = require('./ContentBlockNode');\nvar Immutable = require('immutable');\n\nvar getNextDelimiterBlockKey = require('./getNextDelimiterBlockKey');\nvar invariant = require('fbjs/lib/invariant');\n\nvar OrderedMap = Immutable.OrderedMap,\n List = Immutable.List;\n\n\nvar transformBlock = function transformBlock(key, blockMap, func) {\n if (!key) {\n return;\n }\n\n var block = blockMap.get(key);\n\n if (!block) {\n return;\n }\n\n blockMap.set(key, func(block));\n};\n\nvar updateBlockMapLinks = function updateBlockMapLinks(blockMap, originalBlockToBeMoved, originalTargetBlock, insertionMode, isExperimentalTreeBlock) {\n if (!isExperimentalTreeBlock) {\n return blockMap;\n }\n // possible values of 'insertionMode' are: 'after', 'before'\n var isInsertedAfterTarget = insertionMode === 'after';\n\n var originalBlockKey = originalBlockToBeMoved.getKey();\n var originalTargetKey = originalTargetBlock.getKey();\n var originalParentKey = originalBlockToBeMoved.getParentKey();\n var originalNextSiblingKey = originalBlockToBeMoved.getNextSiblingKey();\n var originalPrevSiblingKey = originalBlockToBeMoved.getPrevSiblingKey();\n var newParentKey = originalTargetBlock.getParentKey();\n var newNextSiblingKey = isInsertedAfterTarget ? originalTargetBlock.getNextSiblingKey() : originalTargetKey;\n var newPrevSiblingKey = isInsertedAfterTarget ? originalTargetKey : originalTargetBlock.getPrevSiblingKey();\n\n return blockMap.withMutations(function (blocks) {\n // update old parent\n transformBlock(originalParentKey, blocks, function (block) {\n var parentChildrenList = block.getChildKeys();\n return block.merge({\n children: parentChildrenList['delete'](parentChildrenList.indexOf(originalBlockKey))\n });\n });\n\n // update old prev\n transformBlock(originalPrevSiblingKey, blocks, function (block) {\n return block.merge({\n nextSibling: originalNextSiblingKey\n });\n });\n\n // update old next\n transformBlock(originalNextSiblingKey, blocks, function (block) {\n return block.merge({\n prevSibling: originalPrevSiblingKey\n });\n });\n\n // update new next\n transformBlock(newNextSiblingKey, blocks, function (block) {\n return block.merge({\n prevSibling: originalBlockKey\n });\n });\n\n // update new prev\n transformBlock(newPrevSiblingKey, blocks, function (block) {\n return block.merge({\n nextSibling: originalBlockKey\n });\n });\n\n // update new parent\n transformBlock(newParentKey, blocks, function (block) {\n var newParentChildrenList = block.getChildKeys();\n var targetBlockIndex = newParentChildrenList.indexOf(originalTargetKey);\n\n var insertionIndex = isInsertedAfterTarget ? targetBlockIndex + 1 : targetBlockIndex !== 0 ? targetBlockIndex - 1 : 0;\n\n var newChildrenArray = newParentChildrenList.toArray();\n newChildrenArray.splice(insertionIndex, 0, originalBlockKey);\n\n return block.merge({\n children: List(newChildrenArray)\n });\n });\n\n // update block\n transformBlock(originalBlockKey, blocks, function (block) {\n return block.merge({\n nextSibling: newNextSiblingKey,\n prevSibling: newPrevSiblingKey,\n parent: newParentKey\n });\n });\n });\n};\n\nvar moveBlockInContentState = function moveBlockInContentState(contentState, blockToBeMoved, targetBlock, insertionMode) {\n !(insertionMode !== 'replace') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Replacing blocks is not supported.') : invariant(false) : void 0;\n\n var targetKey = targetBlock.getKey();\n var blockKey = blockToBeMoved.getKey();\n\n !(blockKey !== targetKey) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Block cannot be moved next to itself.') : invariant(false) : void 0;\n\n var blockMap = contentState.getBlockMap();\n var isExperimentalTreeBlock = blockToBeMoved instanceof ContentBlockNode;\n\n var blocksToBeMoved = [blockToBeMoved];\n var blockMapWithoutBlocksToBeMoved = blockMap['delete'](blockKey);\n\n if (isExperimentalTreeBlock) {\n blocksToBeMoved = [];\n blockMapWithoutBlocksToBeMoved = blockMap.withMutations(function (blocks) {\n var nextSiblingKey = blockToBeMoved.getNextSiblingKey();\n var nextDelimiterBlockKey = getNextDelimiterBlockKey(blockToBeMoved, blocks);\n\n blocks.toSeq().skipUntil(function (block) {\n return block.getKey() === blockKey;\n }).takeWhile(function (block) {\n var key = block.getKey();\n var isBlockToBeMoved = key === blockKey;\n var hasNextSiblingAndIsNotNextSibling = nextSiblingKey && key !== nextSiblingKey;\n var doesNotHaveNextSiblingAndIsNotDelimiter = !nextSiblingKey && block.getParentKey() && (!nextDelimiterBlockKey || key !== nextDelimiterBlockKey);\n\n return !!(isBlockToBeMoved || hasNextSiblingAndIsNotNextSibling || doesNotHaveNextSiblingAndIsNotDelimiter);\n }).forEach(function (block) {\n blocksToBeMoved.push(block);\n blocks['delete'](block.getKey());\n });\n });\n }\n\n var blocksBefore = blockMapWithoutBlocksToBeMoved.toSeq().takeUntil(function (v) {\n return v === targetBlock;\n });\n\n var blocksAfter = blockMapWithoutBlocksToBeMoved.toSeq().skipUntil(function (v) {\n return v === targetBlock;\n }).skip(1);\n\n var slicedBlocks = blocksToBeMoved.map(function (block) {\n return [block.getKey(), block];\n });\n\n var newBlocks = OrderedMap();\n\n if (insertionMode === 'before') {\n var blockBefore = contentState.getBlockBefore(targetKey);\n\n !(!blockBefore || blockBefore.getKey() !== blockToBeMoved.getKey()) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Block cannot be moved next to itself.') : invariant(false) : void 0;\n\n newBlocks = blocksBefore.concat([].concat(slicedBlocks, [[targetKey, targetBlock]]), blocksAfter).toOrderedMap();\n } else if (insertionMode === 'after') {\n var blockAfter = contentState.getBlockAfter(targetKey);\n\n !(!blockAfter || blockAfter.getKey() !== blockKey) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Block cannot be moved next to itself.') : invariant(false) : void 0;\n\n newBlocks = blocksBefore.concat([[targetKey, targetBlock]].concat(slicedBlocks), blocksAfter).toOrderedMap();\n }\n\n return contentState.merge({\n blockMap: updateBlockMapLinks(newBlocks, blockToBeMoved, targetBlock, insertionMode, isExperimentalTreeBlock),\n selectionBefore: contentState.getSelectionAfter(),\n selectionAfter: contentState.getSelectionAfter().merge({\n anchorKey: blockKey,\n focusKey: blockKey\n })\n });\n};\n\nmodule.exports = moveBlockInContentState;","/**\n * Copyright (c) 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 * @providesModule moveSelectionBackward\n * @format\n * \n */\n\n'use strict';\n\n/**\n * Given a collapsed selection, move the focus `maxDistance` backward within\n * the selected block. If the selection will go beyond the start of the block,\n * move focus to the end of the previous block, but no further.\n *\n * This function is not Unicode-aware, so surrogate pairs will be treated\n * as having length 2.\n */\nfunction moveSelectionBackward(editorState, maxDistance) {\n var selection = editorState.getSelection();\n var content = editorState.getCurrentContent();\n var key = selection.getStartKey();\n var offset = selection.getStartOffset();\n\n var focusKey = key;\n var focusOffset = 0;\n\n if (maxDistance > offset) {\n var keyBefore = content.getKeyBefore(key);\n if (keyBefore == null) {\n focusKey = key;\n } else {\n focusKey = keyBefore;\n var blockBefore = content.getBlockForKey(keyBefore);\n focusOffset = blockBefore.getText().length;\n }\n } else {\n focusOffset = offset - maxDistance;\n }\n\n return selection.merge({\n focusKey: focusKey,\n focusOffset: focusOffset,\n isBackward: true\n });\n}\n\nmodule.exports = moveSelectionBackward;","/**\n * Copyright (c) 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 * @providesModule moveSelectionForward\n * @format\n * \n */\n\n'use strict';\n\n/**\n * Given a collapsed selection, move the focus `maxDistance` forward within\n * the selected block. If the selection will go beyond the end of the block,\n * move focus to the start of the next block, but no further.\n *\n * This function is not Unicode-aware, so surrogate pairs will be treated\n * as having length 2.\n */\nfunction moveSelectionForward(editorState, maxDistance) {\n var selection = editorState.getSelection();\n var key = selection.getStartKey();\n var offset = selection.getStartOffset();\n var content = editorState.getCurrentContent();\n\n var focusKey = key;\n var focusOffset;\n\n var block = content.getBlockForKey(key);\n\n if (maxDistance > block.getText().length - offset) {\n focusKey = content.getKeyAfter(key);\n focusOffset = 0;\n } else {\n focusOffset = offset + maxDistance;\n }\n\n return selection.merge({ focusKey: focusKey, focusOffset: focusOffset });\n}\n\nmodule.exports = moveSelectionForward;","/**\n * Copyright (c) 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 * @providesModule randomizeBlockMapKeys\n * @format\n * \n */\n\n'use strict';\n\nvar ContentBlockNode = require('./ContentBlockNode');\nvar Immutable = require('immutable');\n\nvar generateRandomKey = require('./generateRandomKey');\n\nvar OrderedMap = Immutable.OrderedMap;\n\n\nvar randomizeContentBlockNodeKeys = function randomizeContentBlockNodeKeys(blockMap) {\n var newKeysRef = {};\n\n // we keep track of root blocks in order to update subsequent sibling links\n var lastRootBlock = void 0;\n\n return OrderedMap(blockMap.withMutations(function (blockMapState) {\n blockMapState.forEach(function (block, index) {\n var oldKey = block.getKey();\n var nextKey = block.getNextSiblingKey();\n var prevKey = block.getPrevSiblingKey();\n var childrenKeys = block.getChildKeys();\n var parentKey = block.getParentKey();\n\n // new key that we will use to build linking\n var key = generateRandomKey();\n\n // we will add it here to re-use it later\n newKeysRef[oldKey] = key;\n\n if (nextKey) {\n var nextBlock = blockMapState.get(nextKey);\n if (nextBlock) {\n blockMapState.setIn([nextKey, 'prevSibling'], key);\n } else {\n // this can happen when generating random keys for fragments\n blockMapState.setIn([oldKey, 'nextSibling'], null);\n }\n }\n\n if (prevKey) {\n var prevBlock = blockMapState.get(prevKey);\n if (prevBlock) {\n blockMapState.setIn([prevKey, 'nextSibling'], key);\n } else {\n // this can happen when generating random keys for fragments\n blockMapState.setIn([oldKey, 'prevSibling'], null);\n }\n }\n\n if (parentKey && blockMapState.get(parentKey)) {\n var parentBlock = blockMapState.get(parentKey);\n var parentChildrenList = parentBlock.getChildKeys();\n blockMapState.setIn([parentKey, 'children'], parentChildrenList.set(parentChildrenList.indexOf(block.getKey()), key));\n } else {\n // blocks will then be treated as root block nodes\n blockMapState.setIn([oldKey, 'parent'], null);\n\n if (lastRootBlock) {\n blockMapState.setIn([lastRootBlock.getKey(), 'nextSibling'], key);\n blockMapState.setIn([oldKey, 'prevSibling'], newKeysRef[lastRootBlock.getKey()]);\n }\n\n lastRootBlock = blockMapState.get(oldKey);\n }\n\n childrenKeys.forEach(function (childKey) {\n var childBlock = blockMapState.get(childKey);\n if (childBlock) {\n blockMapState.setIn([childKey, 'parent'], key);\n } else {\n blockMapState.setIn([oldKey, 'children'], block.getChildKeys().filter(function (child) {\n return child !== childKey;\n }));\n }\n });\n });\n }).toArray().map(function (block) {\n return [newKeysRef[block.getKey()], block.set('key', newKeysRef[block.getKey()])];\n }));\n};\n\nvar randomizeContentBlockKeys = function randomizeContentBlockKeys(blockMap) {\n return OrderedMap(blockMap.toArray().map(function (block) {\n var key = generateRandomKey();\n return [key, block.set('key', key)];\n }));\n};\n\nvar randomizeBlockMapKeys = function randomizeBlockMapKeys(blockMap) {\n var isTreeBasedBlockMap = blockMap.first() instanceof ContentBlockNode;\n\n if (!isTreeBasedBlockMap) {\n return randomizeContentBlockKeys(blockMap);\n }\n\n return randomizeContentBlockNodeKeys(blockMap);\n};\n\nmodule.exports = randomizeBlockMapKeys;","/**\n * Copyright (c) 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 * @providesModule removeEntitiesAtEdges\n * @format\n * \n */\n\n'use strict';\n\nvar CharacterMetadata = require('./CharacterMetadata');\n\nvar findRangesImmutable = require('./findRangesImmutable');\nvar invariant = require('fbjs/lib/invariant');\n\nfunction removeEntitiesAtEdges(contentState, selectionState) {\n var blockMap = contentState.getBlockMap();\n var entityMap = contentState.getEntityMap();\n\n var updatedBlocks = {};\n\n var startKey = selectionState.getStartKey();\n var startOffset = selectionState.getStartOffset();\n var startBlock = blockMap.get(startKey);\n var updatedStart = removeForBlock(entityMap, startBlock, startOffset);\n\n if (updatedStart !== startBlock) {\n updatedBlocks[startKey] = updatedStart;\n }\n\n var endKey = selectionState.getEndKey();\n var endOffset = selectionState.getEndOffset();\n var endBlock = blockMap.get(endKey);\n if (startKey === endKey) {\n endBlock = updatedStart;\n }\n\n var updatedEnd = removeForBlock(entityMap, endBlock, endOffset);\n\n if (updatedEnd !== endBlock) {\n updatedBlocks[endKey] = updatedEnd;\n }\n\n if (!Object.keys(updatedBlocks).length) {\n return contentState.set('selectionAfter', selectionState);\n }\n\n return contentState.merge({\n blockMap: blockMap.merge(updatedBlocks),\n selectionAfter: selectionState\n });\n}\n\nfunction getRemovalRange(characters, key, offset) {\n var removalRange;\n findRangesImmutable(characters, function (a, b) {\n return a.getEntity() === b.getEntity();\n }, function (element) {\n return element.getEntity() === key;\n }, function (start, end) {\n if (start <= offset && end >= offset) {\n removalRange = { start: start, end: end };\n }\n });\n !(typeof removalRange === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Removal range must exist within character list.') : invariant(false) : void 0;\n return removalRange;\n}\n\nfunction removeForBlock(entityMap, block, offset) {\n var chars = block.getCharacterList();\n var charBefore = offset > 0 ? chars.get(offset - 1) : undefined;\n var charAfter = offset < chars.count() ? chars.get(offset) : undefined;\n var entityBeforeCursor = charBefore ? charBefore.getEntity() : undefined;\n var entityAfterCursor = charAfter ? charAfter.getEntity() : undefined;\n\n if (entityAfterCursor && entityAfterCursor === entityBeforeCursor) {\n var entity = entityMap.__get(entityAfterCursor);\n if (entity.getMutability() !== 'MUTABLE') {\n var _getRemovalRange = getRemovalRange(chars, entityAfterCursor, offset),\n start = _getRemovalRange.start,\n end = _getRemovalRange.end;\n\n var current;\n while (start < end) {\n current = chars.get(start);\n chars = chars.set(start, CharacterMetadata.applyEntity(current, null));\n start++;\n }\n return block.set('characterList', chars);\n }\n }\n\n return block;\n}\n\nmodule.exports = removeEntitiesAtEdges;","/**\n * Copyright (c) 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 * @providesModule removeRangeFromContentState\n * @format\n * \n */\n\n'use strict';\n\nvar ContentBlockNode = require('./ContentBlockNode');\nvar Immutable = require('immutable');\n\nvar getNextDelimiterBlockKey = require('./getNextDelimiterBlockKey');\n\nvar List = Immutable.List,\n Map = Immutable.Map;\n\n\nvar transformBlock = function transformBlock(key, blockMap, func) {\n if (!key) {\n return;\n }\n\n var block = blockMap.get(key);\n\n if (!block) {\n return;\n }\n\n blockMap.set(key, func(block));\n};\n\n/**\n * Ancestors needs to be preserved when there are non selected\n * children to make sure we do not leave any orphans behind\n */\nvar getAncestorsKeys = function getAncestorsKeys(blockKey, blockMap) {\n var parents = [];\n\n if (!blockKey) {\n return parents;\n }\n\n var blockNode = blockMap.get(blockKey);\n while (blockNode && blockNode.getParentKey()) {\n var parentKey = blockNode.getParentKey();\n if (parentKey) {\n parents.push(parentKey);\n }\n blockNode = parentKey ? blockMap.get(parentKey) : null;\n }\n\n return parents;\n};\n\n/**\n * Get all next delimiter keys until we hit a root delimiter and return\n * an array of key references\n */\nvar getNextDelimitersBlockKeys = function getNextDelimitersBlockKeys(block, blockMap) {\n var nextDelimiters = [];\n\n if (!block) {\n return nextDelimiters;\n }\n\n var nextDelimiter = getNextDelimiterBlockKey(block, blockMap);\n while (nextDelimiter && blockMap.get(nextDelimiter)) {\n var _block = blockMap.get(nextDelimiter);\n nextDelimiters.push(nextDelimiter);\n\n // we do not need to keep checking all root node siblings, just the first occurance\n nextDelimiter = _block.getParentKey() ? getNextDelimiterBlockKey(_block, blockMap) : null;\n }\n\n return nextDelimiters;\n};\n\nvar getNextValidSibling = function getNextValidSibling(block, blockMap, originalBlockMap) {\n if (!block) {\n return null;\n }\n\n // note that we need to make sure we refer to the original block since this\n // function is called within a withMutations\n var nextValidSiblingKey = originalBlockMap.get(block.getKey()).getNextSiblingKey();\n\n while (nextValidSiblingKey && !blockMap.get(nextValidSiblingKey)) {\n nextValidSiblingKey = originalBlockMap.get(nextValidSiblingKey).getNextSiblingKey() || null;\n }\n\n return nextValidSiblingKey;\n};\n\nvar getPrevValidSibling = function getPrevValidSibling(block, blockMap, originalBlockMap) {\n if (!block) {\n return null;\n }\n\n // note that we need to make sure we refer to the original block since this\n // function is called within a withMutations\n var prevValidSiblingKey = originalBlockMap.get(block.getKey()).getPrevSiblingKey();\n\n while (prevValidSiblingKey && !blockMap.get(prevValidSiblingKey)) {\n prevValidSiblingKey = originalBlockMap.get(prevValidSiblingKey).getPrevSiblingKey() || null;\n }\n\n return prevValidSiblingKey;\n};\n\nvar updateBlockMapLinks = function updateBlockMapLinks(blockMap, startBlock, endBlock, originalBlockMap) {\n return blockMap.withMutations(function (blocks) {\n // update start block if its retained\n transformBlock(startBlock.getKey(), blocks, function (block) {\n return block.merge({\n nextSibling: getNextValidSibling(startBlock, blocks, originalBlockMap),\n prevSibling: getPrevValidSibling(startBlock, blocks, originalBlockMap)\n });\n });\n\n // update endblock if its retained\n transformBlock(endBlock.getKey(), blocks, function (block) {\n return block.merge({\n nextSibling: getNextValidSibling(endBlock, blocks, originalBlockMap),\n prevSibling: getPrevValidSibling(endBlock, blocks, originalBlockMap)\n });\n });\n\n // update start block parent ancestors\n getAncestorsKeys(startBlock.getKey(), originalBlockMap).forEach(function (parentKey) {\n return transformBlock(parentKey, blocks, function (block) {\n return block.merge({\n children: block.getChildKeys().filter(function (key) {\n return blocks.get(key);\n }),\n nextSibling: getNextValidSibling(block, blocks, originalBlockMap),\n prevSibling: getPrevValidSibling(block, blocks, originalBlockMap)\n });\n });\n });\n\n // update start block next - can only happen if startBlock == endBlock\n transformBlock(startBlock.getNextSiblingKey(), blocks, function (block) {\n return block.merge({\n prevSibling: startBlock.getPrevSiblingKey()\n });\n });\n\n // update start block prev\n transformBlock(startBlock.getPrevSiblingKey(), blocks, function (block) {\n return block.merge({\n nextSibling: getNextValidSibling(startBlock, blocks, originalBlockMap)\n });\n });\n\n // update end block next\n transformBlock(endBlock.getNextSiblingKey(), blocks, function (block) {\n return block.merge({\n prevSibling: getPrevValidSibling(endBlock, blocks, originalBlockMap)\n });\n });\n\n // update end block prev\n transformBlock(endBlock.getPrevSiblingKey(), blocks, function (block) {\n return block.merge({\n nextSibling: endBlock.getNextSiblingKey()\n });\n });\n\n // update end block parent ancestors\n getAncestorsKeys(endBlock.getKey(), originalBlockMap).forEach(function (parentKey) {\n transformBlock(parentKey, blocks, function (block) {\n return block.merge({\n children: block.getChildKeys().filter(function (key) {\n return blocks.get(key);\n }),\n nextSibling: getNextValidSibling(block, blocks, originalBlockMap),\n prevSibling: getPrevValidSibling(block, blocks, originalBlockMap)\n });\n });\n });\n\n // update next delimiters all the way to a root delimiter\n getNextDelimitersBlockKeys(endBlock, originalBlockMap).forEach(function (delimiterKey) {\n return transformBlock(delimiterKey, blocks, function (block) {\n return block.merge({\n nextSibling: getNextValidSibling(block, blocks, originalBlockMap),\n prevSibling: getPrevValidSibling(block, blocks, originalBlockMap)\n });\n });\n });\n });\n};\n\nvar removeRangeFromContentState = function removeRangeFromContentState(contentState, selectionState) {\n if (selectionState.isCollapsed()) {\n return contentState;\n }\n\n var blockMap = contentState.getBlockMap();\n var startKey = selectionState.getStartKey();\n var startOffset = selectionState.getStartOffset();\n var endKey = selectionState.getEndKey();\n var endOffset = selectionState.getEndOffset();\n\n var startBlock = blockMap.get(startKey);\n var endBlock = blockMap.get(endKey);\n\n // we assume that ContentBlockNode and ContentBlocks are not mixed together\n var isExperimentalTreeBlock = startBlock instanceof ContentBlockNode;\n\n // used to retain blocks that should not be deleted to avoid orphan children\n var parentAncestors = [];\n\n if (isExperimentalTreeBlock) {\n var endBlockchildrenKeys = endBlock.getChildKeys();\n var endBlockAncestors = getAncestorsKeys(endKey, blockMap);\n\n // endBlock has unselected sibblings so we can not remove its ancestors parents\n if (endBlock.getNextSiblingKey()) {\n parentAncestors = parentAncestors.concat(endBlockAncestors);\n }\n\n // endBlock has children so can not remove this block or any of its ancestors\n if (!endBlockchildrenKeys.isEmpty()) {\n parentAncestors = parentAncestors.concat(endBlockAncestors.concat([endKey]));\n }\n\n // we need to retain all ancestors of the next delimiter block\n parentAncestors = parentAncestors.concat(getAncestorsKeys(getNextDelimiterBlockKey(endBlock, blockMap), blockMap));\n }\n\n var characterList = void 0;\n\n if (startBlock === endBlock) {\n characterList = removeFromList(startBlock.getCharacterList(), startOffset, endOffset);\n } else {\n characterList = startBlock.getCharacterList().slice(0, startOffset).concat(endBlock.getCharacterList().slice(endOffset));\n }\n\n var modifiedStart = startBlock.merge({\n text: startBlock.getText().slice(0, startOffset) + endBlock.getText().slice(endOffset),\n characterList: characterList\n });\n\n var newBlocks = blockMap.toSeq().skipUntil(function (_, k) {\n return k === startKey;\n }).takeUntil(function (_, k) {\n return k === endKey;\n }).filter(function (_, k) {\n return parentAncestors.indexOf(k) === -1;\n }).concat(Map([[endKey, null]])).map(function (_, k) {\n return k === startKey ? modifiedStart : null;\n });\n\n var updatedBlockMap = blockMap.merge(newBlocks).filter(function (block) {\n return !!block;\n });\n\n if (isExperimentalTreeBlock) {\n updatedBlockMap = updateBlockMapLinks(updatedBlockMap, startBlock, endBlock, blockMap);\n }\n\n return contentState.merge({\n blockMap: updatedBlockMap,\n selectionBefore: selectionState,\n selectionAfter: selectionState.merge({\n anchorKey: startKey,\n anchorOffset: startOffset,\n focusKey: startKey,\n focusOffset: startOffset,\n isBackward: false\n })\n });\n};\n\n/**\n * Maintain persistence for target list when removing characters on the\n * head and tail of the character list.\n */\nvar removeFromList = function removeFromList(targetList, startOffset, endOffset) {\n if (startOffset === 0) {\n while (startOffset < endOffset) {\n targetList = targetList.shift();\n startOffset++;\n }\n } else if (endOffset === targetList.count()) {\n while (endOffset > startOffset) {\n targetList = targetList.pop();\n endOffset--;\n }\n } else {\n var head = targetList.slice(0, startOffset);\n var tail = targetList.slice(endOffset);\n targetList = head.concat(tail).toList();\n }\n return targetList;\n};\n\nmodule.exports = removeRangeFromContentState;","/**\n * Copyright (c) 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 * @providesModule removeTextWithStrategy\n * @format\n * \n */\n\n'use strict';\n\nvar DraftModifier = require('./DraftModifier');\n\n/**\n * For a collapsed selection state, remove text based on the specified strategy.\n * If the selection state is not collapsed, remove the entire selected range.\n */\nfunction removeTextWithStrategy(editorState, strategy, direction) {\n var selection = editorState.getSelection();\n var content = editorState.getCurrentContent();\n var target = selection;\n if (selection.isCollapsed()) {\n if (direction === 'forward') {\n if (editorState.isSelectionAtEndOfContent()) {\n return content;\n }\n } else if (editorState.isSelectionAtStartOfContent()) {\n return content;\n }\n\n target = strategy(editorState);\n if (target === selection) {\n return content;\n }\n }\n return DraftModifier.removeRange(content, target, direction);\n}\n\nmodule.exports = removeTextWithStrategy;","/**\n * Copyright (c) 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 * @providesModule sanitizeDraftText\n * @format\n * \n */\n\n'use strict';\n\nvar REGEX_BLOCK_DELIMITER = new RegExp('\\r', 'g');\n\nfunction sanitizeDraftText(input) {\n return input.replace(REGEX_BLOCK_DELIMITER, '');\n}\n\nmodule.exports = sanitizeDraftText;","/**\n * Copyright (c) 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 * @providesModule setDraftEditorSelection\n * @format\n * \n */\n\n'use strict';\n\nvar DraftJsDebugLogging = require('./DraftJsDebugLogging');\n\nvar containsNode = require('fbjs/lib/containsNode');\nvar getActiveElement = require('fbjs/lib/getActiveElement');\nvar invariant = require('fbjs/lib/invariant');\n\nfunction getAnonymizedDOM(node, getNodeLabels) {\n if (!node) {\n return '[empty]';\n }\n\n var anonymized = anonymizeTextWithin(node, getNodeLabels);\n if (anonymized.nodeType === Node.TEXT_NODE) {\n return anonymized.textContent;\n }\n\n !(anonymized instanceof Element) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Node must be an Element if it is not a text node.') : invariant(false) : void 0;\n return anonymized.outerHTML;\n}\n\nfunction anonymizeTextWithin(node, getNodeLabels) {\n var labels = getNodeLabels !== undefined ? getNodeLabels(node) : [];\n\n if (node.nodeType === Node.TEXT_NODE) {\n var length = node.textContent.length;\n return document.createTextNode('[text ' + length + (labels.length ? ' | ' + labels.join(', ') : '') + ']');\n }\n\n var clone = node.cloneNode();\n if (clone.nodeType === 1 && labels.length) {\n clone.setAttribute('data-labels', labels.join(', '));\n }\n var childNodes = node.childNodes;\n for (var ii = 0; ii < childNodes.length; ii++) {\n clone.appendChild(anonymizeTextWithin(childNodes[ii], getNodeLabels));\n }\n\n return clone;\n}\n\nfunction getAnonymizedEditorDOM(node, getNodeLabels) {\n // grabbing the DOM content of the Draft editor\n var currentNode = node;\n while (currentNode) {\n if (currentNode instanceof Element && currentNode.hasAttribute('contenteditable')) {\n // found the Draft editor container\n return getAnonymizedDOM(currentNode, getNodeLabels);\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n return 'Could not find contentEditable parent of node';\n}\n\nfunction getNodeLength(node) {\n return node.nodeValue === null ? node.childNodes.length : node.nodeValue.length;\n}\n\n/**\n * In modern non-IE browsers, we can support both forward and backward\n * selections.\n *\n * Note: IE10+ supports the Selection object, but it does not support\n * the `extend` method, which means that even in modern IE, it's not possible\n * to programatically create a backward selection. Thus, for all IE\n * versions, we use the old IE API to create our selections.\n */\nfunction setDraftEditorSelection(selectionState, node, blockKey, nodeStart, nodeEnd) {\n // It's possible that the editor has been removed from the DOM but\n // our selection code doesn't know it yet. Forcing selection in\n // this case may lead to errors, so just bail now.\n if (!containsNode(document.documentElement, node)) {\n return;\n }\n\n var selection = global.getSelection();\n var anchorKey = selectionState.getAnchorKey();\n var anchorOffset = selectionState.getAnchorOffset();\n var focusKey = selectionState.getFocusKey();\n var focusOffset = selectionState.getFocusOffset();\n var isBackward = selectionState.getIsBackward();\n\n // IE doesn't support backward selection. Swap key/offset pairs.\n if (!selection.extend && isBackward) {\n var tempKey = anchorKey;\n var tempOffset = anchorOffset;\n anchorKey = focusKey;\n anchorOffset = focusOffset;\n focusKey = tempKey;\n focusOffset = tempOffset;\n isBackward = false;\n }\n\n var hasAnchor = anchorKey === blockKey && nodeStart <= anchorOffset && nodeEnd >= anchorOffset;\n\n var hasFocus = focusKey === blockKey && nodeStart <= focusOffset && nodeEnd >= focusOffset;\n\n // If the selection is entirely bound within this node, set the selection\n // and be done.\n if (hasAnchor && hasFocus) {\n selection.removeAllRanges();\n addPointToSelection(selection, node, anchorOffset - nodeStart, selectionState);\n addFocusToSelection(selection, node, focusOffset - nodeStart, selectionState);\n return;\n }\n\n if (!isBackward) {\n // If the anchor is within this node, set the range start.\n if (hasAnchor) {\n selection.removeAllRanges();\n addPointToSelection(selection, node, anchorOffset - nodeStart, selectionState);\n }\n\n // If the focus is within this node, we can assume that we have\n // already set the appropriate start range on the selection, and\n // can simply extend the selection.\n if (hasFocus) {\n addFocusToSelection(selection, node, focusOffset - nodeStart, selectionState);\n }\n } else {\n // If this node has the focus, set the selection range to be a\n // collapsed range beginning here. Later, when we encounter the anchor,\n // we'll use this information to extend the selection.\n if (hasFocus) {\n selection.removeAllRanges();\n addPointToSelection(selection, node, focusOffset - nodeStart, selectionState);\n }\n\n // If this node has the anchor, we may assume that the correct\n // focus information is already stored on the selection object.\n // We keep track of it, reset the selection range, and extend it\n // back to the focus point.\n if (hasAnchor) {\n var storedFocusNode = selection.focusNode;\n var storedFocusOffset = selection.focusOffset;\n\n selection.removeAllRanges();\n addPointToSelection(selection, node, anchorOffset - nodeStart, selectionState);\n addFocusToSelection(selection, storedFocusNode, storedFocusOffset, selectionState);\n }\n }\n}\n\n/**\n * Extend selection towards focus point.\n */\nfunction addFocusToSelection(selection, node, offset, selectionState) {\n var activeElement = getActiveElement();\n if (selection.extend && containsNode(activeElement, node)) {\n // If `extend` is called while another element has focus, an error is\n // thrown. We therefore disable `extend` if the active element is somewhere\n // other than the node we are selecting. This should only occur in Firefox,\n // since it is the only browser to support multiple selections.\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=921444.\n\n // logging to catch bug that is being reported in t16250795\n if (offset > getNodeLength(node)) {\n // the call to 'selection.extend' is about to throw\n DraftJsDebugLogging.logSelectionStateFailure({\n anonymizedDom: getAnonymizedEditorDOM(node),\n extraParams: JSON.stringify({ offset: offset }),\n selectionState: JSON.stringify(selectionState.toJS())\n });\n }\n\n // logging to catch bug that is being reported in t18110632\n var nodeWasFocus = node === selection.focusNode;\n try {\n selection.extend(node, offset);\n } catch (e) {\n DraftJsDebugLogging.logSelectionStateFailure({\n anonymizedDom: getAnonymizedEditorDOM(node, function (n) {\n var labels = [];\n if (n === activeElement) {\n labels.push('active element');\n }\n if (n === selection.anchorNode) {\n labels.push('selection anchor node');\n }\n if (n === selection.focusNode) {\n labels.push('selection focus node');\n }\n return labels;\n }),\n extraParams: JSON.stringify({\n activeElementName: activeElement ? activeElement.nodeName : null,\n nodeIsFocus: node === selection.focusNode,\n nodeWasFocus: nodeWasFocus,\n selectionRangeCount: selection.rangeCount,\n selectionAnchorNodeName: selection.anchorNode ? selection.anchorNode.nodeName : null,\n selectionAnchorOffset: selection.anchorOffset,\n selectionFocusNodeName: selection.focusNode ? selection.focusNode.nodeName : null,\n selectionFocusOffset: selection.focusOffset,\n message: e ? '' + e : null,\n offset: offset\n }, null, 2),\n selectionState: JSON.stringify(selectionState.toJS(), null, 2)\n });\n // allow the error to be thrown -\n // better than continuing in a broken state\n throw e;\n }\n } else {\n // IE doesn't support extend. This will mean no backward selection.\n // Extract the existing selection range and add focus to it.\n // Additionally, clone the selection range. IE11 throws an\n // InvalidStateError when attempting to access selection properties\n // after the range is detached.\n var range = selection.getRangeAt(0);\n range.setEnd(node, offset);\n selection.addRange(range.cloneRange());\n }\n}\n\nfunction addPointToSelection(selection, node, offset, selectionState) {\n var range = document.createRange();\n // logging to catch bug that is being reported in t16250795\n if (offset > getNodeLength(node)) {\n // in this case we know that the call to 'range.setStart' is about to throw\n DraftJsDebugLogging.logSelectionStateFailure({\n anonymizedDom: getAnonymizedEditorDOM(node),\n extraParams: JSON.stringify({ offset: offset }),\n selectionState: JSON.stringify(selectionState.toJS())\n });\n }\n range.setStart(node, offset);\n selection.addRange(range);\n}\n\nmodule.exports = setDraftEditorSelection;","/**\n * Copyright (c) 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 * @providesModule splitBlockInContentState\n * @format\n * \n */\n\n'use strict';\n\nvar ContentBlockNode = require('./ContentBlockNode');\nvar Immutable = require('immutable');\n\nvar generateRandomKey = require('./generateRandomKey');\nvar invariant = require('fbjs/lib/invariant');\n\nvar List = Immutable.List,\n Map = Immutable.Map;\n\n\nvar transformBlock = function transformBlock(key, blockMap, func) {\n if (!key) {\n return;\n }\n\n var block = blockMap.get(key);\n\n if (!block) {\n return;\n }\n\n blockMap.set(key, func(block));\n};\n\nvar updateBlockMapLinks = function updateBlockMapLinks(blockMap, originalBlock, belowBlock) {\n return blockMap.withMutations(function (blocks) {\n var originalBlockKey = originalBlock.getKey();\n var belowBlockKey = belowBlock.getKey();\n\n // update block parent\n transformBlock(originalBlock.getParentKey(), blocks, function (block) {\n var parentChildrenList = block.getChildKeys();\n var insertionIndex = parentChildrenList.indexOf(originalBlockKey) + 1;\n var newChildrenArray = parentChildrenList.toArray();\n\n newChildrenArray.splice(insertionIndex, 0, belowBlockKey);\n\n return block.merge({\n children: List(newChildrenArray)\n });\n });\n\n // update original next block\n transformBlock(originalBlock.getNextSiblingKey(), blocks, function (block) {\n return block.merge({\n prevSibling: belowBlockKey\n });\n });\n\n // update original block\n transformBlock(originalBlockKey, blocks, function (block) {\n return block.merge({\n nextSibling: belowBlockKey\n });\n });\n\n // update below block\n transformBlock(belowBlockKey, blocks, function (block) {\n return block.merge({\n prevSibling: originalBlockKey\n });\n });\n });\n};\n\nvar splitBlockInContentState = function splitBlockInContentState(contentState, selectionState) {\n !selectionState.isCollapsed() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Selection range must be collapsed.') : invariant(false) : void 0;\n\n var key = selectionState.getAnchorKey();\n var offset = selectionState.getAnchorOffset();\n var blockMap = contentState.getBlockMap();\n var blockToSplit = blockMap.get(key);\n var text = blockToSplit.getText();\n var chars = blockToSplit.getCharacterList();\n var keyBelow = generateRandomKey();\n var isExperimentalTreeBlock = blockToSplit instanceof ContentBlockNode;\n\n var blockAbove = blockToSplit.merge({\n text: text.slice(0, offset),\n characterList: chars.slice(0, offset)\n });\n var blockBelow = blockAbove.merge({\n key: keyBelow,\n text: text.slice(offset),\n characterList: chars.slice(offset),\n data: Map()\n });\n\n var blocksBefore = blockMap.toSeq().takeUntil(function (v) {\n return v === blockToSplit;\n });\n var blocksAfter = blockMap.toSeq().skipUntil(function (v) {\n return v === blockToSplit;\n }).rest();\n var newBlocks = blocksBefore.concat([[key, blockAbove], [keyBelow, blockBelow]], blocksAfter).toOrderedMap();\n\n if (isExperimentalTreeBlock) {\n !blockToSplit.getChildKeys().isEmpty() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ContentBlockNode must not have children') : invariant(false) : void 0;\n\n newBlocks = updateBlockMapLinks(newBlocks, blockAbove, blockBelow);\n }\n\n return contentState.merge({\n blockMap: newBlocks,\n selectionBefore: selectionState,\n selectionAfter: selectionState.merge({\n anchorKey: keyBelow,\n anchorOffset: 0,\n focusKey: keyBelow,\n focusOffset: 0,\n isBackward: false\n })\n });\n};\n\nmodule.exports = splitBlockInContentState;","/**\n * Copyright (c) 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 * @providesModule splitTextIntoTextBlocks\n * @format\n * \n */\n\n'use strict';\n\nvar NEWLINE_REGEX = /\\r\\n?|\\n/g;\n\nfunction splitTextIntoTextBlocks(text) {\n return text.split(NEWLINE_REGEX);\n}\n\nmodule.exports = splitTextIntoTextBlocks;","var QueryHandler = require('./QueryHandler');\nvar each = require('./Util').each;\n\n/**\n * Represents a single media query, manages it's state and registered handlers for this query\n *\n * @constructor\n * @param {string} query the media query string\n * @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design\n */\nfunction MediaQuery(query, isUnconditional) {\n this.query = query;\n this.isUnconditional = isUnconditional;\n this.handlers = [];\n this.mql = window.matchMedia(query);\n\n var self = this;\n this.listener = function(mql) {\n // Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly\n self.mql = mql.currentTarget || mql;\n self.assess();\n };\n this.mql.addListener(this.listener);\n}\n\nMediaQuery.prototype = {\n\n constuctor : MediaQuery,\n\n /**\n * add a handler for this query, triggering if already active\n *\n * @param {object} handler\n * @param {function} handler.match callback for when query is activated\n * @param {function} [handler.unmatch] callback for when query is deactivated\n * @param {function} [handler.setup] callback for immediate execution when a query handler is registered\n * @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?\n */\n addHandler : function(handler) {\n var qh = new QueryHandler(handler);\n this.handlers.push(qh);\n\n this.matches() && qh.on();\n },\n\n /**\n * removes the given handler from the collection, and calls it's destroy methods\n *\n * @param {object || function} handler the handler to remove\n */\n removeHandler : function(handler) {\n var handlers = this.handlers;\n each(handlers, function(h, i) {\n if(h.equals(handler)) {\n h.destroy();\n return !handlers.splice(i,1); //remove from array and exit each early\n }\n });\n },\n\n /**\n * Determine whether the media query should be considered a match\n *\n * @return {Boolean} true if media query can be considered a match, false otherwise\n */\n matches : function() {\n return this.mql.matches || this.isUnconditional;\n },\n\n /**\n * Clears all handlers and unbinds events\n */\n clear : function() {\n each(this.handlers, function(handler) {\n handler.destroy();\n });\n this.mql.removeListener(this.listener);\n this.handlers.length = 0; //clear array\n },\n\n /*\n * Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match\n */\n assess : function() {\n var action = this.matches() ? 'on' : 'off';\n\n each(this.handlers, function(handler) {\n handler[action]();\n });\n }\n};\n\nmodule.exports = MediaQuery;\n","var MediaQuery = require('./MediaQuery');\nvar Util = require('./Util');\nvar each = Util.each;\nvar isFunction = Util.isFunction;\nvar isArray = Util.isArray;\n\n/**\n * Allows for registration of query handlers.\n * Manages the query handler's state and is responsible for wiring up browser events\n *\n * @constructor\n */\nfunction MediaQueryDispatch () {\n if(!window.matchMedia) {\n throw new Error('matchMedia not present, legacy browsers require a polyfill');\n }\n\n this.queries = {};\n this.browserIsIncapable = !window.matchMedia('only all').matches;\n}\n\nMediaQueryDispatch.prototype = {\n\n constructor : MediaQueryDispatch,\n\n /**\n * Registers a handler for the given media query\n *\n * @param {string} q the media query\n * @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers\n * @param {function} options.match fired when query matched\n * @param {function} [options.unmatch] fired when a query is no longer matched\n * @param {function} [options.setup] fired when handler first triggered\n * @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched\n * @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers\n */\n register : function(q, options, shouldDegrade) {\n var queries = this.queries,\n isUnconditional = shouldDegrade && this.browserIsIncapable;\n\n if(!queries[q]) {\n queries[q] = new MediaQuery(q, isUnconditional);\n }\n\n //normalise to object in an array\n if(isFunction(options)) {\n options = { match : options };\n }\n if(!isArray(options)) {\n options = [options];\n }\n each(options, function(handler) {\n if (isFunction(handler)) {\n handler = { match : handler };\n }\n queries[q].addHandler(handler);\n });\n\n return this;\n },\n\n /**\n * unregisters a query and all it's handlers, or a specific handler for a query\n *\n * @param {string} q the media query to target\n * @param {object || function} [handler] specific handler to unregister\n */\n unregister : function(q, handler) {\n var query = this.queries[q];\n\n if(query) {\n if(handler) {\n query.removeHandler(handler);\n }\n else {\n query.clear();\n delete this.queries[q];\n }\n }\n\n return this;\n }\n};\n\nmodule.exports = MediaQueryDispatch;\n","/**\n * Delegate to handle a media query being matched and unmatched.\n *\n * @param {object} options\n * @param {function} options.match callback for when the media query is matched\n * @param {function} [options.unmatch] callback for when the media query is unmatched\n * @param {function} [options.setup] one-time callback triggered the first time a query is matched\n * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?\n * @constructor\n */\nfunction QueryHandler(options) {\n this.options = options;\n !options.deferSetup && this.setup();\n}\n\nQueryHandler.prototype = {\n\n constructor : QueryHandler,\n\n /**\n * coordinates setup of the handler\n *\n * @function\n */\n setup : function() {\n if(this.options.setup) {\n this.options.setup();\n }\n this.initialised = true;\n },\n\n /**\n * coordinates setup and triggering of the handler\n *\n * @function\n */\n on : function() {\n !this.initialised && this.setup();\n this.options.match && this.options.match();\n },\n\n /**\n * coordinates the unmatch event for the handler\n *\n * @function\n */\n off : function() {\n this.options.unmatch && this.options.unmatch();\n },\n\n /**\n * called when a handler is to be destroyed.\n * delegates to the destroy or unmatch callbacks, depending on availability.\n *\n * @function\n */\n destroy : function() {\n this.options.destroy ? this.options.destroy() : this.off();\n },\n\n /**\n * determines equality by reference.\n * if object is supplied compare options, if function, compare match callback\n *\n * @function\n * @param {object || function} [target] the target for comparison\n */\n equals : function(target) {\n return this.options === target || this.options.match === target;\n }\n\n};\n\nmodule.exports = QueryHandler;\n","/**\n * Helper function for iterating over a collection\n *\n * @param collection\n * @param fn\n */\nfunction each(collection, fn) {\n var i = 0,\n length = collection.length,\n cont;\n\n for(i; i < length; i++) {\n cont = fn(collection[i], i);\n if(cont === false) {\n break; //allow early exit\n }\n }\n}\n\n/**\n * Helper function for determining whether target object is an array\n *\n * @param target the object under test\n * @return {Boolean} true if array, false otherwise\n */\nfunction isArray(target) {\n return Object.prototype.toString.apply(target) === '[object Array]';\n}\n\n/**\n * Helper function for determining whether target object is a function\n *\n * @param target the object under test\n * @return {Boolean} true if function, false otherwise\n */\nfunction isFunction(target) {\n return typeof target === 'function';\n}\n\nmodule.exports = {\n isFunction : isFunction,\n isArray : isArray,\n each : each\n};\n","var MediaQueryDispatch = require('./MediaQueryDispatch');\nmodule.exports = new MediaQueryDispatch();\n","(function(root,factory){\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.eventListener = factory();\n }\n}(this, function () {\n\tfunction wrap(standard, fallback) {\n\t\treturn function (el, evtName, listener, useCapture) {\n\t\t\tif (el[standard]) {\n\t\t\t\tel[standard](evtName, listener, useCapture);\n\t\t\t} else if (el[fallback]) {\n\t\t\t\tel[fallback]('on' + evtName, listener);\n\t\t\t}\n\t\t}\n\t}\n\n return {\n\t\tadd: wrap('addEventListener', 'attachEvent'),\n\t\tremove: wrap('removeEventListener', 'detachEvent')\n\t};\n}));","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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 * @typechecks\n */\n\nvar PhotosMimeType = require('./PhotosMimeType');\n\nvar createArrayFromMixed = require('./createArrayFromMixed');\nvar emptyFunction = require('./emptyFunction');\n\nvar CR_LF_REGEX = new RegExp('\\r\\n', 'g');\nvar LF_ONLY = '\\n';\n\nvar RICH_TEXT_TYPES = {\n 'text/rtf': 1,\n 'text/html': 1\n};\n\n/**\n * If DataTransferItem is a file then return the Blob of data.\n *\n * @param {object} item\n * @return {?blob}\n */\nfunction getFileFromDataTransfer(item) {\n if (item.kind == 'file') {\n return item.getAsFile();\n }\n}\n\nvar DataTransfer = function () {\n /**\n * @param {object} data\n */\n function DataTransfer(data) {\n _classCallCheck(this, DataTransfer);\n\n this.data = data;\n\n // Types could be DOMStringList or array\n this.types = data.types ? createArrayFromMixed(data.types) : [];\n }\n\n /**\n * Is this likely to be a rich text data transfer?\n *\n * @return {boolean}\n */\n\n\n DataTransfer.prototype.isRichText = function isRichText() {\n // If HTML is available, treat this data as rich text. This way, we avoid\n // using a pasted image if it is packaged with HTML -- this may occur with\n // pastes from MS Word, for example. However this is only rich text if\n // there's accompanying text.\n if (this.getHTML() && this.getText()) {\n return true;\n }\n\n // When an image is copied from a preview window, you end up with two\n // DataTransferItems one of which is a file's metadata as text. Skip those.\n if (this.isImage()) {\n return false;\n }\n\n return this.types.some(function (type) {\n return RICH_TEXT_TYPES[type];\n });\n };\n\n /**\n * Get raw text.\n *\n * @return {?string}\n */\n\n\n DataTransfer.prototype.getText = function getText() {\n var text;\n if (this.data.getData) {\n if (!this.types.length) {\n text = this.data.getData('Text');\n } else if (this.types.indexOf('text/plain') != -1) {\n text = this.data.getData('text/plain');\n }\n }\n return text ? text.replace(CR_LF_REGEX, LF_ONLY) : null;\n };\n\n /**\n * Get HTML paste data\n *\n * @return {?string}\n */\n\n\n DataTransfer.prototype.getHTML = function getHTML() {\n if (this.data.getData) {\n if (!this.types.length) {\n return this.data.getData('Text');\n } else if (this.types.indexOf('text/html') != -1) {\n return this.data.getData('text/html');\n }\n }\n };\n\n /**\n * Is this a link data transfer?\n *\n * @return {boolean}\n */\n\n\n DataTransfer.prototype.isLink = function isLink() {\n return this.types.some(function (type) {\n return type.indexOf('Url') != -1 || type.indexOf('text/uri-list') != -1 || type.indexOf('text/x-moz-url');\n });\n };\n\n /**\n * Get a link url.\n *\n * @return {?string}\n */\n\n\n DataTransfer.prototype.getLink = function getLink() {\n if (this.data.getData) {\n if (this.types.indexOf('text/x-moz-url') != -1) {\n var url = this.data.getData('text/x-moz-url').split('\\n');\n return url[0];\n }\n return this.types.indexOf('text/uri-list') != -1 ? this.data.getData('text/uri-list') : this.data.getData('url');\n }\n\n return null;\n };\n\n /**\n * Is this an image data transfer?\n *\n * @return {boolean}\n */\n\n\n DataTransfer.prototype.isImage = function isImage() {\n var isImage = this.types.some(function (type) {\n // Firefox will have a type of application/x-moz-file for images during\n // dragging\n return type.indexOf('application/x-moz-file') != -1;\n });\n\n if (isImage) {\n return true;\n }\n\n var items = this.getFiles();\n for (var i = 0; i < items.length; i++) {\n var type = items[i].type;\n if (!PhotosMimeType.isImage(type)) {\n return false;\n }\n }\n\n return true;\n };\n\n DataTransfer.prototype.getCount = function getCount() {\n if (this.data.hasOwnProperty('items')) {\n return this.data.items.length;\n } else if (this.data.hasOwnProperty('mozItemCount')) {\n return this.data.mozItemCount;\n } else if (this.data.files) {\n return this.data.files.length;\n }\n return null;\n };\n\n /**\n * Get files.\n *\n * @return {array}\n */\n\n\n DataTransfer.prototype.getFiles = function getFiles() {\n if (this.data.items) {\n // createArrayFromMixed doesn't properly handle DataTransferItemLists.\n return Array.prototype.slice.call(this.data.items).map(getFileFromDataTransfer).filter(emptyFunction.thatReturnsArgument);\n } else if (this.data.files) {\n return Array.prototype.slice.call(this.data.files);\n } else {\n return [];\n }\n };\n\n /**\n * Are there any files to fetch?\n *\n * @return {boolean}\n */\n\n\n DataTransfer.prototype.hasFiles = function hasFiles() {\n return this.getFiles().length > 0;\n };\n\n return DataTransfer;\n}();\n\nmodule.exports = DataTransfer;","\"use strict\";\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\nmodule.exports = {\n BACKSPACE: 8,\n TAB: 9,\n RETURN: 13,\n ALT: 18,\n ESC: 27,\n SPACE: 32,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n END: 35,\n HOME: 36,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n DELETE: 46,\n COMMA: 188,\n PERIOD: 190,\n A: 65,\n Z: 90,\n ZERO: 48,\n NUMPAD_0: 96,\n NUMPAD_9: 105\n};","'use strict';\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 */\nvar PhotosMimeType = {\n isImage: function isImage(mimeString) {\n return getParts(mimeString)[0] === 'image';\n },\n isJpeg: function isJpeg(mimeString) {\n var parts = getParts(mimeString);\n return PhotosMimeType.isImage(mimeString) && (\n // see http://fburl.com/10972194\n parts[1] === 'jpeg' || parts[1] === 'pjpeg');\n }\n};\n\nfunction getParts(mimeString) {\n return mimeString.split('/');\n}\n\nmodule.exports = PhotosMimeType;","\"use strict\";\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/**\n * @param {DOMElement} element\n * @param {DOMDocument} doc\n * @return {boolean}\n */\nfunction _isViewportScrollElement(element, doc) {\n return !!doc && (element === doc.documentElement || element === doc.body);\n}\n\n/**\n * Scroll Module. This class contains 4 simple static functions\n * to be used to access Element.scrollTop/scrollLeft properties.\n * To solve the inconsistencies between browsers when either\n * document.body or document.documentElement is supplied,\n * below logic will be used to alleviate the issue:\n *\n * 1. If 'element' is either 'document.body' or 'document.documentElement,\n * get whichever element's 'scroll{Top,Left}' is larger.\n * 2. If 'element' is either 'document.body' or 'document.documentElement',\n * set the 'scroll{Top,Left}' on both elements.\n */\n\nvar Scroll = {\n /**\n * @param {DOMElement} element\n * @return {number}\n */\n getTop: function getTop(element) {\n var doc = element.ownerDocument;\n return _isViewportScrollElement(element, doc) ?\n // In practice, they will either both have the same value,\n // or one will be zero and the other will be the scroll position\n // of the viewport. So we can use `X || Y` instead of `Math.max(X, Y)`\n doc.body.scrollTop || doc.documentElement.scrollTop : element.scrollTop;\n },\n\n /**\n * @param {DOMElement} element\n * @param {number} newTop\n */\n setTop: function setTop(element, newTop) {\n var doc = element.ownerDocument;\n if (_isViewportScrollElement(element, doc)) {\n doc.body.scrollTop = doc.documentElement.scrollTop = newTop;\n } else {\n element.scrollTop = newTop;\n }\n },\n\n /**\n * @param {DOMElement} element\n * @return {number}\n */\n getLeft: function getLeft(element) {\n var doc = element.ownerDocument;\n return _isViewportScrollElement(element, doc) ? doc.body.scrollLeft || doc.documentElement.scrollLeft : element.scrollLeft;\n },\n\n /**\n * @param {DOMElement} element\n * @param {number} newLeft\n */\n setLeft: function setLeft(element, newLeft) {\n var doc = element.ownerDocument;\n if (_isViewportScrollElement(element, doc)) {\n doc.body.scrollLeft = doc.documentElement.scrollLeft = newLeft;\n } else {\n element.scrollLeft = newLeft;\n }\n }\n};\n\nmodule.exports = Scroll;","'use strict';\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 * @typechecks\n */\n\nvar getStyleProperty = require('./getStyleProperty');\n\n/**\n * @param {DOMNode} element [description]\n * @param {string} name Overflow style property name.\n * @return {boolean} True if the supplied ndoe is scrollable.\n */\nfunction _isNodeScrollable(element, name) {\n var overflow = Style.get(element, name);\n return overflow === 'auto' || overflow === 'scroll';\n}\n\n/**\n * Utilities for querying and mutating style properties.\n */\nvar Style = {\n /**\n * Gets the style property for the supplied node. This will return either the\n * computed style, if available, or the declared style.\n *\n * @param {DOMNode} node\n * @param {string} name Style property name.\n * @return {?string} Style property value.\n */\n get: getStyleProperty,\n\n /**\n * Determines the nearest ancestor of a node that is scrollable.\n *\n * NOTE: This can be expensive if used repeatedly or on a node nested deeply.\n *\n * @param {?DOMNode} node Node from which to start searching.\n * @return {?DOMWindow|DOMElement} Scroll parent of the supplied node.\n */\n getScrollParent: function getScrollParent(node) {\n if (!node) {\n return null;\n }\n var ownerDocument = node.ownerDocument;\n while (node && node !== ownerDocument.body) {\n if (_isNodeScrollable(node, 'overflow') || _isNodeScrollable(node, 'overflowY') || _isNodeScrollable(node, 'overflowX')) {\n return node;\n }\n node = node.parentNode;\n }\n return ownerDocument.defaultView || ownerDocument.parentWindow;\n }\n\n};\n\nmodule.exports = Style;","/**\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 * @typechecks\n * @stub\n * \n */\n\n'use strict';\n\n// \\u00a1-\\u00b1\\u00b4-\\u00b8\\u00ba\\u00bb\\u00bf\n// is latin supplement punctuation except fractions and superscript\n// numbers\n// \\u2010-\\u2027\\u2030-\\u205e\n// is punctuation from the general punctuation block:\n// weird quotes, commas, bullets, dashes, etc.\n// \\u30fb\\u3001\\u3002\\u3008-\\u3011\\u3014-\\u301f\n// is CJK punctuation\n// \\uff1a-\\uff1f\\uff01-\\uff0f\\uff3b-\\uff40\\uff5b-\\uff65\n// is some full-width/half-width punctuation\n// \\u2E2E\\u061f\\u066a-\\u066c\\u061b\\u060c\\u060d\\uFD3e\\uFD3F\n// is some Arabic punctuation marks\n// \\u1801\\u0964\\u104a\\u104b\n// is misc. other language punctuation marks\n\nvar PUNCTUATION = '[.,+*?$|#{}()\\'\\\\^\\\\-\\\\[\\\\]\\\\\\\\\\\\/!@%\"~=<>_:;' + '\\u30FB\\u3001\\u3002\\u3008-\\u3011\\u3014-\\u301F\\uFF1A-\\uFF1F\\uFF01-\\uFF0F' + '\\uFF3B-\\uFF40\\uFF5B-\\uFF65\\u2E2E\\u061F\\u066A-\\u066C\\u061B\\u060C\\u060D' + '\\uFD3E\\uFD3F\\u1801\\u0964\\u104A\\u104B\\u2010-\\u2027\\u2030-\\u205E' + '\\xA1-\\xB1\\xB4-\\xB8\\xBA\\xBB\\xBF]';\n\nmodule.exports = {\n getPunctuation: function getPunctuation() {\n return PUNCTUATION;\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\n'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar URI = function () {\n function URI(uri) {\n _classCallCheck(this, URI);\n\n this._uri = uri;\n }\n\n URI.prototype.toString = function toString() {\n return this._uri;\n };\n\n return URI;\n}();\n\nmodule.exports = URI;","/**\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 * @typechecks\n * \n */\n\n/**\n * Basic (stateless) API for text direction detection\n *\n * Part of our implementation of Unicode Bidirectional Algorithm (UBA)\n * Unicode Standard Annex #9 (UAX9)\n * http://www.unicode.org/reports/tr9/\n */\n\n'use strict';\n\nvar UnicodeBidiDirection = require('./UnicodeBidiDirection');\n\nvar invariant = require('./invariant');\n\n/**\n * RegExp ranges of characters with a *Strong* Bidi_Class value.\n *\n * Data is based on DerivedBidiClass.txt in UCD version 7.0.0.\n *\n * NOTE: For performance reasons, we only support Unicode's\n * Basic Multilingual Plane (BMP) for now.\n */\nvar RANGE_BY_BIDI_TYPE = {\n\n L: 'A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u01BA\\u01BB' + '\\u01BC-\\u01BF\\u01C0-\\u01C3\\u01C4-\\u0293\\u0294\\u0295-\\u02AF\\u02B0-\\u02B8' + '\\u02BB-\\u02C1\\u02D0-\\u02D1\\u02E0-\\u02E4\\u02EE\\u0370-\\u0373\\u0376-\\u0377' + '\\u037A\\u037B-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1' + '\\u03A3-\\u03F5\\u03F7-\\u0481\\u0482\\u048A-\\u052F\\u0531-\\u0556\\u0559' + '\\u055A-\\u055F\\u0561-\\u0587\\u0589\\u0903\\u0904-\\u0939\\u093B\\u093D' + '\\u093E-\\u0940\\u0949-\\u094C\\u094E-\\u094F\\u0950\\u0958-\\u0961\\u0964-\\u0965' + '\\u0966-\\u096F\\u0970\\u0971\\u0972-\\u0980\\u0982-\\u0983\\u0985-\\u098C' + '\\u098F-\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD' + '\\u09BE-\\u09C0\\u09C7-\\u09C8\\u09CB-\\u09CC\\u09CE\\u09D7\\u09DC-\\u09DD' + '\\u09DF-\\u09E1\\u09E6-\\u09EF\\u09F0-\\u09F1\\u09F4-\\u09F9\\u09FA\\u0A03' + '\\u0A05-\\u0A0A\\u0A0F-\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32-\\u0A33' + '\\u0A35-\\u0A36\\u0A38-\\u0A39\\u0A3E-\\u0A40\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A6F' + '\\u0A72-\\u0A74\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0' + '\\u0AB2-\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0ABE-\\u0AC0\\u0AC9\\u0ACB-\\u0ACC\\u0AD0' + '\\u0AE0-\\u0AE1\\u0AE6-\\u0AEF\\u0AF0\\u0B02-\\u0B03\\u0B05-\\u0B0C\\u0B0F-\\u0B10' + '\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32-\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B3E\\u0B40' + '\\u0B47-\\u0B48\\u0B4B-\\u0B4C\\u0B57\\u0B5C-\\u0B5D\\u0B5F-\\u0B61\\u0B66-\\u0B6F' + '\\u0B70\\u0B71\\u0B72-\\u0B77\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95' + '\\u0B99-\\u0B9A\\u0B9C\\u0B9E-\\u0B9F\\u0BA3-\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9' + '\\u0BBE-\\u0BBF\\u0BC1-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD0\\u0BD7' + '\\u0BE6-\\u0BEF\\u0BF0-\\u0BF2\\u0C01-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10' + '\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C41-\\u0C44\\u0C58-\\u0C59\\u0C60-\\u0C61' + '\\u0C66-\\u0C6F\\u0C7F\\u0C82-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8' + '\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CBE\\u0CBF\\u0CC0-\\u0CC4\\u0CC6' + '\\u0CC7-\\u0CC8\\u0CCA-\\u0CCB\\u0CD5-\\u0CD6\\u0CDE\\u0CE0-\\u0CE1\\u0CE6-\\u0CEF' + '\\u0CF1-\\u0CF2\\u0D02-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D' + '\\u0D3E-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D4E\\u0D57\\u0D60-\\u0D61' + '\\u0D66-\\u0D6F\\u0D70-\\u0D75\\u0D79\\u0D7A-\\u0D7F\\u0D82-\\u0D83\\u0D85-\\u0D96' + '\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF' + '\\u0DE6-\\u0DEF\\u0DF2-\\u0DF3\\u0DF4\\u0E01-\\u0E30\\u0E32-\\u0E33\\u0E40-\\u0E45' + '\\u0E46\\u0E4F\\u0E50-\\u0E59\\u0E5A-\\u0E5B\\u0E81-\\u0E82\\u0E84\\u0E87-\\u0E88' + '\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7' + '\\u0EAA-\\u0EAB\\u0EAD-\\u0EB0\\u0EB2-\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6' + '\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F01-\\u0F03\\u0F04-\\u0F12\\u0F13\\u0F14' + '\\u0F15-\\u0F17\\u0F1A-\\u0F1F\\u0F20-\\u0F29\\u0F2A-\\u0F33\\u0F34\\u0F36\\u0F38' + '\\u0F3E-\\u0F3F\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F7F\\u0F85\\u0F88-\\u0F8C' + '\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE-\\u0FCF\\u0FD0-\\u0FD4\\u0FD5-\\u0FD8' + '\\u0FD9-\\u0FDA\\u1000-\\u102A\\u102B-\\u102C\\u1031\\u1038\\u103B-\\u103C\\u103F' + '\\u1040-\\u1049\\u104A-\\u104F\\u1050-\\u1055\\u1056-\\u1057\\u105A-\\u105D\\u1061' + '\\u1062-\\u1064\\u1065-\\u1066\\u1067-\\u106D\\u106E-\\u1070\\u1075-\\u1081' + '\\u1083-\\u1084\\u1087-\\u108C\\u108E\\u108F\\u1090-\\u1099\\u109A-\\u109C' + '\\u109E-\\u109F\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FB\\u10FC' + '\\u10FD-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288' + '\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5' + '\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1360-\\u1368' + '\\u1369-\\u137C\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166D-\\u166E' + '\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EB-\\u16ED\\u16EE-\\u16F0' + '\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1735-\\u1736' + '\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17B6\\u17BE-\\u17C5' + '\\u17C7-\\u17C8\\u17D4-\\u17D6\\u17D7\\u17D8-\\u17DA\\u17DC\\u17E0-\\u17E9' + '\\u1810-\\u1819\\u1820-\\u1842\\u1843\\u1844-\\u1877\\u1880-\\u18A8\\u18AA' + '\\u18B0-\\u18F5\\u1900-\\u191E\\u1923-\\u1926\\u1929-\\u192B\\u1930-\\u1931' + '\\u1933-\\u1938\\u1946-\\u194F\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB' + '\\u19B0-\\u19C0\\u19C1-\\u19C7\\u19C8-\\u19C9\\u19D0-\\u19D9\\u19DA\\u1A00-\\u1A16' + '\\u1A19-\\u1A1A\\u1A1E-\\u1A1F\\u1A20-\\u1A54\\u1A55\\u1A57\\u1A61\\u1A63-\\u1A64' + '\\u1A6D-\\u1A72\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA0-\\u1AA6\\u1AA7\\u1AA8-\\u1AAD' + '\\u1B04\\u1B05-\\u1B33\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43-\\u1B44\\u1B45-\\u1B4B' + '\\u1B50-\\u1B59\\u1B5A-\\u1B60\\u1B61-\\u1B6A\\u1B74-\\u1B7C\\u1B82\\u1B83-\\u1BA0' + '\\u1BA1\\u1BA6-\\u1BA7\\u1BAA\\u1BAE-\\u1BAF\\u1BB0-\\u1BB9\\u1BBA-\\u1BE5\\u1BE7' + '\\u1BEA-\\u1BEC\\u1BEE\\u1BF2-\\u1BF3\\u1BFC-\\u1BFF\\u1C00-\\u1C23\\u1C24-\\u1C2B' + '\\u1C34-\\u1C35\\u1C3B-\\u1C3F\\u1C40-\\u1C49\\u1C4D-\\u1C4F\\u1C50-\\u1C59' + '\\u1C5A-\\u1C77\\u1C78-\\u1C7D\\u1C7E-\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u1CE1' + '\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF2-\\u1CF3\\u1CF5-\\u1CF6\\u1D00-\\u1D2B' + '\\u1D2C-\\u1D6A\\u1D6B-\\u1D77\\u1D78\\u1D79-\\u1D9A\\u1D9B-\\u1DBF\\u1E00-\\u1F15' + '\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D' + '\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC' + '\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200E' + '\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D' + '\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2134\\u2135-\\u2138\\u2139' + '\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u214F\\u2160-\\u2182\\u2183-\\u2184' + '\\u2185-\\u2188\\u2336-\\u237A\\u2395\\u249C-\\u24E9\\u26AC\\u2800-\\u28FF' + '\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2C7B\\u2C7C-\\u2C7D\\u2C7E-\\u2CE4' + '\\u2CEB-\\u2CEE\\u2CF2-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F' + '\\u2D70\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE' + '\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005\\u3006\\u3007' + '\\u3021-\\u3029\\u302E-\\u302F\\u3031-\\u3035\\u3038-\\u303A\\u303B\\u303C' + '\\u3041-\\u3096\\u309D-\\u309E\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FE\\u30FF' + '\\u3105-\\u312D\\u3131-\\u318E\\u3190-\\u3191\\u3192-\\u3195\\u3196-\\u319F' + '\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3200-\\u321C\\u3220-\\u3229\\u322A-\\u3247' + '\\u3248-\\u324F\\u3260-\\u327B\\u327F\\u3280-\\u3289\\u328A-\\u32B0\\u32C0-\\u32CB' + '\\u32D0-\\u32FE\\u3300-\\u3376\\u337B-\\u33DD\\u33E0-\\u33FE\\u3400-\\u4DB5' + '\\u4E00-\\u9FCC\\uA000-\\uA014\\uA015\\uA016-\\uA48C\\uA4D0-\\uA4F7\\uA4F8-\\uA4FD' + '\\uA4FE-\\uA4FF\\uA500-\\uA60B\\uA60C\\uA610-\\uA61F\\uA620-\\uA629\\uA62A-\\uA62B' + '\\uA640-\\uA66D\\uA66E\\uA680-\\uA69B\\uA69C-\\uA69D\\uA6A0-\\uA6E5\\uA6E6-\\uA6EF' + '\\uA6F2-\\uA6F7\\uA722-\\uA76F\\uA770\\uA771-\\uA787\\uA789-\\uA78A\\uA78B-\\uA78E' + '\\uA790-\\uA7AD\\uA7B0-\\uA7B1\\uA7F7\\uA7F8-\\uA7F9\\uA7FA\\uA7FB-\\uA801' + '\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA823-\\uA824\\uA827\\uA830-\\uA835' + '\\uA836-\\uA837\\uA840-\\uA873\\uA880-\\uA881\\uA882-\\uA8B3\\uA8B4-\\uA8C3' + '\\uA8CE-\\uA8CF\\uA8D0-\\uA8D9\\uA8F2-\\uA8F7\\uA8F8-\\uA8FA\\uA8FB\\uA900-\\uA909' + '\\uA90A-\\uA925\\uA92E-\\uA92F\\uA930-\\uA946\\uA952-\\uA953\\uA95F\\uA960-\\uA97C' + '\\uA983\\uA984-\\uA9B2\\uA9B4-\\uA9B5\\uA9BA-\\uA9BB\\uA9BD-\\uA9C0\\uA9C1-\\uA9CD' + '\\uA9CF\\uA9D0-\\uA9D9\\uA9DE-\\uA9DF\\uA9E0-\\uA9E4\\uA9E6\\uA9E7-\\uA9EF' + '\\uA9F0-\\uA9F9\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA2F-\\uAA30\\uAA33-\\uAA34' + '\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA4D\\uAA50-\\uAA59\\uAA5C-\\uAA5F\\uAA60-\\uAA6F' + '\\uAA70\\uAA71-\\uAA76\\uAA77-\\uAA79\\uAA7A\\uAA7B\\uAA7D\\uAA7E-\\uAAAF\\uAAB1' + '\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADC\\uAADD\\uAADE-\\uAADF' + '\\uAAE0-\\uAAEA\\uAAEB\\uAAEE-\\uAAEF\\uAAF0-\\uAAF1\\uAAF2\\uAAF3-\\uAAF4\\uAAF5' + '\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E' + '\\uAB30-\\uAB5A\\uAB5B\\uAB5C-\\uAB5F\\uAB64-\\uAB65\\uABC0-\\uABE2\\uABE3-\\uABE4' + '\\uABE6-\\uABE7\\uABE9-\\uABEA\\uABEB\\uABEC\\uABF0-\\uABF9\\uAC00-\\uD7A3' + '\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uE000-\\uF8FF\\uF900-\\uFA6D\\uFA70-\\uFAD9' + '\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFF6F\\uFF70' + '\\uFF71-\\uFF9D\\uFF9E-\\uFF9F\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF' + '\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC',\n\n R: '\\u0590\\u05BE\\u05C0\\u05C3\\u05C6\\u05C8-\\u05CF\\u05D0-\\u05EA\\u05EB-\\u05EF' + '\\u05F0-\\u05F2\\u05F3-\\u05F4\\u05F5-\\u05FF\\u07C0-\\u07C9\\u07CA-\\u07EA' + '\\u07F4-\\u07F5\\u07FA\\u07FB-\\u07FF\\u0800-\\u0815\\u081A\\u0824\\u0828' + '\\u082E-\\u082F\\u0830-\\u083E\\u083F\\u0840-\\u0858\\u085C-\\u085D\\u085E' + '\\u085F-\\u089F\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB37\\uFB38-\\uFB3C' + '\\uFB3D\\uFB3E\\uFB3F\\uFB40-\\uFB41\\uFB42\\uFB43-\\uFB44\\uFB45\\uFB46-\\uFB4F',\n\n AL: '\\u0608\\u060B\\u060D\\u061B\\u061C\\u061D\\u061E-\\u061F\\u0620-\\u063F\\u0640' + '\\u0641-\\u064A\\u066D\\u066E-\\u066F\\u0671-\\u06D3\\u06D4\\u06D5\\u06E5-\\u06E6' + '\\u06EE-\\u06EF\\u06FA-\\u06FC\\u06FD-\\u06FE\\u06FF\\u0700-\\u070D\\u070E\\u070F' + '\\u0710\\u0712-\\u072F\\u074B-\\u074C\\u074D-\\u07A5\\u07B1\\u07B2-\\u07BF' + '\\u08A0-\\u08B2\\u08B3-\\u08E3\\uFB50-\\uFBB1\\uFBB2-\\uFBC1\\uFBC2-\\uFBD2' + '\\uFBD3-\\uFD3D\\uFD40-\\uFD4F\\uFD50-\\uFD8F\\uFD90-\\uFD91\\uFD92-\\uFDC7' + '\\uFDC8-\\uFDCF\\uFDF0-\\uFDFB\\uFDFC\\uFDFE-\\uFDFF\\uFE70-\\uFE74\\uFE75' + '\\uFE76-\\uFEFC\\uFEFD-\\uFEFE'\n\n};\n\nvar REGEX_STRONG = new RegExp('[' + RANGE_BY_BIDI_TYPE.L + RANGE_BY_BIDI_TYPE.R + RANGE_BY_BIDI_TYPE.AL + ']');\n\nvar REGEX_RTL = new RegExp('[' + RANGE_BY_BIDI_TYPE.R + RANGE_BY_BIDI_TYPE.AL + ']');\n\n/**\n * Returns the first strong character (has Bidi_Class value of L, R, or AL).\n *\n * @param str A text block; e.g. paragraph, table cell, tag\n * @return A character with strong bidi direction, or null if not found\n */\nfunction firstStrongChar(str) {\n var match = REGEX_STRONG.exec(str);\n return match == null ? null : match[0];\n}\n\n/**\n * Returns the direction of a block of text, based on the direction of its\n * first strong character (has Bidi_Class value of L, R, or AL).\n *\n * @param str A text block; e.g. paragraph, table cell, tag\n * @return The resolved direction\n */\nfunction firstStrongCharDir(str) {\n var strongChar = firstStrongChar(str);\n if (strongChar == null) {\n return UnicodeBidiDirection.NEUTRAL;\n }\n return REGEX_RTL.exec(strongChar) ? UnicodeBidiDirection.RTL : UnicodeBidiDirection.LTR;\n}\n\n/**\n * Returns the direction of a block of text, based on the direction of its\n * first strong character (has Bidi_Class value of L, R, or AL), or a fallback\n * direction, if no strong character is found.\n *\n * This function is supposed to be used in respect to Higher-Level Protocol\n * rule HL1. (http://www.unicode.org/reports/tr9/#HL1)\n *\n * @param str A text block; e.g. paragraph, table cell, tag\n * @param fallback Fallback direction, used if no strong direction detected\n * for the block (default = NEUTRAL)\n * @return The resolved direction\n */\nfunction resolveBlockDir(str, fallback) {\n fallback = fallback || UnicodeBidiDirection.NEUTRAL;\n if (!str.length) {\n return fallback;\n }\n var blockDir = firstStrongCharDir(str);\n return blockDir === UnicodeBidiDirection.NEUTRAL ? fallback : blockDir;\n}\n\n/**\n * Returns the direction of a block of text, based on the direction of its\n * first strong character (has Bidi_Class value of L, R, or AL), or a fallback\n * direction, if no strong character is found.\n *\n * NOTE: This function is similar to resolveBlockDir(), but uses the global\n * direction as the fallback, so it *always* returns a Strong direction,\n * making it useful for integration in places that you need to make the final\n * decision, like setting some CSS class.\n *\n * This function is supposed to be used in respect to Higher-Level Protocol\n * rule HL1. (http://www.unicode.org/reports/tr9/#HL1)\n *\n * @param str A text block; e.g. paragraph, table cell\n * @param strongFallback Fallback direction, used if no strong direction\n * detected for the block (default = global direction)\n * @return The resolved Strong direction\n */\nfunction getDirection(str, strongFallback) {\n if (!strongFallback) {\n strongFallback = UnicodeBidiDirection.getGlobalDir();\n }\n !UnicodeBidiDirection.isStrong(strongFallback) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Fallback direction must be a strong direction') : invariant(false) : void 0;\n return resolveBlockDir(str, strongFallback);\n}\n\n/**\n * Returns true if getDirection(arguments...) returns LTR.\n *\n * @param str A text block; e.g. paragraph, table cell\n * @param strongFallback Fallback direction, used if no strong direction\n * detected for the block (default = global direction)\n * @return True if the resolved direction is LTR\n */\nfunction isDirectionLTR(str, strongFallback) {\n return getDirection(str, strongFallback) === UnicodeBidiDirection.LTR;\n}\n\n/**\n * Returns true if getDirection(arguments...) returns RTL.\n *\n * @param str A text block; e.g. paragraph, table cell\n * @param strongFallback Fallback direction, used if no strong direction\n * detected for the block (default = global direction)\n * @return True if the resolved direction is RTL\n */\nfunction isDirectionRTL(str, strongFallback) {\n return getDirection(str, strongFallback) === UnicodeBidiDirection.RTL;\n}\n\nvar UnicodeBidi = {\n firstStrongChar: firstStrongChar,\n firstStrongCharDir: firstStrongCharDir,\n resolveBlockDir: resolveBlockDir,\n getDirection: getDirection,\n isDirectionLTR: isDirectionLTR,\n isDirectionRTL: isDirectionRTL\n};\n\nmodule.exports = UnicodeBidi;","/**\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 * @typechecks\n * \n */\n\n/**\n * Constants to represent text directionality\n *\n * Also defines a *global* direciton, to be used in bidi algorithms as a\n * default fallback direciton, when no better direction is found or provided.\n *\n * NOTE: Use `setGlobalDir()`, or update `initGlobalDir()`, to set the initial\n * global direction value based on the application.\n *\n * Part of the implementation of Unicode Bidirectional Algorithm (UBA)\n * Unicode Standard Annex #9 (UAX9)\n * http://www.unicode.org/reports/tr9/\n */\n\n'use strict';\n\nvar invariant = require('./invariant');\n\nvar NEUTRAL = 'NEUTRAL'; // No strong direction\nvar LTR = 'LTR'; // Left-to-Right direction\nvar RTL = 'RTL'; // Right-to-Left direction\n\nvar globalDir = null;\n\n// == Helpers ==\n\n/**\n * Check if a directionality value is a Strong one\n */\nfunction isStrong(dir) {\n return dir === LTR || dir === RTL;\n}\n\n/**\n * Get string value to be used for `dir` HTML attribute or `direction` CSS\n * property.\n */\nfunction getHTMLDir(dir) {\n !isStrong(dir) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`dir` must be a strong direction to be converted to HTML Direction') : invariant(false) : void 0;\n return dir === LTR ? 'ltr' : 'rtl';\n}\n\n/**\n * Get string value to be used for `dir` HTML attribute or `direction` CSS\n * property, but returns null if `dir` has same value as `otherDir`.\n * `null`.\n */\nfunction getHTMLDirIfDifferent(dir, otherDir) {\n !isStrong(dir) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`dir` must be a strong direction to be converted to HTML Direction') : invariant(false) : void 0;\n !isStrong(otherDir) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`otherDir` must be a strong direction to be converted to HTML Direction') : invariant(false) : void 0;\n return dir === otherDir ? null : getHTMLDir(dir);\n}\n\n// == Global Direction ==\n\n/**\n * Set the global direction.\n */\nfunction setGlobalDir(dir) {\n globalDir = dir;\n}\n\n/**\n * Initialize the global direction\n */\nfunction initGlobalDir() {\n setGlobalDir(LTR);\n}\n\n/**\n * Get the global direction\n */\nfunction getGlobalDir() {\n if (!globalDir) {\n this.initGlobalDir();\n }\n !globalDir ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Global direction not set.') : invariant(false) : void 0;\n return globalDir;\n}\n\nvar UnicodeBidiDirection = {\n // Values\n NEUTRAL: NEUTRAL,\n LTR: LTR,\n RTL: RTL,\n // Helpers\n isStrong: isStrong,\n getHTMLDir: getHTMLDir,\n getHTMLDirIfDifferent: getHTMLDirIfDifferent,\n // Global Direction\n setGlobalDir: setGlobalDir,\n initGlobalDir: initGlobalDir,\n getGlobalDir: getGlobalDir\n};\n\nmodule.exports = UnicodeBidiDirection;","/**\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 * @typechecks\n * \n */\n\n/**\n * Stateful API for text direction detection\n *\n * This class can be used in applications where you need to detect the\n * direction of a sequence of text blocks, where each direction shall be used\n * as the fallback direction for the next one.\n *\n * NOTE: A default direction, if not provided, is set based on the global\n * direction, as defined by `UnicodeBidiDirection`.\n *\n * == Example ==\n * ```\n * var UnicodeBidiService = require('UnicodeBidiService');\n *\n * var bidiService = new UnicodeBidiService();\n *\n * ...\n *\n * bidiService.reset();\n * for (var para in paragraphs) {\n * var dir = bidiService.getDirection(para);\n * ...\n * }\n * ```\n *\n * Part of our implementation of Unicode Bidirectional Algorithm (UBA)\n * Unicode Standard Annex #9 (UAX9)\n * http://www.unicode.org/reports/tr9/\n */\n\n'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar UnicodeBidi = require('./UnicodeBidi');\nvar UnicodeBidiDirection = require('./UnicodeBidiDirection');\n\nvar invariant = require('./invariant');\n\nvar UnicodeBidiService = function () {\n\n /**\n * Stateful class for paragraph direction detection\n *\n * @param defaultDir Default direction of the service\n */\n function UnicodeBidiService(defaultDir) {\n _classCallCheck(this, UnicodeBidiService);\n\n if (!defaultDir) {\n defaultDir = UnicodeBidiDirection.getGlobalDir();\n } else {\n !UnicodeBidiDirection.isStrong(defaultDir) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Default direction must be a strong direction (LTR or RTL)') : invariant(false) : void 0;\n }\n this._defaultDir = defaultDir;\n this.reset();\n }\n\n /**\n * Reset the internal state\n *\n * Instead of creating a new instance, you can just reset() your instance\n * everytime you start a new loop.\n */\n\n\n UnicodeBidiService.prototype.reset = function reset() {\n this._lastDir = this._defaultDir;\n };\n\n /**\n * Returns the direction of a block of text, and remembers it as the\n * fall-back direction for the next paragraph.\n *\n * @param str A text block, e.g. paragraph, table cell, tag\n * @return The resolved direction\n */\n\n\n UnicodeBidiService.prototype.getDirection = function getDirection(str) {\n this._lastDir = UnicodeBidi.getDirection(str, this._lastDir);\n return this._lastDir;\n };\n\n return UnicodeBidiService;\n}();\n\nmodule.exports = UnicodeBidiService;","/**\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 * @typechecks\n */\n\n/**\n * Unicode-enabled replacesments for basic String functions.\n *\n * All the functions in this module assume that the input string is a valid\n * UTF-16 encoding of a Unicode sequence. If it's not the case, the behavior\n * will be undefined.\n *\n * WARNING: Since this module is typechecks-enforced, you may find new bugs\n * when replacing normal String functions with ones provided here.\n */\n\n'use strict';\n\nvar invariant = require('./invariant');\n\n// These two ranges are consecutive so anything in [HIGH_START, LOW_END] is a\n// surrogate code unit.\nvar SURROGATE_HIGH_START = 0xD800;\nvar SURROGATE_HIGH_END = 0xDBFF;\nvar SURROGATE_LOW_START = 0xDC00;\nvar SURROGATE_LOW_END = 0xDFFF;\nvar SURROGATE_UNITS_REGEX = /[\\uD800-\\uDFFF]/;\n\n/**\n * @param {number} codeUnit A Unicode code-unit, in range [0, 0x10FFFF]\n * @return {boolean} Whether code-unit is in a surrogate (hi/low) range\n */\nfunction isCodeUnitInSurrogateRange(codeUnit) {\n return SURROGATE_HIGH_START <= codeUnit && codeUnit <= SURROGATE_LOW_END;\n}\n\n/**\n * Returns whether the two characters starting at `index` form a surrogate pair.\n * For example, given the string s = \"\\uD83D\\uDE0A\", (s, 0) returns true and\n * (s, 1) returns false.\n *\n * @param {string} str\n * @param {number} index\n * @return {boolean}\n */\nfunction isSurrogatePair(str, index) {\n !(0 <= index && index < str.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'isSurrogatePair: Invalid index %s for string length %s.', index, str.length) : invariant(false) : void 0;\n if (index + 1 === str.length) {\n return false;\n }\n var first = str.charCodeAt(index);\n var second = str.charCodeAt(index + 1);\n return SURROGATE_HIGH_START <= first && first <= SURROGATE_HIGH_END && SURROGATE_LOW_START <= second && second <= SURROGATE_LOW_END;\n}\n\n/**\n * @param {string} str Non-empty string\n * @return {boolean} True if the input includes any surrogate code units\n */\nfunction hasSurrogateUnit(str) {\n return SURROGATE_UNITS_REGEX.test(str);\n}\n\n/**\n * Return the length of the original Unicode character at given position in the\n * String by looking into the UTF-16 code unit; that is equal to 1 for any\n * non-surrogate characters in BMP ([U+0000..U+D7FF] and [U+E000, U+FFFF]); and\n * returns 2 for the hi/low surrogates ([U+D800..U+DFFF]), which are in fact\n * representing non-BMP characters ([U+10000..U+10FFFF]).\n *\n * Examples:\n * - '\\u0020' => 1\n * - '\\u3020' => 1\n * - '\\uD835' => 2\n * - '\\uD835\\uDDEF' => 2\n * - '\\uDDEF' => 2\n *\n * @param {string} str Non-empty string\n * @param {number} pos Position in the string to look for one code unit\n * @return {number} Number 1 or 2\n */\nfunction getUTF16Length(str, pos) {\n return 1 + isCodeUnitInSurrogateRange(str.charCodeAt(pos));\n}\n\n/**\n * Fully Unicode-enabled replacement for String#length\n *\n * @param {string} str Valid Unicode string\n * @return {number} The number of Unicode characters in the string\n */\nfunction strlen(str) {\n // Call the native functions if there's no surrogate char\n if (!hasSurrogateUnit(str)) {\n return str.length;\n }\n\n var len = 0;\n for (var pos = 0; pos < str.length; pos += getUTF16Length(str, pos)) {\n len++;\n }\n return len;\n}\n\n/**\n * Fully Unicode-enabled replacement for String#substr()\n *\n * @param {string} str Valid Unicode string\n * @param {number} start Location in Unicode sequence to begin extracting\n * @param {?number} length The number of Unicode characters to extract\n * (default: to the end of the string)\n * @return {string} Extracted sub-string\n */\nfunction substr(str, start, length) {\n start = start || 0;\n length = length === undefined ? Infinity : length || 0;\n\n // Call the native functions if there's no surrogate char\n if (!hasSurrogateUnit(str)) {\n return str.substr(start, length);\n }\n\n // Obvious cases\n var size = str.length;\n if (size <= 0 || start > size || length <= 0) {\n return '';\n }\n\n // Find the actual starting position\n var posA = 0;\n if (start > 0) {\n for (; start > 0 && posA < size; start--) {\n posA += getUTF16Length(str, posA);\n }\n if (posA >= size) {\n return '';\n }\n } else if (start < 0) {\n for (posA = size; start < 0 && 0 < posA; start++) {\n posA -= getUTF16Length(str, posA - 1);\n }\n if (posA < 0) {\n posA = 0;\n }\n }\n\n // Find the actual ending position\n var posB = size;\n if (length < size) {\n for (posB = posA; length > 0 && posB < size; length--) {\n posB += getUTF16Length(str, posB);\n }\n }\n\n return str.substring(posA, posB);\n}\n\n/**\n * Fully Unicode-enabled replacement for String#substring()\n *\n * @param {string} str Valid Unicode string\n * @param {number} start Location in Unicode sequence to begin extracting\n * @param {?number} end Location in Unicode sequence to end extracting\n * (default: end of the string)\n * @return {string} Extracted sub-string\n */\nfunction substring(str, start, end) {\n start = start || 0;\n end = end === undefined ? Infinity : end || 0;\n\n if (start < 0) {\n start = 0;\n }\n if (end < 0) {\n end = 0;\n }\n\n var length = Math.abs(end - start);\n start = start < end ? start : end;\n return substr(str, start, length);\n}\n\n/**\n * Get a list of Unicode code-points from a String\n *\n * @param {string} str Valid Unicode string\n * @return {array<number>} A list of code-points in [0..0x10FFFF]\n */\nfunction getCodePoints(str) {\n var codePoints = [];\n for (var pos = 0; pos < str.length; pos += getUTF16Length(str, pos)) {\n codePoints.push(str.codePointAt(pos));\n }\n return codePoints;\n}\n\nvar UnicodeUtils = {\n getCodePoints: getCodePoints,\n getUTF16Length: getUTF16Length,\n hasSurrogateUnit: hasSurrogateUnit,\n isCodeUnitInSurrogateRange: isCodeUnitInSurrogateRange,\n isSurrogatePair: isSurrogatePair,\n strlen: strlen,\n substring: substring,\n substr: substr\n};\n\nmodule.exports = UnicodeUtils;","/**\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'use strict';\n\nvar UserAgentData = require('./UserAgentData');\nvar VersionRange = require('./VersionRange');\n\nvar mapObject = require('./mapObject');\nvar memoizeStringOnly = require('./memoizeStringOnly');\n\n/**\n * Checks to see whether `name` and `version` satisfy `query`.\n *\n * @param {string} name Name of the browser, device, engine or platform\n * @param {?string} version Version of the browser, engine or platform\n * @param {string} query Query of form \"Name [range expression]\"\n * @param {?function} normalizer Optional pre-processor for range expression\n * @return {boolean}\n */\nfunction compare(name, version, query, normalizer) {\n // check for exact match with no version\n if (name === query) {\n return true;\n }\n\n // check for non-matching names\n if (!query.startsWith(name)) {\n return false;\n }\n\n // full comparison with version\n var range = query.slice(name.length);\n if (version) {\n range = normalizer ? normalizer(range) : range;\n return VersionRange.contains(range, version);\n }\n\n return false;\n}\n\n/**\n * Normalizes `version` by stripping any \"NT\" prefix, but only on the Windows\n * platform.\n *\n * Mimics the stripping performed by the `UserAgentWindowsPlatform` PHP class.\n *\n * @param {string} version\n * @return {string}\n */\nfunction normalizePlatformVersion(version) {\n if (UserAgentData.platformName === 'Windows') {\n return version.replace(/^\\s*NT/, '');\n }\n\n return version;\n}\n\n/**\n * Provides client-side access to the authoritative PHP-generated User Agent\n * information supplied by the server.\n */\nvar UserAgent = {\n /**\n * Check if the User Agent browser matches `query`.\n *\n * `query` should be a string like \"Chrome\" or \"Chrome > 33\".\n *\n * Valid browser names include:\n *\n * - ACCESS NetFront\n * - AOL\n * - Amazon Silk\n * - Android\n * - BlackBerry\n * - BlackBerry PlayBook\n * - Chrome\n * - Chrome for iOS\n * - Chrome frame\n * - Facebook PHP SDK\n * - Facebook for iOS\n * - Firefox\n * - IE\n * - IE Mobile\n * - Mobile Safari\n * - Motorola Internet Browser\n * - Nokia\n * - Openwave Mobile Browser\n * - Opera\n * - Opera Mini\n * - Opera Mobile\n * - Safari\n * - UIWebView\n * - Unknown\n * - webOS\n * - etc...\n *\n * An authoritative list can be found in the PHP `BrowserDetector` class and\n * related classes in the same file (see calls to `new UserAgentBrowser` here:\n * https://fburl.com/50728104).\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"Name [range expression]\"\n * @return {boolean}\n */\n isBrowser: function isBrowser(query) {\n return compare(UserAgentData.browserName, UserAgentData.browserFullVersion, query);\n },\n\n\n /**\n * Check if the User Agent browser uses a 32 or 64 bit architecture.\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"32\" or \"64\".\n * @return {boolean}\n */\n isBrowserArchitecture: function isBrowserArchitecture(query) {\n return compare(UserAgentData.browserArchitecture, null, query);\n },\n\n\n /**\n * Check if the User Agent device matches `query`.\n *\n * `query` should be a string like \"iPhone\" or \"iPad\".\n *\n * Valid device names include:\n *\n * - Kindle\n * - Kindle Fire\n * - Unknown\n * - iPad\n * - iPhone\n * - iPod\n * - etc...\n *\n * An authoritative list can be found in the PHP `DeviceDetector` class and\n * related classes in the same file (see calls to `new UserAgentDevice` here:\n * https://fburl.com/50728332).\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"Name\"\n * @return {boolean}\n */\n isDevice: function isDevice(query) {\n return compare(UserAgentData.deviceName, null, query);\n },\n\n\n /**\n * Check if the User Agent rendering engine matches `query`.\n *\n * `query` should be a string like \"WebKit\" or \"WebKit >= 537\".\n *\n * Valid engine names include:\n *\n * - Gecko\n * - Presto\n * - Trident\n * - WebKit\n * - etc...\n *\n * An authoritative list can be found in the PHP `RenderingEngineDetector`\n * class related classes in the same file (see calls to `new\n * UserAgentRenderingEngine` here: https://fburl.com/50728617).\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"Name [range expression]\"\n * @return {boolean}\n */\n isEngine: function isEngine(query) {\n return compare(UserAgentData.engineName, UserAgentData.engineVersion, query);\n },\n\n\n /**\n * Check if the User Agent platform matches `query`.\n *\n * `query` should be a string like \"Windows\" or \"iOS 5 - 6\".\n *\n * Valid platform names include:\n *\n * - Android\n * - BlackBerry OS\n * - Java ME\n * - Linux\n * - Mac OS X\n * - Mac OS X Calendar\n * - Mac OS X Internet Account\n * - Symbian\n * - SymbianOS\n * - Windows\n * - Windows Mobile\n * - Windows Phone\n * - iOS\n * - iOS Facebook Integration Account\n * - iOS Facebook Social Sharing UI\n * - webOS\n * - Chrome OS\n * - etc...\n *\n * An authoritative list can be found in the PHP `PlatformDetector` class and\n * related classes in the same file (see calls to `new UserAgentPlatform`\n * here: https://fburl.com/50729226).\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"Name [range expression]\"\n * @return {boolean}\n */\n isPlatform: function isPlatform(query) {\n return compare(UserAgentData.platformName, UserAgentData.platformFullVersion, query, normalizePlatformVersion);\n },\n\n\n /**\n * Check if the User Agent platform is a 32 or 64 bit architecture.\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"32\" or \"64\".\n * @return {boolean}\n */\n isPlatformArchitecture: function isPlatformArchitecture(query) {\n return compare(UserAgentData.platformArchitecture, null, query);\n }\n};\n\nmodule.exports = mapObject(UserAgent, memoizeStringOnly);","/**\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 * Usage note:\n * This module makes a best effort to export the same data we would internally.\n * At Facebook we use a server-generated module that does the parsing and\n * exports the data for the client to use. We can't rely on a server-side\n * implementation in open source so instead we make use of an open source\n * library to do the heavy lifting and then make some adjustments as necessary.\n * It's likely there will be some differences. Some we can smooth over.\n * Others are going to be harder.\n */\n\n'use strict';\n\nvar UAParser = require('ua-parser-js');\n\nvar UNKNOWN = 'Unknown';\n\nvar PLATFORM_MAP = {\n 'Mac OS': 'Mac OS X'\n};\n\n/**\n * Convert from UAParser platform name to what we expect.\n */\nfunction convertPlatformName(name) {\n return PLATFORM_MAP[name] || name;\n}\n\n/**\n * Get the version number in parts. This is very naive. We actually get major\n * version as a part of UAParser already, which is generally good enough, but\n * let's get the minor just in case.\n */\nfunction getBrowserVersion(version) {\n if (!version) {\n return {\n major: '',\n minor: ''\n };\n }\n var parts = version.split('.');\n return {\n major: parts[0],\n minor: parts[1]\n };\n}\n\n/**\n * Get the UA data fom UAParser and then convert it to the format we're\n * expecting for our APIS.\n */\nvar parser = new UAParser();\nvar results = parser.getResult();\n\n// Do some conversion first.\nvar browserVersionData = getBrowserVersion(results.browser.version);\nvar uaData = {\n browserArchitecture: results.cpu.architecture || UNKNOWN,\n browserFullVersion: results.browser.version || UNKNOWN,\n browserMinorVersion: browserVersionData.minor || UNKNOWN,\n browserName: results.browser.name || UNKNOWN,\n browserVersion: results.browser.major || UNKNOWN,\n deviceName: results.device.model || UNKNOWN,\n engineName: results.engine.name || UNKNOWN,\n engineVersion: results.engine.version || UNKNOWN,\n platformArchitecture: results.cpu.architecture || UNKNOWN,\n platformName: convertPlatformName(results.os.name) || UNKNOWN,\n platformVersion: results.os.version || UNKNOWN,\n platformFullVersion: results.os.version || UNKNOWN\n};\n\nmodule.exports = uaData;","/**\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'use strict';\n\nvar invariant = require('./invariant');\n\nvar componentRegex = /\\./;\nvar orRegex = /\\|\\|/;\nvar rangeRegex = /\\s+\\-\\s+/;\nvar modifierRegex = /^(<=|<|=|>=|~>|~|>|)?\\s*(.+)/;\nvar numericRegex = /^(\\d*)(.*)/;\n\n/**\n * Splits input `range` on \"||\" and returns true if any subrange matches\n * `version`.\n *\n * @param {string} range\n * @param {string} version\n * @returns {boolean}\n */\nfunction checkOrExpression(range, version) {\n var expressions = range.split(orRegex);\n\n if (expressions.length > 1) {\n return expressions.some(function (range) {\n return VersionRange.contains(range, version);\n });\n } else {\n range = expressions[0].trim();\n return checkRangeExpression(range, version);\n }\n}\n\n/**\n * Splits input `range` on \" - \" (the surrounding whitespace is required) and\n * returns true if version falls between the two operands.\n *\n * @param {string} range\n * @param {string} version\n * @returns {boolean}\n */\nfunction checkRangeExpression(range, version) {\n var expressions = range.split(rangeRegex);\n\n !(expressions.length > 0 && expressions.length <= 2) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'the \"-\" operator expects exactly 2 operands') : invariant(false) : void 0;\n\n if (expressions.length === 1) {\n return checkSimpleExpression(expressions[0], version);\n } else {\n var startVersion = expressions[0],\n endVersion = expressions[1];\n\n !(isSimpleVersion(startVersion) && isSimpleVersion(endVersion)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'operands to the \"-\" operator must be simple (no modifiers)') : invariant(false) : void 0;\n\n return checkSimpleExpression('>=' + startVersion, version) && checkSimpleExpression('<=' + endVersion, version);\n }\n}\n\n/**\n * Checks if `range` matches `version`. `range` should be a \"simple\" range (ie.\n * not a compound range using the \" - \" or \"||\" operators).\n *\n * @param {string} range\n * @param {string} version\n * @returns {boolean}\n */\nfunction checkSimpleExpression(range, version) {\n range = range.trim();\n if (range === '') {\n return true;\n }\n\n var versionComponents = version.split(componentRegex);\n\n var _getModifierAndCompon = getModifierAndComponents(range),\n modifier = _getModifierAndCompon.modifier,\n rangeComponents = _getModifierAndCompon.rangeComponents;\n\n switch (modifier) {\n case '<':\n return checkLessThan(versionComponents, rangeComponents);\n case '<=':\n return checkLessThanOrEqual(versionComponents, rangeComponents);\n case '>=':\n return checkGreaterThanOrEqual(versionComponents, rangeComponents);\n case '>':\n return checkGreaterThan(versionComponents, rangeComponents);\n case '~':\n case '~>':\n return checkApproximateVersion(versionComponents, rangeComponents);\n default:\n return checkEqual(versionComponents, rangeComponents);\n }\n}\n\n/**\n * Checks whether `a` is less than `b`.\n *\n * @param {array<string>} a\n * @param {array<string>} b\n * @returns {boolean}\n */\nfunction checkLessThan(a, b) {\n return compareComponents(a, b) === -1;\n}\n\n/**\n * Checks whether `a` is less than or equal to `b`.\n *\n * @param {array<string>} a\n * @param {array<string>} b\n * @returns {boolean}\n */\nfunction checkLessThanOrEqual(a, b) {\n var result = compareComponents(a, b);\n return result === -1 || result === 0;\n}\n\n/**\n * Checks whether `a` is equal to `b`.\n *\n * @param {array<string>} a\n * @param {array<string>} b\n * @returns {boolean}\n */\nfunction checkEqual(a, b) {\n return compareComponents(a, b) === 0;\n}\n\n/**\n * Checks whether `a` is greater than or equal to `b`.\n *\n * @param {array<string>} a\n * @param {array<string>} b\n * @returns {boolean}\n */\nfunction checkGreaterThanOrEqual(a, b) {\n var result = compareComponents(a, b);\n return result === 1 || result === 0;\n}\n\n/**\n * Checks whether `a` is greater than `b`.\n *\n * @param {array<string>} a\n * @param {array<string>} b\n * @returns {boolean}\n */\nfunction checkGreaterThan(a, b) {\n return compareComponents(a, b) === 1;\n}\n\n/**\n * Checks whether `a` is \"reasonably close\" to `b` (as described in\n * https://www.npmjs.org/doc/misc/semver.html). For example, if `b` is \"1.3.1\"\n * then \"reasonably close\" is defined as \">= 1.3.1 and < 1.4\".\n *\n * @param {array<string>} a\n * @param {array<string>} b\n * @returns {boolean}\n */\nfunction checkApproximateVersion(a, b) {\n var lowerBound = b.slice();\n var upperBound = b.slice();\n\n if (upperBound.length > 1) {\n upperBound.pop();\n }\n var lastIndex = upperBound.length - 1;\n var numeric = parseInt(upperBound[lastIndex], 10);\n if (isNumber(numeric)) {\n upperBound[lastIndex] = numeric + 1 + '';\n }\n\n return checkGreaterThanOrEqual(a, lowerBound) && checkLessThan(a, upperBound);\n}\n\n/**\n * Extracts the optional modifier (<, <=, =, >=, >, ~, ~>) and version\n * components from `range`.\n *\n * For example, given `range` \">= 1.2.3\" returns an object with a `modifier` of\n * `\">=\"` and `components` of `[1, 2, 3]`.\n *\n * @param {string} range\n * @returns {object}\n */\nfunction getModifierAndComponents(range) {\n var rangeComponents = range.split(componentRegex);\n var matches = rangeComponents[0].match(modifierRegex);\n !matches ? process.env.NODE_ENV !== 'production' ? invariant(false, 'expected regex to match but it did not') : invariant(false) : void 0;\n\n return {\n modifier: matches[1],\n rangeComponents: [matches[2]].concat(rangeComponents.slice(1))\n };\n}\n\n/**\n * Determines if `number` is a number.\n *\n * @param {mixed} number\n * @returns {boolean}\n */\nfunction isNumber(number) {\n return !isNaN(number) && isFinite(number);\n}\n\n/**\n * Tests whether `range` is a \"simple\" version number without any modifiers\n * (\">\", \"~\" etc).\n *\n * @param {string} range\n * @returns {boolean}\n */\nfunction isSimpleVersion(range) {\n return !getModifierAndComponents(range).modifier;\n}\n\n/**\n * Zero-pads array `array` until it is at least `length` long.\n *\n * @param {array} array\n * @param {number} length\n */\nfunction zeroPad(array, length) {\n for (var i = array.length; i < length; i++) {\n array[i] = '0';\n }\n}\n\n/**\n * Normalizes `a` and `b` in preparation for comparison by doing the following:\n *\n * - zero-pads `a` and `b`\n * - marks any \"x\", \"X\" or \"*\" component in `b` as equivalent by zero-ing it out\n * in both `a` and `b`\n * - marks any final \"*\" component in `b` as a greedy wildcard by zero-ing it\n * and all of its successors in `a`\n *\n * @param {array<string>} a\n * @param {array<string>} b\n * @returns {array<array<string>>}\n */\nfunction normalizeVersions(a, b) {\n a = a.slice();\n b = b.slice();\n\n zeroPad(a, b.length);\n\n // mark \"x\" and \"*\" components as equal\n for (var i = 0; i < b.length; i++) {\n var matches = b[i].match(/^[x*]$/i);\n if (matches) {\n b[i] = a[i] = '0';\n\n // final \"*\" greedily zeros all remaining components\n if (matches[0] === '*' && i === b.length - 1) {\n for (var j = i; j < a.length; j++) {\n a[j] = '0';\n }\n }\n }\n }\n\n zeroPad(b, a.length);\n\n return [a, b];\n}\n\n/**\n * Returns the numerical -- not the lexicographical -- ordering of `a` and `b`.\n *\n * For example, `10-alpha` is greater than `2-beta`.\n *\n * @param {string} a\n * @param {string} b\n * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to,\n * or greater than `b`, respectively\n */\nfunction compareNumeric(a, b) {\n var aPrefix = a.match(numericRegex)[1];\n var bPrefix = b.match(numericRegex)[1];\n var aNumeric = parseInt(aPrefix, 10);\n var bNumeric = parseInt(bPrefix, 10);\n\n if (isNumber(aNumeric) && isNumber(bNumeric) && aNumeric !== bNumeric) {\n return compare(aNumeric, bNumeric);\n } else {\n return compare(a, b);\n }\n}\n\n/**\n * Returns the ordering of `a` and `b`.\n *\n * @param {string|number} a\n * @param {string|number} b\n * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to,\n * or greater than `b`, respectively\n */\nfunction compare(a, b) {\n !(typeof a === typeof b) ? process.env.NODE_ENV !== 'production' ? invariant(false, '\"a\" and \"b\" must be of the same type') : invariant(false) : void 0;\n\n if (a > b) {\n return 1;\n } else if (a < b) {\n return -1;\n } else {\n return 0;\n }\n}\n\n/**\n * Compares arrays of version components.\n *\n * @param {array<string>} a\n * @param {array<string>} b\n * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to,\n * or greater than `b`, respectively\n */\nfunction compareComponents(a, b) {\n var _normalizeVersions = normalizeVersions(a, b),\n aNormalized = _normalizeVersions[0],\n bNormalized = _normalizeVersions[1];\n\n for (var i = 0; i < bNormalized.length; i++) {\n var result = compareNumeric(aNormalized[i], bNormalized[i]);\n if (result) {\n return result;\n }\n }\n\n return 0;\n}\n\nvar VersionRange = {\n /**\n * Checks whether `version` satisfies the `range` specification.\n *\n * We support a subset of the expressions defined in\n * https://www.npmjs.org/doc/misc/semver.html:\n *\n * version Must match version exactly\n * =version Same as just version\n * >version Must be greater than version\n * >=version Must be greater than or equal to version\n * <version Must be less than version\n * <=version Must be less than or equal to version\n * ~version Must be at least version, but less than the next significant\n * revision above version:\n * \"~1.2.3\" is equivalent to \">= 1.2.3 and < 1.3\"\n * ~>version Equivalent to ~version\n * 1.2.x Must match \"1.2.x\", where \"x\" is a wildcard that matches\n * anything\n * 1.2.* Similar to \"1.2.x\", but \"*\" in the trailing position is a\n * \"greedy\" wildcard, so will match any number of additional\n * components:\n * \"1.2.*\" will match \"1.2.1\", \"1.2.1.1\", \"1.2.1.1.1\" etc\n * * Any version\n * \"\" (Empty string) Same as *\n * v1 - v2 Equivalent to \">= v1 and <= v2\"\n * r1 || r2 Passes if either r1 or r2 are satisfied\n *\n * @param {string} range\n * @param {string} version\n * @returns {boolean}\n */\n contains: function contains(range, version) {\n return checkOrExpression(range.trim(), version.trim());\n }\n};\n\nmodule.exports = VersionRange;","\"use strict\";\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 * @typechecks\n */\n\nvar _hyphenPattern = /-(.)/g;\n\n/**\n * Camelcases a hyphenated string, for example:\n *\n * > camelize('background-color')\n * < \"backgroundColor\"\n *\n * @param {string} string\n * @return {string}\n */\nfunction camelize(string) {\n return string.replace(_hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n}\n\nmodule.exports = camelize;","'use strict';\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\nvar isTextNode = require('./isTextNode');\n\n/*eslint-disable no-bitwise */\n\n/**\n * Checks if a given DOM node contains or is another DOM node.\n */\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nmodule.exports = containsNode;","'use strict';\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 * @typechecks\n */\n\nvar invariant = require('./invariant');\n\n/**\n * Convert array-like objects to arrays.\n *\n * This API assumes the caller knows the contents of the data type. For less\n * well defined inputs use createArrayFromMixed.\n *\n * @param {object|function|filelist} obj\n * @return {array}\n */\nfunction toArray(obj) {\n var length = obj.length;\n\n // Some browsers builtin objects can report typeof 'function' (e.g. NodeList\n // in old versions of Safari).\n !(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Array-like object expected') : invariant(false) : void 0;\n\n !(typeof length === 'number') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object needs a length property') : invariant(false) : void 0;\n\n !(length === 0 || length - 1 in obj) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object should have keys for indices') : invariant(false) : void 0;\n\n !(typeof obj.callee !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object can\\'t be `arguments`. Use rest params ' + '(function(...args) {}) or Array.from() instead.') : invariant(false) : void 0;\n\n // Old IE doesn't give collections access to hasOwnProperty. Assume inputs\n // without method will throw during the slice call and skip straight to the\n // fallback.\n if (obj.hasOwnProperty) {\n try {\n return Array.prototype.slice.call(obj);\n } catch (e) {\n // IE < 9 does not support Array#slice on collections objects\n }\n }\n\n // Fall back to copying key by key. This assumes all keys have a value,\n // so will not preserve sparsely populated inputs.\n var ret = Array(length);\n for (var ii = 0; ii < length; ii++) {\n ret[ii] = obj[ii];\n }\n return ret;\n}\n\n/**\n * Perform a heuristic test to determine if an object is \"array-like\".\n *\n * A monk asked Joshu, a Zen master, \"Has a dog Buddha nature?\"\n * Joshu replied: \"Mu.\"\n *\n * This function determines if its argument has \"array nature\": it returns\n * true if the argument is an actual array, an `arguments' object, or an\n * HTMLCollection (e.g. node.childNodes or node.getElementsByTagName()).\n *\n * It will return false for other array-like objects like Filelist.\n *\n * @param {*} obj\n * @return {boolean}\n */\nfunction hasArrayNature(obj) {\n return (\n // not null/false\n !!obj && (\n // arrays are objects, NodeLists are functions in Safari\n typeof obj == 'object' || typeof obj == 'function') &&\n // quacks like an array\n 'length' in obj &&\n // not window\n !('setInterval' in obj) &&\n // no DOM node should be considered an array-like\n // a 'select' element has 'length' and 'item' properties on IE8\n typeof obj.nodeType != 'number' && (\n // a real array\n Array.isArray(obj) ||\n // arguments\n 'callee' in obj ||\n // HTMLCollection/NodeList\n 'item' in obj)\n );\n}\n\n/**\n * Ensure that the argument is an array by wrapping it in an array if it is not.\n * Creates a copy of the argument if it is already an array.\n *\n * This is mostly useful idiomatically:\n *\n * var createArrayFromMixed = require('createArrayFromMixed');\n *\n * function takesOneOrMoreThings(things) {\n * things = createArrayFromMixed(things);\n * ...\n * }\n *\n * This allows you to treat `things' as an array, but accept scalars in the API.\n *\n * If you need to convert an array-like object, like `arguments`, into an array\n * use toArray instead.\n *\n * @param {*} obj\n * @return {array}\n */\nfunction createArrayFromMixed(obj) {\n if (!hasArrayNature(obj)) {\n return [obj];\n } else if (Array.isArray(obj)) {\n return obj.slice();\n } else {\n return toArray(obj);\n }\n}\n\nmodule.exports = createArrayFromMixed;","'use strict';\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/**\n * This function is used to mark string literals representing CSS class names\n * so that they can be transformed statically. This allows for modularization\n * and minification of CSS class names.\n *\n * In static_upstream, this function is actually implemented, but it should\n * eventually be replaced with something more descriptive, and the transform\n * that is used in the main stack should be ported for use elsewhere.\n *\n * @param string|object className to modularize, or an object of key/values.\n * In the object case, the values are conditions that\n * determine if the className keys should be included.\n * @param [string ...] Variable list of classNames in the string case.\n * @return string Renderable space-separated CSS className.\n */\nfunction cx(classNames) {\n if (typeof classNames == 'object') {\n return Object.keys(classNames).filter(function (className) {\n return classNames[className];\n }).map(replace).join(' ');\n }\n return Array.prototype.map.call(arguments, replace).join(' ');\n}\n\nfunction replace(str) {\n return str.replace(/\\//g, '-');\n}\n\nmodule.exports = cx;","\"use strict\";\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 * 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'use strict';\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;","'use strict';\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 * @typechecks\n */\n\n/* eslint-disable fb-www/typeof-undefined */\n\n/**\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\n * not safe to call document.activeElement if there is nothing focused.\n *\n * The activeElement will be null only if the document or document body is not\n * yet defined.\n *\n * @param {?DOMDocument} doc Defaults to current document.\n * @return {?DOMElement}\n */\nfunction getActiveElement(doc) /*?DOMElement*/{\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n if (typeof doc === 'undefined') {\n return null;\n }\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\nmodule.exports = getActiveElement;","/**\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 * @typechecks\n */\n\n'use strict';\n\nvar isWebkit = typeof navigator !== 'undefined' && navigator.userAgent.indexOf('AppleWebKit') > -1;\n\n/**\n * Gets the element with the document scroll properties such as `scrollLeft` and\n * `scrollHeight`. This may differ across different browsers.\n *\n * NOTE: The return value can be null if the DOM is not yet ready.\n *\n * @param {?DOMDocument} doc Defaults to current document.\n * @return {?DOMElement}\n */\nfunction getDocumentScrollElement(doc) {\n doc = doc || document;\n if (doc.scrollingElement) {\n return doc.scrollingElement;\n }\n return !isWebkit && doc.compatMode === 'CSS1Compat' ? doc.documentElement : doc.body;\n}\n\nmodule.exports = getDocumentScrollElement;","'use strict';\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 * @typechecks\n */\n\nvar getElementRect = require('./getElementRect');\n\n/**\n * Gets an element's position in pixels relative to the viewport. The returned\n * object represents the position of the element's top left corner.\n *\n * @param {DOMElement} element\n * @return {object}\n */\nfunction getElementPosition(element) {\n var rect = getElementRect(element);\n return {\n x: rect.left,\n y: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n}\n\nmodule.exports = getElementPosition;","'use strict';\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 * @typechecks\n */\n\nvar containsNode = require('./containsNode');\n\n/**\n * Gets an element's bounding rect in pixels relative to the viewport.\n *\n * @param {DOMElement} elem\n * @return {object}\n */\nfunction getElementRect(elem) {\n var docElem = elem.ownerDocument.documentElement;\n\n // FF 2, Safari 3 and Opera 9.5- do not support getBoundingClientRect().\n // IE9- will throw if the element is not in the document.\n if (!('getBoundingClientRect' in elem) || !containsNode(docElem, elem)) {\n return {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n }\n\n // Subtracts clientTop/Left because IE8- added a 2px border to the\n // <html> element (see http://fburl.com/1493213). IE 7 in\n // Quicksmode does not report clientLeft/clientTop so there\n // will be an unaccounted offset of 2px when in quirksmode\n var rect = elem.getBoundingClientRect();\n\n return {\n left: Math.round(rect.left) - docElem.clientLeft,\n right: Math.round(rect.right) - docElem.clientLeft,\n top: Math.round(rect.top) - docElem.clientTop,\n bottom: Math.round(rect.bottom) - docElem.clientTop\n };\n}\n\nmodule.exports = getElementRect;","/**\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 * @typechecks\n */\n\n'use strict';\n\nvar getDocumentScrollElement = require('./getDocumentScrollElement');\nvar getUnboundedScrollPosition = require('./getUnboundedScrollPosition');\n\n/**\n * Gets the scroll position of the supplied element or window.\n *\n * The return values are bounded. This means that if the scroll position is\n * negative or exceeds the element boundaries (which is possible using inertial\n * scrolling), you will get zero or the maximum scroll position, respectively.\n *\n * If you need the unbound scroll position, use `getUnboundedScrollPosition`.\n *\n * @param {DOMWindow|DOMElement} scrollable\n * @return {object} Map with `x` and `y` keys.\n */\nfunction getScrollPosition(scrollable) {\n var documentScrollElement = getDocumentScrollElement(scrollable.ownerDocument || scrollable.document);\n if (scrollable.Window && scrollable instanceof scrollable.Window) {\n scrollable = documentScrollElement;\n }\n var scrollPosition = getUnboundedScrollPosition(scrollable);\n\n var viewport = scrollable === documentScrollElement ? scrollable.ownerDocument.documentElement : scrollable;\n\n var xMax = scrollable.scrollWidth - viewport.clientWidth;\n var yMax = scrollable.scrollHeight - viewport.clientHeight;\n\n scrollPosition.x = Math.max(0, Math.min(scrollPosition.x, xMax));\n scrollPosition.y = Math.max(0, Math.min(scrollPosition.y, yMax));\n\n return scrollPosition;\n}\n\nmodule.exports = getScrollPosition;","'use strict';\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 * @typechecks\n */\n\nvar camelize = require('./camelize');\nvar hyphenate = require('./hyphenate');\n\nfunction asString(value) /*?string*/{\n return value == null ? value : String(value);\n}\n\nfunction getStyleProperty( /*DOMNode*/node, /*string*/name) /*?string*/{\n var computedStyle = void 0;\n\n // W3C Standard\n if (window.getComputedStyle) {\n // In certain cases such as within an iframe in FF3, this returns null.\n computedStyle = window.getComputedStyle(node, null);\n if (computedStyle) {\n return asString(computedStyle.getPropertyValue(hyphenate(name)));\n }\n }\n // Safari\n if (document.defaultView && document.defaultView.getComputedStyle) {\n computedStyle = document.defaultView.getComputedStyle(node, null);\n // A Safari bug causes this to return null for `display: none` elements.\n if (computedStyle) {\n return asString(computedStyle.getPropertyValue(hyphenate(name)));\n }\n if (name === 'display') {\n return 'none';\n }\n }\n // Internet Explorer\n if (node.currentStyle) {\n if (name === 'float') {\n return asString(node.currentStyle.cssFloat || node.currentStyle.styleFloat);\n }\n return asString(node.currentStyle[camelize(name)]);\n }\n return asString(node.style && node.style[camelize(name)]);\n}\n\nmodule.exports = getStyleProperty;","/**\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 * @typechecks\n */\n\n'use strict';\n\n/**\n * Gets the scroll position of the supplied element or window.\n *\n * The return values are unbounded, unlike `getScrollPosition`. This means they\n * may be negative or exceed the element boundaries (which is possible using\n * inertial scrolling).\n *\n * @param {DOMWindow|DOMElement} scrollable\n * @return {object} Map with `x` and `y` keys.\n */\n\nfunction getUnboundedScrollPosition(scrollable) {\n if (scrollable.Window && scrollable instanceof scrollable.Window) {\n return {\n x: scrollable.pageXOffset || scrollable.document.documentElement.scrollLeft,\n y: scrollable.pageYOffset || scrollable.document.documentElement.scrollTop\n };\n }\n return {\n x: scrollable.scrollLeft,\n y: scrollable.scrollTop\n };\n}\n\nmodule.exports = getUnboundedScrollPosition;","\"use strict\";\n\nfunction getViewportWidth() {\n var width = void 0;\n if (document.documentElement) {\n width = document.documentElement.clientWidth;\n }\n\n if (!width && document.body) {\n width = document.body.clientWidth;\n }\n\n return width || 0;\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 * @typechecks\n */\n\nfunction getViewportHeight() {\n var height = void 0;\n if (document.documentElement) {\n height = document.documentElement.clientHeight;\n }\n\n if (!height && document.body) {\n height = document.body.clientHeight;\n }\n\n return height || 0;\n}\n\n/**\n * Gets the viewport dimensions including any scrollbars.\n */\nfunction getViewportDimensions() {\n return {\n width: window.innerWidth || getViewportWidth(),\n height: window.innerHeight || getViewportHeight()\n };\n}\n\n/**\n * Gets the viewport dimensions excluding any scrollbars.\n */\ngetViewportDimensions.withoutScrollbars = function () {\n return {\n width: getViewportWidth(),\n height: getViewportHeight()\n };\n};\n\nmodule.exports = getViewportDimensions;","'use strict';\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 * @typechecks\n */\n\nvar _uppercasePattern = /([A-Z])/g;\n\n/**\n * Hyphenates a camelcased string, for example:\n *\n * > hyphenate('backgroundColor')\n * < \"background-color\"\n *\n * For CSS style names, use `hyphenateStyleName` instead which works properly\n * with all vendor prefixes, including `ms`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenate(string) {\n return string.replace(_uppercasePattern, '-$1').toLowerCase();\n}\n\nmodule.exports = hyphenate;","/**\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'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 validateFormat = function validateFormat(format) {};\n\nif (process.env.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;","'use strict';\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 * @typechecks\n */\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM node.\n */\nfunction isNode(object) {\n var doc = object ? object.ownerDocument || object : document;\n var defaultView = doc.defaultView || window;\n return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));\n}\n\nmodule.exports = isNode;","'use strict';\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 * @typechecks\n */\n\nvar isNode = require('./isNode');\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM text node.\n */\nfunction isTextNode(object) {\n return isNode(object) && object.nodeType == 3;\n}\n\nmodule.exports = isTextNode;","/**\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 * @typechecks static-only\n */\n\n'use strict';\n\n/**\n * Combines multiple className strings into one.\n * http://jsperf.com/joinclasses-args-vs-array\n *\n * @param {...?string} className\n * @return {string}\n */\n\nfunction joinClasses(className /*, ... */) {\n if (!className) {\n className = '';\n }\n var nextClass = void 0;\n var argLength = arguments.length;\n if (argLength > 1) {\n for (var ii = 1; ii < argLength; ii++) {\n nextClass = arguments[ii];\n if (nextClass) {\n className = (className ? className + ' ' : '') + nextClass;\n }\n }\n }\n return className;\n}\n\nmodule.exports = joinClasses;","/**\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'use strict';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * Executes the provided `callback` once for each enumerable own property in the\n * object and constructs a new object from the results. The `callback` is\n * invoked with three arguments:\n *\n * - the property value\n * - the property name\n * - the object being traversed\n *\n * Properties that are added after the call to `mapObject` will not be visited\n * by `callback`. If the values of existing properties are changed, the value\n * passed to `callback` will be the value at the time `mapObject` visits them.\n * Properties that are deleted before being visited are not visited.\n *\n * @grep function objectMap()\n * @grep function objMap()\n *\n * @param {?object} object\n * @param {function} callback\n * @param {*} context\n * @return {?object}\n */\nfunction mapObject(object, callback, context) {\n if (!object) {\n return null;\n }\n var result = {};\n for (var name in object) {\n if (hasOwnProperty.call(object, name)) {\n result[name] = callback.call(context, object[name], name, object);\n }\n }\n return result;\n}\n\nmodule.exports = mapObject;","/**\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 * @typechecks static-only\n */\n\n'use strict';\n\n/**\n * Memoizes the return value of a function that accepts one string argument.\n */\n\nfunction memoizeStringOnly(callback) {\n var cache = {};\n return function (string) {\n if (!cache.hasOwnProperty(string)) {\n cache[string] = callback.call(this, string);\n }\n return cache[string];\n };\n}\n\nmodule.exports = memoizeStringOnly;","\"use strict\";\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\nvar nullthrows = function nullthrows(x) {\n if (x != null) {\n return x;\n }\n throw new Error(\"Got unexpected null or undefined\");\n};\n\nmodule.exports = nullthrows;","/**\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'use strict';\n\n// setimmediate adds setImmediate to the global. We want to make sure we export\n// the actual function.\n\nrequire('setimmediate');\nmodule.exports = global.setImmediate;","/**\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'use strict';\n\nvar emptyFunction = require('./emptyFunction');\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 (process.env.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;","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try { // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/**\n * Copyright (c) 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(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.Immutable = factory();\n}(this, function () { 'use strict';var SLICE$0 = Array.prototype.slice;\n\n function createClass(ctor, superClass) {\n if (superClass) {\n ctor.prototype = Object.create(superClass.prototype);\n }\n ctor.prototype.constructor = ctor;\n }\n\n function Iterable(value) {\n return isIterable(value) ? value : Seq(value);\n }\n\n\n createClass(KeyedIterable, Iterable);\n function KeyedIterable(value) {\n return isKeyed(value) ? value : KeyedSeq(value);\n }\n\n\n createClass(IndexedIterable, Iterable);\n function IndexedIterable(value) {\n return isIndexed(value) ? value : IndexedSeq(value);\n }\n\n\n createClass(SetIterable, Iterable);\n function SetIterable(value) {\n return isIterable(value) && !isAssociative(value) ? value : SetSeq(value);\n }\n\n\n\n function isIterable(maybeIterable) {\n return !!(maybeIterable && maybeIterable[IS_ITERABLE_SENTINEL]);\n }\n\n function isKeyed(maybeKeyed) {\n return !!(maybeKeyed && maybeKeyed[IS_KEYED_SENTINEL]);\n }\n\n function isIndexed(maybeIndexed) {\n return !!(maybeIndexed && maybeIndexed[IS_INDEXED_SENTINEL]);\n }\n\n function isAssociative(maybeAssociative) {\n return isKeyed(maybeAssociative) || isIndexed(maybeAssociative);\n }\n\n function isOrdered(maybeOrdered) {\n return !!(maybeOrdered && maybeOrdered[IS_ORDERED_SENTINEL]);\n }\n\n Iterable.isIterable = isIterable;\n Iterable.isKeyed = isKeyed;\n Iterable.isIndexed = isIndexed;\n Iterable.isAssociative = isAssociative;\n Iterable.isOrdered = isOrdered;\n\n Iterable.Keyed = KeyedIterable;\n Iterable.Indexed = IndexedIterable;\n Iterable.Set = SetIterable;\n\n\n var IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';\n var IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';\n var IS_INDEXED_SENTINEL = '@@__IMMUTABLE_INDEXED__@@';\n var IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';\n\n // Used for setting prototype methods that IE8 chokes on.\n var DELETE = 'delete';\n\n // Constants describing the size of trie nodes.\n var SHIFT = 5; // Resulted in best performance after ______?\n var SIZE = 1 << SHIFT;\n var MASK = SIZE - 1;\n\n // A consistent shared value representing \"not set\" which equals nothing other\n // than itself, and nothing that could be provided externally.\n var NOT_SET = {};\n\n // Boolean references, Rough equivalent of `bool &`.\n var CHANGE_LENGTH = { value: false };\n var DID_ALTER = { value: false };\n\n function MakeRef(ref) {\n ref.value = false;\n return ref;\n }\n\n function SetRef(ref) {\n ref && (ref.value = true);\n }\n\n // A function which returns a value representing an \"owner\" for transient writes\n // to tries. The return value will only ever equal itself, and will not equal\n // the return of any subsequent call of this function.\n function OwnerID() {}\n\n // http://jsperf.com/copy-array-inline\n function arrCopy(arr, offset) {\n offset = offset || 0;\n var len = Math.max(0, arr.length - offset);\n var newArr = new Array(len);\n for (var ii = 0; ii < len; ii++) {\n newArr[ii] = arr[ii + offset];\n }\n return newArr;\n }\n\n function ensureSize(iter) {\n if (iter.size === undefined) {\n iter.size = iter.__iterate(returnTrue);\n }\n return iter.size;\n }\n\n function wrapIndex(iter, index) {\n // This implements \"is array index\" which the ECMAString spec defines as:\n //\n // A String property name P is an array index if and only if\n // ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal\n // to 2^32−1.\n //\n // http://www.ecma-international.org/ecma-262/6.0/#sec-array-exotic-objects\n if (typeof index !== 'number') {\n var uint32Index = index >>> 0; // N >>> 0 is shorthand for ToUint32\n if ('' + uint32Index !== index || uint32Index === 4294967295) {\n return NaN;\n }\n index = uint32Index;\n }\n return index < 0 ? ensureSize(iter) + index : index;\n }\n\n function returnTrue() {\n return true;\n }\n\n function wholeSlice(begin, end, size) {\n return (begin === 0 || (size !== undefined && begin <= -size)) &&\n (end === undefined || (size !== undefined && end >= size));\n }\n\n function resolveBegin(begin, size) {\n return resolveIndex(begin, size, 0);\n }\n\n function resolveEnd(end, size) {\n return resolveIndex(end, size, size);\n }\n\n function resolveIndex(index, size, defaultIndex) {\n return index === undefined ?\n defaultIndex :\n index < 0 ?\n Math.max(0, size + index) :\n size === undefined ?\n index :\n Math.min(size, index);\n }\n\n /* global Symbol */\n\n var ITERATE_KEYS = 0;\n var ITERATE_VALUES = 1;\n var ITERATE_ENTRIES = 2;\n\n var REAL_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator';\n\n var ITERATOR_SYMBOL = REAL_ITERATOR_SYMBOL || FAUX_ITERATOR_SYMBOL;\n\n\n function Iterator(next) {\n this.next = next;\n }\n\n Iterator.prototype.toString = function() {\n return '[Iterator]';\n };\n\n\n Iterator.KEYS = ITERATE_KEYS;\n Iterator.VALUES = ITERATE_VALUES;\n Iterator.ENTRIES = ITERATE_ENTRIES;\n\n Iterator.prototype.inspect =\n Iterator.prototype.toSource = function () { return this.toString(); }\n Iterator.prototype[ITERATOR_SYMBOL] = function () {\n return this;\n };\n\n\n function iteratorValue(type, k, v, iteratorResult) {\n var value = type === 0 ? k : type === 1 ? v : [k, v];\n iteratorResult ? (iteratorResult.value = value) : (iteratorResult = {\n value: value, done: false\n });\n return iteratorResult;\n }\n\n function iteratorDone() {\n return { value: undefined, done: true };\n }\n\n function hasIterator(maybeIterable) {\n return !!getIteratorFn(maybeIterable);\n }\n\n function isIterator(maybeIterator) {\n return maybeIterator && typeof maybeIterator.next === 'function';\n }\n\n function getIterator(iterable) {\n var iteratorFn = getIteratorFn(iterable);\n return iteratorFn && iteratorFn.call(iterable);\n }\n\n function getIteratorFn(iterable) {\n var iteratorFn = iterable && (\n (REAL_ITERATOR_SYMBOL && iterable[REAL_ITERATOR_SYMBOL]) ||\n iterable[FAUX_ITERATOR_SYMBOL]\n );\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n function isArrayLike(value) {\n return value && typeof value.length === 'number';\n }\n\n createClass(Seq, Iterable);\n function Seq(value) {\n return value === null || value === undefined ? emptySequence() :\n isIterable(value) ? value.toSeq() : seqFromValue(value);\n }\n\n Seq.of = function(/*...values*/) {\n return Seq(arguments);\n };\n\n Seq.prototype.toSeq = function() {\n return this;\n };\n\n Seq.prototype.toString = function() {\n return this.__toString('Seq {', '}');\n };\n\n Seq.prototype.cacheResult = function() {\n if (!this._cache && this.__iterateUncached) {\n this._cache = this.entrySeq().toArray();\n this.size = this._cache.length;\n }\n return this;\n };\n\n // abstract __iterateUncached(fn, reverse)\n\n Seq.prototype.__iterate = function(fn, reverse) {\n return seqIterate(this, fn, reverse, true);\n };\n\n // abstract __iteratorUncached(type, reverse)\n\n Seq.prototype.__iterator = function(type, reverse) {\n return seqIterator(this, type, reverse, true);\n };\n\n\n\n createClass(KeyedSeq, Seq);\n function KeyedSeq(value) {\n return value === null || value === undefined ?\n emptySequence().toKeyedSeq() :\n isIterable(value) ?\n (isKeyed(value) ? value.toSeq() : value.fromEntrySeq()) :\n keyedSeqFromValue(value);\n }\n\n KeyedSeq.prototype.toKeyedSeq = function() {\n return this;\n };\n\n\n\n createClass(IndexedSeq, Seq);\n function IndexedSeq(value) {\n return value === null || value === undefined ? emptySequence() :\n !isIterable(value) ? indexedSeqFromValue(value) :\n isKeyed(value) ? value.entrySeq() : value.toIndexedSeq();\n }\n\n IndexedSeq.of = function(/*...values*/) {\n return IndexedSeq(arguments);\n };\n\n IndexedSeq.prototype.toIndexedSeq = function() {\n return this;\n };\n\n IndexedSeq.prototype.toString = function() {\n return this.__toString('Seq [', ']');\n };\n\n IndexedSeq.prototype.__iterate = function(fn, reverse) {\n return seqIterate(this, fn, reverse, false);\n };\n\n IndexedSeq.prototype.__iterator = function(type, reverse) {\n return seqIterator(this, type, reverse, false);\n };\n\n\n\n createClass(SetSeq, Seq);\n function SetSeq(value) {\n return (\n value === null || value === undefined ? emptySequence() :\n !isIterable(value) ? indexedSeqFromValue(value) :\n isKeyed(value) ? value.entrySeq() : value\n ).toSetSeq();\n }\n\n SetSeq.of = function(/*...values*/) {\n return SetSeq(arguments);\n };\n\n SetSeq.prototype.toSetSeq = function() {\n return this;\n };\n\n\n\n Seq.isSeq = isSeq;\n Seq.Keyed = KeyedSeq;\n Seq.Set = SetSeq;\n Seq.Indexed = IndexedSeq;\n\n var IS_SEQ_SENTINEL = '@@__IMMUTABLE_SEQ__@@';\n\n Seq.prototype[IS_SEQ_SENTINEL] = true;\n\n\n\n createClass(ArraySeq, IndexedSeq);\n function ArraySeq(array) {\n this._array = array;\n this.size = array.length;\n }\n\n ArraySeq.prototype.get = function(index, notSetValue) {\n return this.has(index) ? this._array[wrapIndex(this, index)] : notSetValue;\n };\n\n ArraySeq.prototype.__iterate = function(fn, reverse) {\n var array = this._array;\n var maxIndex = array.length - 1;\n for (var ii = 0; ii <= maxIndex; ii++) {\n if (fn(array[reverse ? maxIndex - ii : ii], ii, this) === false) {\n return ii + 1;\n }\n }\n return ii;\n };\n\n ArraySeq.prototype.__iterator = function(type, reverse) {\n var array = this._array;\n var maxIndex = array.length - 1;\n var ii = 0;\n return new Iterator(function() \n {return ii > maxIndex ?\n iteratorDone() :\n iteratorValue(type, ii, array[reverse ? maxIndex - ii++ : ii++])}\n );\n };\n\n\n\n createClass(ObjectSeq, KeyedSeq);\n function ObjectSeq(object) {\n var keys = Object.keys(object);\n this._object = object;\n this._keys = keys;\n this.size = keys.length;\n }\n\n ObjectSeq.prototype.get = function(key, notSetValue) {\n if (notSetValue !== undefined && !this.has(key)) {\n return notSetValue;\n }\n return this._object[key];\n };\n\n ObjectSeq.prototype.has = function(key) {\n return this._object.hasOwnProperty(key);\n };\n\n ObjectSeq.prototype.__iterate = function(fn, reverse) {\n var object = this._object;\n var keys = this._keys;\n var maxIndex = keys.length - 1;\n for (var ii = 0; ii <= maxIndex; ii++) {\n var key = keys[reverse ? maxIndex - ii : ii];\n if (fn(object[key], key, this) === false) {\n return ii + 1;\n }\n }\n return ii;\n };\n\n ObjectSeq.prototype.__iterator = function(type, reverse) {\n var object = this._object;\n var keys = this._keys;\n var maxIndex = keys.length - 1;\n var ii = 0;\n return new Iterator(function() {\n var key = keys[reverse ? maxIndex - ii : ii];\n return ii++ > maxIndex ?\n iteratorDone() :\n iteratorValue(type, key, object[key]);\n });\n };\n\n ObjectSeq.prototype[IS_ORDERED_SENTINEL] = true;\n\n\n createClass(IterableSeq, IndexedSeq);\n function IterableSeq(iterable) {\n this._iterable = iterable;\n this.size = iterable.length || iterable.size;\n }\n\n IterableSeq.prototype.__iterateUncached = function(fn, reverse) {\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterable = this._iterable;\n var iterator = getIterator(iterable);\n var iterations = 0;\n if (isIterator(iterator)) {\n var step;\n while (!(step = iterator.next()).done) {\n if (fn(step.value, iterations++, this) === false) {\n break;\n }\n }\n }\n return iterations;\n };\n\n IterableSeq.prototype.__iteratorUncached = function(type, reverse) {\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterable = this._iterable;\n var iterator = getIterator(iterable);\n if (!isIterator(iterator)) {\n return new Iterator(iteratorDone);\n }\n var iterations = 0;\n return new Iterator(function() {\n var step = iterator.next();\n return step.done ? step : iteratorValue(type, iterations++, step.value);\n });\n };\n\n\n\n createClass(IteratorSeq, IndexedSeq);\n function IteratorSeq(iterator) {\n this._iterator = iterator;\n this._iteratorCache = [];\n }\n\n IteratorSeq.prototype.__iterateUncached = function(fn, reverse) {\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterator = this._iterator;\n var cache = this._iteratorCache;\n var iterations = 0;\n while (iterations < cache.length) {\n if (fn(cache[iterations], iterations++, this) === false) {\n return iterations;\n }\n }\n var step;\n while (!(step = iterator.next()).done) {\n var val = step.value;\n cache[iterations] = val;\n if (fn(val, iterations++, this) === false) {\n break;\n }\n }\n return iterations;\n };\n\n IteratorSeq.prototype.__iteratorUncached = function(type, reverse) {\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = this._iterator;\n var cache = this._iteratorCache;\n var iterations = 0;\n return new Iterator(function() {\n if (iterations >= cache.length) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n cache[iterations] = step.value;\n }\n return iteratorValue(type, iterations, cache[iterations++]);\n });\n };\n\n\n\n\n // # pragma Helper functions\n\n function isSeq(maybeSeq) {\n return !!(maybeSeq && maybeSeq[IS_SEQ_SENTINEL]);\n }\n\n var EMPTY_SEQ;\n\n function emptySequence() {\n return EMPTY_SEQ || (EMPTY_SEQ = new ArraySeq([]));\n }\n\n function keyedSeqFromValue(value) {\n var seq =\n Array.isArray(value) ? new ArraySeq(value).fromEntrySeq() :\n isIterator(value) ? new IteratorSeq(value).fromEntrySeq() :\n hasIterator(value) ? new IterableSeq(value).fromEntrySeq() :\n typeof value === 'object' ? new ObjectSeq(value) :\n undefined;\n if (!seq) {\n throw new TypeError(\n 'Expected Array or iterable object of [k, v] entries, '+\n 'or keyed object: ' + value\n );\n }\n return seq;\n }\n\n function indexedSeqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value);\n if (!seq) {\n throw new TypeError(\n 'Expected Array or iterable object of values: ' + value\n );\n }\n return seq;\n }\n\n function seqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value) ||\n (typeof value === 'object' && new ObjectSeq(value));\n if (!seq) {\n throw new TypeError(\n 'Expected Array or iterable object of values, or keyed object: ' + value\n );\n }\n return seq;\n }\n\n function maybeIndexedSeqFromValue(value) {\n return (\n isArrayLike(value) ? new ArraySeq(value) :\n isIterator(value) ? new IteratorSeq(value) :\n hasIterator(value) ? new IterableSeq(value) :\n undefined\n );\n }\n\n function seqIterate(seq, fn, reverse, useKeys) {\n var cache = seq._cache;\n if (cache) {\n var maxIndex = cache.length - 1;\n for (var ii = 0; ii <= maxIndex; ii++) {\n var entry = cache[reverse ? maxIndex - ii : ii];\n if (fn(entry[1], useKeys ? entry[0] : ii, seq) === false) {\n return ii + 1;\n }\n }\n return ii;\n }\n return seq.__iterateUncached(fn, reverse);\n }\n\n function seqIterator(seq, type, reverse, useKeys) {\n var cache = seq._cache;\n if (cache) {\n var maxIndex = cache.length - 1;\n var ii = 0;\n return new Iterator(function() {\n var entry = cache[reverse ? maxIndex - ii : ii];\n return ii++ > maxIndex ?\n iteratorDone() :\n iteratorValue(type, useKeys ? entry[0] : ii - 1, entry[1]);\n });\n }\n return seq.__iteratorUncached(type, reverse);\n }\n\n function fromJS(json, converter) {\n return converter ?\n fromJSWith(converter, json, '', {'': json}) :\n fromJSDefault(json);\n }\n\n function fromJSWith(converter, json, key, parentJSON) {\n if (Array.isArray(json)) {\n return converter.call(parentJSON, key, IndexedSeq(json).map(function(v, k) {return fromJSWith(converter, v, k, json)}));\n }\n if (isPlainObj(json)) {\n return converter.call(parentJSON, key, KeyedSeq(json).map(function(v, k) {return fromJSWith(converter, v, k, json)}));\n }\n return json;\n }\n\n function fromJSDefault(json) {\n if (Array.isArray(json)) {\n return IndexedSeq(json).map(fromJSDefault).toList();\n }\n if (isPlainObj(json)) {\n return KeyedSeq(json).map(fromJSDefault).toMap();\n }\n return json;\n }\n\n function isPlainObj(value) {\n return value && (value.constructor === Object || value.constructor === undefined);\n }\n\n /**\n * An extension of the \"same-value\" algorithm as [described for use by ES6 Map\n * and Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Key_equality)\n *\n * NaN is considered the same as NaN, however -0 and 0 are considered the same\n * value, which is different from the algorithm described by\n * [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).\n *\n * This is extended further to allow Objects to describe the values they\n * represent, by way of `valueOf` or `equals` (and `hashCode`).\n *\n * Note: because of this extension, the key equality of Immutable.Map and the\n * value equality of Immutable.Set will differ from ES6 Map and Set.\n *\n * ### Defining custom values\n *\n * The easiest way to describe the value an object represents is by implementing\n * `valueOf`. For example, `Date` represents a value by returning a unix\n * timestamp for `valueOf`:\n *\n * var date1 = new Date(1234567890000); // Fri Feb 13 2009 ...\n * var date2 = new Date(1234567890000);\n * date1.valueOf(); // 1234567890000\n * assert( date1 !== date2 );\n * assert( Immutable.is( date1, date2 ) );\n *\n * Note: overriding `valueOf` may have other implications if you use this object\n * where JavaScript expects a primitive, such as implicit string coercion.\n *\n * For more complex types, especially collections, implementing `valueOf` may\n * not be performant. An alternative is to implement `equals` and `hashCode`.\n *\n * `equals` takes another object, presumably of similar type, and returns true\n * if the it is equal. Equality is symmetrical, so the same result should be\n * returned if this and the argument are flipped.\n *\n * assert( a.equals(b) === b.equals(a) );\n *\n * `hashCode` returns a 32bit integer number representing the object which will\n * be used to determine how to store the value object in a Map or Set. You must\n * provide both or neither methods, one must not exist without the other.\n *\n * Also, an important relationship between these methods must be upheld: if two\n * values are equal, they *must* return the same hashCode. If the values are not\n * equal, they might have the same hashCode; this is called a hash collision,\n * and while undesirable for performance reasons, it is acceptable.\n *\n * if (a.equals(b)) {\n * assert( a.hashCode() === b.hashCode() );\n * }\n *\n * All Immutable collections implement `equals` and `hashCode`.\n *\n */\n function is(valueA, valueB) {\n if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {\n return true;\n }\n if (!valueA || !valueB) {\n return false;\n }\n if (typeof valueA.valueOf === 'function' &&\n typeof valueB.valueOf === 'function') {\n valueA = valueA.valueOf();\n valueB = valueB.valueOf();\n if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {\n return true;\n }\n if (!valueA || !valueB) {\n return false;\n }\n }\n if (typeof valueA.equals === 'function' &&\n typeof valueB.equals === 'function' &&\n valueA.equals(valueB)) {\n return true;\n }\n return false;\n }\n\n function deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (\n !isIterable(b) ||\n a.size !== undefined && b.size !== undefined && a.size !== b.size ||\n a.__hash !== undefined && b.__hash !== undefined && a.__hash !== b.__hash ||\n isKeyed(a) !== isKeyed(b) ||\n isIndexed(a) !== isIndexed(b) ||\n isOrdered(a) !== isOrdered(b)\n ) {\n return false;\n }\n\n if (a.size === 0 && b.size === 0) {\n return true;\n }\n\n var notAssociative = !isAssociative(a);\n\n if (isOrdered(a)) {\n var entries = a.entries();\n return b.every(function(v, k) {\n var entry = entries.next().value;\n return entry && is(entry[1], v) && (notAssociative || is(entry[0], k));\n }) && entries.next().done;\n }\n\n var flipped = false;\n\n if (a.size === undefined) {\n if (b.size === undefined) {\n if (typeof a.cacheResult === 'function') {\n a.cacheResult();\n }\n } else {\n flipped = true;\n var _ = a;\n a = b;\n b = _;\n }\n }\n\n var allEqual = true;\n var bSize = b.__iterate(function(v, k) {\n if (notAssociative ? !a.has(v) :\n flipped ? !is(v, a.get(k, NOT_SET)) : !is(a.get(k, NOT_SET), v)) {\n allEqual = false;\n return false;\n }\n });\n\n return allEqual && a.size === bSize;\n }\n\n createClass(Repeat, IndexedSeq);\n\n function Repeat(value, times) {\n if (!(this instanceof Repeat)) {\n return new Repeat(value, times);\n }\n this._value = value;\n this.size = times === undefined ? Infinity : Math.max(0, times);\n if (this.size === 0) {\n if (EMPTY_REPEAT) {\n return EMPTY_REPEAT;\n }\n EMPTY_REPEAT = this;\n }\n }\n\n Repeat.prototype.toString = function() {\n if (this.size === 0) {\n return 'Repeat []';\n }\n return 'Repeat [ ' + this._value + ' ' + this.size + ' times ]';\n };\n\n Repeat.prototype.get = function(index, notSetValue) {\n return this.has(index) ? this._value : notSetValue;\n };\n\n Repeat.prototype.includes = function(searchValue) {\n return is(this._value, searchValue);\n };\n\n Repeat.prototype.slice = function(begin, end) {\n var size = this.size;\n return wholeSlice(begin, end, size) ? this :\n new Repeat(this._value, resolveEnd(end, size) - resolveBegin(begin, size));\n };\n\n Repeat.prototype.reverse = function() {\n return this;\n };\n\n Repeat.prototype.indexOf = function(searchValue) {\n if (is(this._value, searchValue)) {\n return 0;\n }\n return -1;\n };\n\n Repeat.prototype.lastIndexOf = function(searchValue) {\n if (is(this._value, searchValue)) {\n return this.size;\n }\n return -1;\n };\n\n Repeat.prototype.__iterate = function(fn, reverse) {\n for (var ii = 0; ii < this.size; ii++) {\n if (fn(this._value, ii, this) === false) {\n return ii + 1;\n }\n }\n return ii;\n };\n\n Repeat.prototype.__iterator = function(type, reverse) {var this$0 = this;\n var ii = 0;\n return new Iterator(function() \n {return ii < this$0.size ? iteratorValue(type, ii++, this$0._value) : iteratorDone()}\n );\n };\n\n Repeat.prototype.equals = function(other) {\n return other instanceof Repeat ?\n is(this._value, other._value) :\n deepEqual(other);\n };\n\n\n var EMPTY_REPEAT;\n\n function invariant(condition, error) {\n if (!condition) throw new Error(error);\n }\n\n createClass(Range, IndexedSeq);\n\n function Range(start, end, step) {\n if (!(this instanceof Range)) {\n return new Range(start, end, step);\n }\n invariant(step !== 0, 'Cannot step a Range by 0');\n start = start || 0;\n if (end === undefined) {\n end = Infinity;\n }\n step = step === undefined ? 1 : Math.abs(step);\n if (end < start) {\n step = -step;\n }\n this._start = start;\n this._end = end;\n this._step = step;\n this.size = Math.max(0, Math.ceil((end - start) / step - 1) + 1);\n if (this.size === 0) {\n if (EMPTY_RANGE) {\n return EMPTY_RANGE;\n }\n EMPTY_RANGE = this;\n }\n }\n\n Range.prototype.toString = function() {\n if (this.size === 0) {\n return 'Range []';\n }\n return 'Range [ ' +\n this._start + '...' + this._end +\n (this._step > 1 ? ' by ' + this._step : '') +\n ' ]';\n };\n\n Range.prototype.get = function(index, notSetValue) {\n return this.has(index) ?\n this._start + wrapIndex(this, index) * this._step :\n notSetValue;\n };\n\n Range.prototype.includes = function(searchValue) {\n var possibleIndex = (searchValue - this._start) / this._step;\n return possibleIndex >= 0 &&\n possibleIndex < this.size &&\n possibleIndex === Math.floor(possibleIndex);\n };\n\n Range.prototype.slice = function(begin, end) {\n if (wholeSlice(begin, end, this.size)) {\n return this;\n }\n begin = resolveBegin(begin, this.size);\n end = resolveEnd(end, this.size);\n if (end <= begin) {\n return new Range(0, 0);\n }\n return new Range(this.get(begin, this._end), this.get(end, this._end), this._step);\n };\n\n Range.prototype.indexOf = function(searchValue) {\n var offsetValue = searchValue - this._start;\n if (offsetValue % this._step === 0) {\n var index = offsetValue / this._step;\n if (index >= 0 && index < this.size) {\n return index\n }\n }\n return -1;\n };\n\n Range.prototype.lastIndexOf = function(searchValue) {\n return this.indexOf(searchValue);\n };\n\n Range.prototype.__iterate = function(fn, reverse) {\n var maxIndex = this.size - 1;\n var step = this._step;\n var value = reverse ? this._start + maxIndex * step : this._start;\n for (var ii = 0; ii <= maxIndex; ii++) {\n if (fn(value, ii, this) === false) {\n return ii + 1;\n }\n value += reverse ? -step : step;\n }\n return ii;\n };\n\n Range.prototype.__iterator = function(type, reverse) {\n var maxIndex = this.size - 1;\n var step = this._step;\n var value = reverse ? this._start + maxIndex * step : this._start;\n var ii = 0;\n return new Iterator(function() {\n var v = value;\n value += reverse ? -step : step;\n return ii > maxIndex ? iteratorDone() : iteratorValue(type, ii++, v);\n });\n };\n\n Range.prototype.equals = function(other) {\n return other instanceof Range ?\n this._start === other._start &&\n this._end === other._end &&\n this._step === other._step :\n deepEqual(this, other);\n };\n\n\n var EMPTY_RANGE;\n\n createClass(Collection, Iterable);\n function Collection() {\n throw TypeError('Abstract');\n }\n\n\n createClass(KeyedCollection, Collection);function KeyedCollection() {}\n\n createClass(IndexedCollection, Collection);function IndexedCollection() {}\n\n createClass(SetCollection, Collection);function SetCollection() {}\n\n\n Collection.Keyed = KeyedCollection;\n Collection.Indexed = IndexedCollection;\n Collection.Set = SetCollection;\n\n var imul =\n typeof Math.imul === 'function' && Math.imul(0xffffffff, 2) === -2 ?\n Math.imul :\n function imul(a, b) {\n a = a | 0; // int\n b = b | 0; // int\n var c = a & 0xffff;\n var d = b & 0xffff;\n // Shift by 0 fixes the sign on the high part.\n return (c * d) + ((((a >>> 16) * d + c * (b >>> 16)) << 16) >>> 0) | 0; // int\n };\n\n // v8 has an optimization for storing 31-bit signed numbers.\n // Values which have either 00 or 11 as the high order bits qualify.\n // This function drops the highest order bit in a signed number, maintaining\n // the sign bit.\n function smi(i32) {\n return ((i32 >>> 1) & 0x40000000) | (i32 & 0xBFFFFFFF);\n }\n\n function hash(o) {\n if (o === false || o === null || o === undefined) {\n return 0;\n }\n if (typeof o.valueOf === 'function') {\n o = o.valueOf();\n if (o === false || o === null || o === undefined) {\n return 0;\n }\n }\n if (o === true) {\n return 1;\n }\n var type = typeof o;\n if (type === 'number') {\n var h = o | 0;\n if (h !== o) {\n h ^= o * 0xFFFFFFFF;\n }\n while (o > 0xFFFFFFFF) {\n o /= 0xFFFFFFFF;\n h ^= o;\n }\n return smi(h);\n }\n if (type === 'string') {\n return o.length > STRING_HASH_CACHE_MIN_STRLEN ? cachedHashString(o) : hashString(o);\n }\n if (typeof o.hashCode === 'function') {\n return o.hashCode();\n }\n if (type === 'object') {\n return hashJSObj(o);\n }\n if (typeof o.toString === 'function') {\n return hashString(o.toString());\n }\n throw new Error('Value type ' + type + ' cannot be hashed.');\n }\n\n function cachedHashString(string) {\n var hash = stringHashCache[string];\n if (hash === undefined) {\n hash = hashString(string);\n if (STRING_HASH_CACHE_SIZE === STRING_HASH_CACHE_MAX_SIZE) {\n STRING_HASH_CACHE_SIZE = 0;\n stringHashCache = {};\n }\n STRING_HASH_CACHE_SIZE++;\n stringHashCache[string] = hash;\n }\n return hash;\n }\n\n // http://jsperf.com/hashing-strings\n function hashString(string) {\n // This is the hash from JVM\n // The hash code for a string is computed as\n // s[0] * 31 ^ (n - 1) + s[1] * 31 ^ (n - 2) + ... + s[n - 1],\n // where s[i] is the ith character of the string and n is the length of\n // the string. We \"mod\" the result to make it between 0 (inclusive) and 2^31\n // (exclusive) by dropping high bits.\n var hash = 0;\n for (var ii = 0; ii < string.length; ii++) {\n hash = 31 * hash + string.charCodeAt(ii) | 0;\n }\n return smi(hash);\n }\n\n function hashJSObj(obj) {\n var hash;\n if (usingWeakMap) {\n hash = weakMap.get(obj);\n if (hash !== undefined) {\n return hash;\n }\n }\n\n hash = obj[UID_HASH_KEY];\n if (hash !== undefined) {\n return hash;\n }\n\n if (!canDefineProperty) {\n hash = obj.propertyIsEnumerable && obj.propertyIsEnumerable[UID_HASH_KEY];\n if (hash !== undefined) {\n return hash;\n }\n\n hash = getIENodeHash(obj);\n if (hash !== undefined) {\n return hash;\n }\n }\n\n hash = ++objHashUID;\n if (objHashUID & 0x40000000) {\n objHashUID = 0;\n }\n\n if (usingWeakMap) {\n weakMap.set(obj, hash);\n } else if (isExtensible !== undefined && isExtensible(obj) === false) {\n throw new Error('Non-extensible objects are not allowed as keys.');\n } else if (canDefineProperty) {\n Object.defineProperty(obj, UID_HASH_KEY, {\n 'enumerable': false,\n 'configurable': false,\n 'writable': false,\n 'value': hash\n });\n } else if (obj.propertyIsEnumerable !== undefined &&\n obj.propertyIsEnumerable === obj.constructor.prototype.propertyIsEnumerable) {\n // Since we can't define a non-enumerable property on the object\n // we'll hijack one of the less-used non-enumerable properties to\n // save our hash on it. Since this is a function it will not show up in\n // `JSON.stringify` which is what we want.\n obj.propertyIsEnumerable = function() {\n return this.constructor.prototype.propertyIsEnumerable.apply(this, arguments);\n };\n obj.propertyIsEnumerable[UID_HASH_KEY] = hash;\n } else if (obj.nodeType !== undefined) {\n // At this point we couldn't get the IE `uniqueID` to use as a hash\n // and we couldn't use a non-enumerable property to exploit the\n // dontEnum bug so we simply add the `UID_HASH_KEY` on the node\n // itself.\n obj[UID_HASH_KEY] = hash;\n } else {\n throw new Error('Unable to set a non-enumerable property on object.');\n }\n\n return hash;\n }\n\n // Get references to ES5 object methods.\n var isExtensible = Object.isExtensible;\n\n // True if Object.defineProperty works as expected. IE8 fails this test.\n var canDefineProperty = (function() {\n try {\n Object.defineProperty({}, '@', {});\n return true;\n } catch (e) {\n return false;\n }\n }());\n\n // IE has a `uniqueID` property on DOM nodes. We can construct the hash from it\n // and avoid memory leaks from the IE cloneNode bug.\n function getIENodeHash(node) {\n if (node && node.nodeType > 0) {\n switch (node.nodeType) {\n case 1: // Element\n return node.uniqueID;\n case 9: // Document\n return node.documentElement && node.documentElement.uniqueID;\n }\n }\n }\n\n // If possible, use a WeakMap.\n var usingWeakMap = typeof WeakMap === 'function';\n var weakMap;\n if (usingWeakMap) {\n weakMap = new WeakMap();\n }\n\n var objHashUID = 0;\n\n var UID_HASH_KEY = '__immutablehash__';\n if (typeof Symbol === 'function') {\n UID_HASH_KEY = Symbol(UID_HASH_KEY);\n }\n\n var STRING_HASH_CACHE_MIN_STRLEN = 16;\n var STRING_HASH_CACHE_MAX_SIZE = 255;\n var STRING_HASH_CACHE_SIZE = 0;\n var stringHashCache = {};\n\n function assertNotInfinite(size) {\n invariant(\n size !== Infinity,\n 'Cannot perform this action with an infinite size.'\n );\n }\n\n createClass(Map, KeyedCollection);\n\n // @pragma Construction\n\n function Map(value) {\n return value === null || value === undefined ? emptyMap() :\n isMap(value) && !isOrdered(value) ? value :\n emptyMap().withMutations(function(map ) {\n var iter = KeyedIterable(value);\n assertNotInfinite(iter.size);\n iter.forEach(function(v, k) {return map.set(k, v)});\n });\n }\n\n Map.prototype.toString = function() {\n return this.__toString('Map {', '}');\n };\n\n // @pragma Access\n\n Map.prototype.get = function(k, notSetValue) {\n return this._root ?\n this._root.get(0, undefined, k, notSetValue) :\n notSetValue;\n };\n\n // @pragma Modification\n\n Map.prototype.set = function(k, v) {\n return updateMap(this, k, v);\n };\n\n Map.prototype.setIn = function(keyPath, v) {\n return this.updateIn(keyPath, NOT_SET, function() {return v});\n };\n\n Map.prototype.remove = function(k) {\n return updateMap(this, k, NOT_SET);\n };\n\n Map.prototype.deleteIn = function(keyPath) {\n return this.updateIn(keyPath, function() {return NOT_SET});\n };\n\n Map.prototype.update = function(k, notSetValue, updater) {\n return arguments.length === 1 ?\n k(this) :\n this.updateIn([k], notSetValue, updater);\n };\n\n Map.prototype.updateIn = function(keyPath, notSetValue, updater) {\n if (!updater) {\n updater = notSetValue;\n notSetValue = undefined;\n }\n var updatedValue = updateInDeepMap(\n this,\n forceIterator(keyPath),\n notSetValue,\n updater\n );\n return updatedValue === NOT_SET ? undefined : updatedValue;\n };\n\n Map.prototype.clear = function() {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._root = null;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyMap();\n };\n\n // @pragma Composition\n\n Map.prototype.merge = function(/*...iters*/) {\n return mergeIntoMapWith(this, undefined, arguments);\n };\n\n Map.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n return mergeIntoMapWith(this, merger, iters);\n };\n\n Map.prototype.mergeIn = function(keyPath) {var iters = SLICE$0.call(arguments, 1);\n return this.updateIn(\n keyPath,\n emptyMap(),\n function(m ) {return typeof m.merge === 'function' ?\n m.merge.apply(m, iters) :\n iters[iters.length - 1]}\n );\n };\n\n Map.prototype.mergeDeep = function(/*...iters*/) {\n return mergeIntoMapWith(this, deepMerger, arguments);\n };\n\n Map.prototype.mergeDeepWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n return mergeIntoMapWith(this, deepMergerWith(merger), iters);\n };\n\n Map.prototype.mergeDeepIn = function(keyPath) {var iters = SLICE$0.call(arguments, 1);\n return this.updateIn(\n keyPath,\n emptyMap(),\n function(m ) {return typeof m.mergeDeep === 'function' ?\n m.mergeDeep.apply(m, iters) :\n iters[iters.length - 1]}\n );\n };\n\n Map.prototype.sort = function(comparator) {\n // Late binding\n return OrderedMap(sortFactory(this, comparator));\n };\n\n Map.prototype.sortBy = function(mapper, comparator) {\n // Late binding\n return OrderedMap(sortFactory(this, comparator, mapper));\n };\n\n // @pragma Mutability\n\n Map.prototype.withMutations = function(fn) {\n var mutable = this.asMutable();\n fn(mutable);\n return mutable.wasAltered() ? mutable.__ensureOwner(this.__ownerID) : this;\n };\n\n Map.prototype.asMutable = function() {\n return this.__ownerID ? this : this.__ensureOwner(new OwnerID());\n };\n\n Map.prototype.asImmutable = function() {\n return this.__ensureOwner();\n };\n\n Map.prototype.wasAltered = function() {\n return this.__altered;\n };\n\n Map.prototype.__iterator = function(type, reverse) {\n return new MapIterator(this, type, reverse);\n };\n\n Map.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n var iterations = 0;\n this._root && this._root.iterate(function(entry ) {\n iterations++;\n return fn(entry[1], entry[0], this$0);\n }, reverse);\n return iterations;\n };\n\n Map.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeMap(this.size, this._root, ownerID, this.__hash);\n };\n\n\n function isMap(maybeMap) {\n return !!(maybeMap && maybeMap[IS_MAP_SENTINEL]);\n }\n\n Map.isMap = isMap;\n\n var IS_MAP_SENTINEL = '@@__IMMUTABLE_MAP__@@';\n\n var MapPrototype = Map.prototype;\n MapPrototype[IS_MAP_SENTINEL] = true;\n MapPrototype[DELETE] = MapPrototype.remove;\n MapPrototype.removeIn = MapPrototype.deleteIn;\n\n\n // #pragma Trie Nodes\n\n\n\n function ArrayMapNode(ownerID, entries) {\n this.ownerID = ownerID;\n this.entries = entries;\n }\n\n ArrayMapNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n var entries = this.entries;\n for (var ii = 0, len = entries.length; ii < len; ii++) {\n if (is(key, entries[ii][0])) {\n return entries[ii][1];\n }\n }\n return notSetValue;\n };\n\n ArrayMapNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n var removed = value === NOT_SET;\n\n var entries = this.entries;\n var idx = 0;\n for (var len = entries.length; idx < len; idx++) {\n if (is(key, entries[idx][0])) {\n break;\n }\n }\n var exists = idx < len;\n\n if (exists ? entries[idx][1] === value : removed) {\n return this;\n }\n\n SetRef(didAlter);\n (removed || !exists) && SetRef(didChangeSize);\n\n if (removed && entries.length === 1) {\n return; // undefined\n }\n\n if (!exists && !removed && entries.length >= MAX_ARRAY_MAP_SIZE) {\n return createNodes(ownerID, entries, key, value);\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newEntries = isEditable ? entries : arrCopy(entries);\n\n if (exists) {\n if (removed) {\n idx === len - 1 ? newEntries.pop() : (newEntries[idx] = newEntries.pop());\n } else {\n newEntries[idx] = [key, value];\n }\n } else {\n newEntries.push([key, value]);\n }\n\n if (isEditable) {\n this.entries = newEntries;\n return this;\n }\n\n return new ArrayMapNode(ownerID, newEntries);\n };\n\n\n\n\n function BitmapIndexedNode(ownerID, bitmap, nodes) {\n this.ownerID = ownerID;\n this.bitmap = bitmap;\n this.nodes = nodes;\n }\n\n BitmapIndexedNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var bit = (1 << ((shift === 0 ? keyHash : keyHash >>> shift) & MASK));\n var bitmap = this.bitmap;\n return (bitmap & bit) === 0 ? notSetValue :\n this.nodes[popCount(bitmap & (bit - 1))].get(shift + SHIFT, keyHash, key, notSetValue);\n };\n\n BitmapIndexedNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var keyHashFrag = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var bit = 1 << keyHashFrag;\n var bitmap = this.bitmap;\n var exists = (bitmap & bit) !== 0;\n\n if (!exists && value === NOT_SET) {\n return this;\n }\n\n var idx = popCount(bitmap & (bit - 1));\n var nodes = this.nodes;\n var node = exists ? nodes[idx] : undefined;\n var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter);\n\n if (newNode === node) {\n return this;\n }\n\n if (!exists && newNode && nodes.length >= MAX_BITMAP_INDEXED_SIZE) {\n return expandNodes(ownerID, nodes, bitmap, keyHashFrag, newNode);\n }\n\n if (exists && !newNode && nodes.length === 2 && isLeafNode(nodes[idx ^ 1])) {\n return nodes[idx ^ 1];\n }\n\n if (exists && newNode && nodes.length === 1 && isLeafNode(newNode)) {\n return newNode;\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newBitmap = exists ? newNode ? bitmap : bitmap ^ bit : bitmap | bit;\n var newNodes = exists ? newNode ?\n setIn(nodes, idx, newNode, isEditable) :\n spliceOut(nodes, idx, isEditable) :\n spliceIn(nodes, idx, newNode, isEditable);\n\n if (isEditable) {\n this.bitmap = newBitmap;\n this.nodes = newNodes;\n return this;\n }\n\n return new BitmapIndexedNode(ownerID, newBitmap, newNodes);\n };\n\n\n\n\n function HashArrayMapNode(ownerID, count, nodes) {\n this.ownerID = ownerID;\n this.count = count;\n this.nodes = nodes;\n }\n\n HashArrayMapNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var node = this.nodes[idx];\n return node ? node.get(shift + SHIFT, keyHash, key, notSetValue) : notSetValue;\n };\n\n HashArrayMapNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var removed = value === NOT_SET;\n var nodes = this.nodes;\n var node = nodes[idx];\n\n if (removed && !node) {\n return this;\n }\n\n var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter);\n if (newNode === node) {\n return this;\n }\n\n var newCount = this.count;\n if (!node) {\n newCount++;\n } else if (!newNode) {\n newCount--;\n if (newCount < MIN_HASH_ARRAY_MAP_SIZE) {\n return packNodes(ownerID, nodes, newCount, idx);\n }\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newNodes = setIn(nodes, idx, newNode, isEditable);\n\n if (isEditable) {\n this.count = newCount;\n this.nodes = newNodes;\n return this;\n }\n\n return new HashArrayMapNode(ownerID, newCount, newNodes);\n };\n\n\n\n\n function HashCollisionNode(ownerID, keyHash, entries) {\n this.ownerID = ownerID;\n this.keyHash = keyHash;\n this.entries = entries;\n }\n\n HashCollisionNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n var entries = this.entries;\n for (var ii = 0, len = entries.length; ii < len; ii++) {\n if (is(key, entries[ii][0])) {\n return entries[ii][1];\n }\n }\n return notSetValue;\n };\n\n HashCollisionNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n\n var removed = value === NOT_SET;\n\n if (keyHash !== this.keyHash) {\n if (removed) {\n return this;\n }\n SetRef(didAlter);\n SetRef(didChangeSize);\n return mergeIntoNode(this, ownerID, shift, keyHash, [key, value]);\n }\n\n var entries = this.entries;\n var idx = 0;\n for (var len = entries.length; idx < len; idx++) {\n if (is(key, entries[idx][0])) {\n break;\n }\n }\n var exists = idx < len;\n\n if (exists ? entries[idx][1] === value : removed) {\n return this;\n }\n\n SetRef(didAlter);\n (removed || !exists) && SetRef(didChangeSize);\n\n if (removed && len === 2) {\n return new ValueNode(ownerID, this.keyHash, entries[idx ^ 1]);\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newEntries = isEditable ? entries : arrCopy(entries);\n\n if (exists) {\n if (removed) {\n idx === len - 1 ? newEntries.pop() : (newEntries[idx] = newEntries.pop());\n } else {\n newEntries[idx] = [key, value];\n }\n } else {\n newEntries.push([key, value]);\n }\n\n if (isEditable) {\n this.entries = newEntries;\n return this;\n }\n\n return new HashCollisionNode(ownerID, this.keyHash, newEntries);\n };\n\n\n\n\n function ValueNode(ownerID, keyHash, entry) {\n this.ownerID = ownerID;\n this.keyHash = keyHash;\n this.entry = entry;\n }\n\n ValueNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n return is(key, this.entry[0]) ? this.entry[1] : notSetValue;\n };\n\n ValueNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n var removed = value === NOT_SET;\n var keyMatch = is(key, this.entry[0]);\n if (keyMatch ? value === this.entry[1] : removed) {\n return this;\n }\n\n SetRef(didAlter);\n\n if (removed) {\n SetRef(didChangeSize);\n return; // undefined\n }\n\n if (keyMatch) {\n if (ownerID && ownerID === this.ownerID) {\n this.entry[1] = value;\n return this;\n }\n return new ValueNode(ownerID, this.keyHash, [key, value]);\n }\n\n SetRef(didChangeSize);\n return mergeIntoNode(this, ownerID, shift, hash(key), [key, value]);\n };\n\n\n\n // #pragma Iterators\n\n ArrayMapNode.prototype.iterate =\n HashCollisionNode.prototype.iterate = function (fn, reverse) {\n var entries = this.entries;\n for (var ii = 0, maxIndex = entries.length - 1; ii <= maxIndex; ii++) {\n if (fn(entries[reverse ? maxIndex - ii : ii]) === false) {\n return false;\n }\n }\n }\n\n BitmapIndexedNode.prototype.iterate =\n HashArrayMapNode.prototype.iterate = function (fn, reverse) {\n var nodes = this.nodes;\n for (var ii = 0, maxIndex = nodes.length - 1; ii <= maxIndex; ii++) {\n var node = nodes[reverse ? maxIndex - ii : ii];\n if (node && node.iterate(fn, reverse) === false) {\n return false;\n }\n }\n }\n\n ValueNode.prototype.iterate = function (fn, reverse) {\n return fn(this.entry);\n }\n\n createClass(MapIterator, Iterator);\n\n function MapIterator(map, type, reverse) {\n this._type = type;\n this._reverse = reverse;\n this._stack = map._root && mapIteratorFrame(map._root);\n }\n\n MapIterator.prototype.next = function() {\n var type = this._type;\n var stack = this._stack;\n while (stack) {\n var node = stack.node;\n var index = stack.index++;\n var maxIndex;\n if (node.entry) {\n if (index === 0) {\n return mapIteratorValue(type, node.entry);\n }\n } else if (node.entries) {\n maxIndex = node.entries.length - 1;\n if (index <= maxIndex) {\n return mapIteratorValue(type, node.entries[this._reverse ? maxIndex - index : index]);\n }\n } else {\n maxIndex = node.nodes.length - 1;\n if (index <= maxIndex) {\n var subNode = node.nodes[this._reverse ? maxIndex - index : index];\n if (subNode) {\n if (subNode.entry) {\n return mapIteratorValue(type, subNode.entry);\n }\n stack = this._stack = mapIteratorFrame(subNode, stack);\n }\n continue;\n }\n }\n stack = this._stack = this._stack.__prev;\n }\n return iteratorDone();\n };\n\n\n function mapIteratorValue(type, entry) {\n return iteratorValue(type, entry[0], entry[1]);\n }\n\n function mapIteratorFrame(node, prev) {\n return {\n node: node,\n index: 0,\n __prev: prev\n };\n }\n\n function makeMap(size, root, ownerID, hash) {\n var map = Object.create(MapPrototype);\n map.size = size;\n map._root = root;\n map.__ownerID = ownerID;\n map.__hash = hash;\n map.__altered = false;\n return map;\n }\n\n var EMPTY_MAP;\n function emptyMap() {\n return EMPTY_MAP || (EMPTY_MAP = makeMap(0));\n }\n\n function updateMap(map, k, v) {\n var newRoot;\n var newSize;\n if (!map._root) {\n if (v === NOT_SET) {\n return map;\n }\n newSize = 1;\n newRoot = new ArrayMapNode(map.__ownerID, [[k, v]]);\n } else {\n var didChangeSize = MakeRef(CHANGE_LENGTH);\n var didAlter = MakeRef(DID_ALTER);\n newRoot = updateNode(map._root, map.__ownerID, 0, undefined, k, v, didChangeSize, didAlter);\n if (!didAlter.value) {\n return map;\n }\n newSize = map.size + (didChangeSize.value ? v === NOT_SET ? -1 : 1 : 0);\n }\n if (map.__ownerID) {\n map.size = newSize;\n map._root = newRoot;\n map.__hash = undefined;\n map.__altered = true;\n return map;\n }\n return newRoot ? makeMap(newSize, newRoot) : emptyMap();\n }\n\n function updateNode(node, ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (!node) {\n if (value === NOT_SET) {\n return node;\n }\n SetRef(didAlter);\n SetRef(didChangeSize);\n return new ValueNode(ownerID, keyHash, [key, value]);\n }\n return node.update(ownerID, shift, keyHash, key, value, didChangeSize, didAlter);\n }\n\n function isLeafNode(node) {\n return node.constructor === ValueNode || node.constructor === HashCollisionNode;\n }\n\n function mergeIntoNode(node, ownerID, shift, keyHash, entry) {\n if (node.keyHash === keyHash) {\n return new HashCollisionNode(ownerID, keyHash, [node.entry, entry]);\n }\n\n var idx1 = (shift === 0 ? node.keyHash : node.keyHash >>> shift) & MASK;\n var idx2 = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n\n var newNode;\n var nodes = idx1 === idx2 ?\n [mergeIntoNode(node, ownerID, shift + SHIFT, keyHash, entry)] :\n ((newNode = new ValueNode(ownerID, keyHash, entry)), idx1 < idx2 ? [node, newNode] : [newNode, node]);\n\n return new BitmapIndexedNode(ownerID, (1 << idx1) | (1 << idx2), nodes);\n }\n\n function createNodes(ownerID, entries, key, value) {\n if (!ownerID) {\n ownerID = new OwnerID();\n }\n var node = new ValueNode(ownerID, hash(key), [key, value]);\n for (var ii = 0; ii < entries.length; ii++) {\n var entry = entries[ii];\n node = node.update(ownerID, 0, undefined, entry[0], entry[1]);\n }\n return node;\n }\n\n function packNodes(ownerID, nodes, count, excluding) {\n var bitmap = 0;\n var packedII = 0;\n var packedNodes = new Array(count);\n for (var ii = 0, bit = 1, len = nodes.length; ii < len; ii++, bit <<= 1) {\n var node = nodes[ii];\n if (node !== undefined && ii !== excluding) {\n bitmap |= bit;\n packedNodes[packedII++] = node;\n }\n }\n return new BitmapIndexedNode(ownerID, bitmap, packedNodes);\n }\n\n function expandNodes(ownerID, nodes, bitmap, including, node) {\n var count = 0;\n var expandedNodes = new Array(SIZE);\n for (var ii = 0; bitmap !== 0; ii++, bitmap >>>= 1) {\n expandedNodes[ii] = bitmap & 1 ? nodes[count++] : undefined;\n }\n expandedNodes[including] = node;\n return new HashArrayMapNode(ownerID, count + 1, expandedNodes);\n }\n\n function mergeIntoMapWith(map, merger, iterables) {\n var iters = [];\n for (var ii = 0; ii < iterables.length; ii++) {\n var value = iterables[ii];\n var iter = KeyedIterable(value);\n if (!isIterable(value)) {\n iter = iter.map(function(v ) {return fromJS(v)});\n }\n iters.push(iter);\n }\n return mergeIntoCollectionWith(map, merger, iters);\n }\n\n function deepMerger(existing, value, key) {\n return existing && existing.mergeDeep && isIterable(value) ?\n existing.mergeDeep(value) :\n is(existing, value) ? existing : value;\n }\n\n function deepMergerWith(merger) {\n return function(existing, value, key) {\n if (existing && existing.mergeDeepWith && isIterable(value)) {\n return existing.mergeDeepWith(merger, value);\n }\n var nextValue = merger(existing, value, key);\n return is(existing, nextValue) ? existing : nextValue;\n };\n }\n\n function mergeIntoCollectionWith(collection, merger, iters) {\n iters = iters.filter(function(x ) {return x.size !== 0});\n if (iters.length === 0) {\n return collection;\n }\n if (collection.size === 0 && !collection.__ownerID && iters.length === 1) {\n return collection.constructor(iters[0]);\n }\n return collection.withMutations(function(collection ) {\n var mergeIntoMap = merger ?\n function(value, key) {\n collection.update(key, NOT_SET, function(existing )\n {return existing === NOT_SET ? value : merger(existing, value, key)}\n );\n } :\n function(value, key) {\n collection.set(key, value);\n }\n for (var ii = 0; ii < iters.length; ii++) {\n iters[ii].forEach(mergeIntoMap);\n }\n });\n }\n\n function updateInDeepMap(existing, keyPathIter, notSetValue, updater) {\n var isNotSet = existing === NOT_SET;\n var step = keyPathIter.next();\n if (step.done) {\n var existingValue = isNotSet ? notSetValue : existing;\n var newValue = updater(existingValue);\n return newValue === existingValue ? existing : newValue;\n }\n invariant(\n isNotSet || (existing && existing.set),\n 'invalid keyPath'\n );\n var key = step.value;\n var nextExisting = isNotSet ? NOT_SET : existing.get(key, NOT_SET);\n var nextUpdated = updateInDeepMap(\n nextExisting,\n keyPathIter,\n notSetValue,\n updater\n );\n return nextUpdated === nextExisting ? existing :\n nextUpdated === NOT_SET ? existing.remove(key) :\n (isNotSet ? emptyMap() : existing).set(key, nextUpdated);\n }\n\n function popCount(x) {\n x = x - ((x >> 1) & 0x55555555);\n x = (x & 0x33333333) + ((x >> 2) & 0x33333333);\n x = (x + (x >> 4)) & 0x0f0f0f0f;\n x = x + (x >> 8);\n x = x + (x >> 16);\n return x & 0x7f;\n }\n\n function setIn(array, idx, val, canEdit) {\n var newArray = canEdit ? array : arrCopy(array);\n newArray[idx] = val;\n return newArray;\n }\n\n function spliceIn(array, idx, val, canEdit) {\n var newLen = array.length + 1;\n if (canEdit && idx + 1 === newLen) {\n array[idx] = val;\n return array;\n }\n var newArray = new Array(newLen);\n var after = 0;\n for (var ii = 0; ii < newLen; ii++) {\n if (ii === idx) {\n newArray[ii] = val;\n after = -1;\n } else {\n newArray[ii] = array[ii + after];\n }\n }\n return newArray;\n }\n\n function spliceOut(array, idx, canEdit) {\n var newLen = array.length - 1;\n if (canEdit && idx === newLen) {\n array.pop();\n return array;\n }\n var newArray = new Array(newLen);\n var after = 0;\n for (var ii = 0; ii < newLen; ii++) {\n if (ii === idx) {\n after = 1;\n }\n newArray[ii] = array[ii + after];\n }\n return newArray;\n }\n\n var MAX_ARRAY_MAP_SIZE = SIZE / 4;\n var MAX_BITMAP_INDEXED_SIZE = SIZE / 2;\n var MIN_HASH_ARRAY_MAP_SIZE = SIZE / 4;\n\n createClass(List, IndexedCollection);\n\n // @pragma Construction\n\n function List(value) {\n var empty = emptyList();\n if (value === null || value === undefined) {\n return empty;\n }\n if (isList(value)) {\n return value;\n }\n var iter = IndexedIterable(value);\n var size = iter.size;\n if (size === 0) {\n return empty;\n }\n assertNotInfinite(size);\n if (size > 0 && size < SIZE) {\n return makeList(0, size, SHIFT, null, new VNode(iter.toArray()));\n }\n return empty.withMutations(function(list ) {\n list.setSize(size);\n iter.forEach(function(v, i) {return list.set(i, v)});\n });\n }\n\n List.of = function(/*...values*/) {\n return this(arguments);\n };\n\n List.prototype.toString = function() {\n return this.__toString('List [', ']');\n };\n\n // @pragma Access\n\n List.prototype.get = function(index, notSetValue) {\n index = wrapIndex(this, index);\n if (index >= 0 && index < this.size) {\n index += this._origin;\n var node = listNodeFor(this, index);\n return node && node.array[index & MASK];\n }\n return notSetValue;\n };\n\n // @pragma Modification\n\n List.prototype.set = function(index, value) {\n return updateList(this, index, value);\n };\n\n List.prototype.remove = function(index) {\n return !this.has(index) ? this :\n index === 0 ? this.shift() :\n index === this.size - 1 ? this.pop() :\n this.splice(index, 1);\n };\n\n List.prototype.insert = function(index, value) {\n return this.splice(index, 0, value);\n };\n\n List.prototype.clear = function() {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = this._origin = this._capacity = 0;\n this._level = SHIFT;\n this._root = this._tail = null;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyList();\n };\n\n List.prototype.push = function(/*...values*/) {\n var values = arguments;\n var oldSize = this.size;\n return this.withMutations(function(list ) {\n setListBounds(list, 0, oldSize + values.length);\n for (var ii = 0; ii < values.length; ii++) {\n list.set(oldSize + ii, values[ii]);\n }\n });\n };\n\n List.prototype.pop = function() {\n return setListBounds(this, 0, -1);\n };\n\n List.prototype.unshift = function(/*...values*/) {\n var values = arguments;\n return this.withMutations(function(list ) {\n setListBounds(list, -values.length);\n for (var ii = 0; ii < values.length; ii++) {\n list.set(ii, values[ii]);\n }\n });\n };\n\n List.prototype.shift = function() {\n return setListBounds(this, 1);\n };\n\n // @pragma Composition\n\n List.prototype.merge = function(/*...iters*/) {\n return mergeIntoListWith(this, undefined, arguments);\n };\n\n List.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n return mergeIntoListWith(this, merger, iters);\n };\n\n List.prototype.mergeDeep = function(/*...iters*/) {\n return mergeIntoListWith(this, deepMerger, arguments);\n };\n\n List.prototype.mergeDeepWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n return mergeIntoListWith(this, deepMergerWith(merger), iters);\n };\n\n List.prototype.setSize = function(size) {\n return setListBounds(this, 0, size);\n };\n\n // @pragma Iteration\n\n List.prototype.slice = function(begin, end) {\n var size = this.size;\n if (wholeSlice(begin, end, size)) {\n return this;\n }\n return setListBounds(\n this,\n resolveBegin(begin, size),\n resolveEnd(end, size)\n );\n };\n\n List.prototype.__iterator = function(type, reverse) {\n var index = 0;\n var values = iterateList(this, reverse);\n return new Iterator(function() {\n var value = values();\n return value === DONE ?\n iteratorDone() :\n iteratorValue(type, index++, value);\n });\n };\n\n List.prototype.__iterate = function(fn, reverse) {\n var index = 0;\n var values = iterateList(this, reverse);\n var value;\n while ((value = values()) !== DONE) {\n if (fn(value, index++, this) === false) {\n break;\n }\n }\n return index;\n };\n\n List.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n this.__ownerID = ownerID;\n return this;\n }\n return makeList(this._origin, this._capacity, this._level, this._root, this._tail, ownerID, this.__hash);\n };\n\n\n function isList(maybeList) {\n return !!(maybeList && maybeList[IS_LIST_SENTINEL]);\n }\n\n List.isList = isList;\n\n var IS_LIST_SENTINEL = '@@__IMMUTABLE_LIST__@@';\n\n var ListPrototype = List.prototype;\n ListPrototype[IS_LIST_SENTINEL] = true;\n ListPrototype[DELETE] = ListPrototype.remove;\n ListPrototype.setIn = MapPrototype.setIn;\n ListPrototype.deleteIn =\n ListPrototype.removeIn = MapPrototype.removeIn;\n ListPrototype.update = MapPrototype.update;\n ListPrototype.updateIn = MapPrototype.updateIn;\n ListPrototype.mergeIn = MapPrototype.mergeIn;\n ListPrototype.mergeDeepIn = MapPrototype.mergeDeepIn;\n ListPrototype.withMutations = MapPrototype.withMutations;\n ListPrototype.asMutable = MapPrototype.asMutable;\n ListPrototype.asImmutable = MapPrototype.asImmutable;\n ListPrototype.wasAltered = MapPrototype.wasAltered;\n\n\n\n function VNode(array, ownerID) {\n this.array = array;\n this.ownerID = ownerID;\n }\n\n // TODO: seems like these methods are very similar\n\n VNode.prototype.removeBefore = function(ownerID, level, index) {\n if (index === level ? 1 << level : 0 || this.array.length === 0) {\n return this;\n }\n var originIndex = (index >>> level) & MASK;\n if (originIndex >= this.array.length) {\n return new VNode([], ownerID);\n }\n var removingFirst = originIndex === 0;\n var newChild;\n if (level > 0) {\n var oldChild = this.array[originIndex];\n newChild = oldChild && oldChild.removeBefore(ownerID, level - SHIFT, index);\n if (newChild === oldChild && removingFirst) {\n return this;\n }\n }\n if (removingFirst && !newChild) {\n return this;\n }\n var editable = editableVNode(this, ownerID);\n if (!removingFirst) {\n for (var ii = 0; ii < originIndex; ii++) {\n editable.array[ii] = undefined;\n }\n }\n if (newChild) {\n editable.array[originIndex] = newChild;\n }\n return editable;\n };\n\n VNode.prototype.removeAfter = function(ownerID, level, index) {\n if (index === (level ? 1 << level : 0) || this.array.length === 0) {\n return this;\n }\n var sizeIndex = ((index - 1) >>> level) & MASK;\n if (sizeIndex >= this.array.length) {\n return this;\n }\n\n var newChild;\n if (level > 0) {\n var oldChild = this.array[sizeIndex];\n newChild = oldChild && oldChild.removeAfter(ownerID, level - SHIFT, index);\n if (newChild === oldChild && sizeIndex === this.array.length - 1) {\n return this;\n }\n }\n\n var editable = editableVNode(this, ownerID);\n editable.array.splice(sizeIndex + 1);\n if (newChild) {\n editable.array[sizeIndex] = newChild;\n }\n return editable;\n };\n\n\n\n var DONE = {};\n\n function iterateList(list, reverse) {\n var left = list._origin;\n var right = list._capacity;\n var tailPos = getTailOffset(right);\n var tail = list._tail;\n\n return iterateNodeOrLeaf(list._root, list._level, 0);\n\n function iterateNodeOrLeaf(node, level, offset) {\n return level === 0 ?\n iterateLeaf(node, offset) :\n iterateNode(node, level, offset);\n }\n\n function iterateLeaf(node, offset) {\n var array = offset === tailPos ? tail && tail.array : node && node.array;\n var from = offset > left ? 0 : left - offset;\n var to = right - offset;\n if (to > SIZE) {\n to = SIZE;\n }\n return function() {\n if (from === to) {\n return DONE;\n }\n var idx = reverse ? --to : from++;\n return array && array[idx];\n };\n }\n\n function iterateNode(node, level, offset) {\n var values;\n var array = node && node.array;\n var from = offset > left ? 0 : (left - offset) >> level;\n var to = ((right - offset) >> level) + 1;\n if (to > SIZE) {\n to = SIZE;\n }\n return function() {\n do {\n if (values) {\n var value = values();\n if (value !== DONE) {\n return value;\n }\n values = null;\n }\n if (from === to) {\n return DONE;\n }\n var idx = reverse ? --to : from++;\n values = iterateNodeOrLeaf(\n array && array[idx], level - SHIFT, offset + (idx << level)\n );\n } while (true);\n };\n }\n }\n\n function makeList(origin, capacity, level, root, tail, ownerID, hash) {\n var list = Object.create(ListPrototype);\n list.size = capacity - origin;\n list._origin = origin;\n list._capacity = capacity;\n list._level = level;\n list._root = root;\n list._tail = tail;\n list.__ownerID = ownerID;\n list.__hash = hash;\n list.__altered = false;\n return list;\n }\n\n var EMPTY_LIST;\n function emptyList() {\n return EMPTY_LIST || (EMPTY_LIST = makeList(0, 0, SHIFT));\n }\n\n function updateList(list, index, value) {\n index = wrapIndex(list, index);\n\n if (index !== index) {\n return list;\n }\n\n if (index >= list.size || index < 0) {\n return list.withMutations(function(list ) {\n index < 0 ?\n setListBounds(list, index).set(0, value) :\n setListBounds(list, 0, index + 1).set(index, value)\n });\n }\n\n index += list._origin;\n\n var newTail = list._tail;\n var newRoot = list._root;\n var didAlter = MakeRef(DID_ALTER);\n if (index >= getTailOffset(list._capacity)) {\n newTail = updateVNode(newTail, list.__ownerID, 0, index, value, didAlter);\n } else {\n newRoot = updateVNode(newRoot, list.__ownerID, list._level, index, value, didAlter);\n }\n\n if (!didAlter.value) {\n return list;\n }\n\n if (list.__ownerID) {\n list._root = newRoot;\n list._tail = newTail;\n list.__hash = undefined;\n list.__altered = true;\n return list;\n }\n return makeList(list._origin, list._capacity, list._level, newRoot, newTail);\n }\n\n function updateVNode(node, ownerID, level, index, value, didAlter) {\n var idx = (index >>> level) & MASK;\n var nodeHas = node && idx < node.array.length;\n if (!nodeHas && value === undefined) {\n return node;\n }\n\n var newNode;\n\n if (level > 0) {\n var lowerNode = node && node.array[idx];\n var newLowerNode = updateVNode(lowerNode, ownerID, level - SHIFT, index, value, didAlter);\n if (newLowerNode === lowerNode) {\n return node;\n }\n newNode = editableVNode(node, ownerID);\n newNode.array[idx] = newLowerNode;\n return newNode;\n }\n\n if (nodeHas && node.array[idx] === value) {\n return node;\n }\n\n SetRef(didAlter);\n\n newNode = editableVNode(node, ownerID);\n if (value === undefined && idx === newNode.array.length - 1) {\n newNode.array.pop();\n } else {\n newNode.array[idx] = value;\n }\n return newNode;\n }\n\n function editableVNode(node, ownerID) {\n if (ownerID && node && ownerID === node.ownerID) {\n return node;\n }\n return new VNode(node ? node.array.slice() : [], ownerID);\n }\n\n function listNodeFor(list, rawIndex) {\n if (rawIndex >= getTailOffset(list._capacity)) {\n return list._tail;\n }\n if (rawIndex < 1 << (list._level + SHIFT)) {\n var node = list._root;\n var level = list._level;\n while (node && level > 0) {\n node = node.array[(rawIndex >>> level) & MASK];\n level -= SHIFT;\n }\n return node;\n }\n }\n\n function setListBounds(list, begin, end) {\n // Sanitize begin & end using this shorthand for ToInt32(argument)\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n if (begin !== undefined) {\n begin = begin | 0;\n }\n if (end !== undefined) {\n end = end | 0;\n }\n var owner = list.__ownerID || new OwnerID();\n var oldOrigin = list._origin;\n var oldCapacity = list._capacity;\n var newOrigin = oldOrigin + begin;\n var newCapacity = end === undefined ? oldCapacity : end < 0 ? oldCapacity + end : oldOrigin + end;\n if (newOrigin === oldOrigin && newCapacity === oldCapacity) {\n return list;\n }\n\n // If it's going to end after it starts, it's empty.\n if (newOrigin >= newCapacity) {\n return list.clear();\n }\n\n var newLevel = list._level;\n var newRoot = list._root;\n\n // New origin might need creating a higher root.\n var offsetShift = 0;\n while (newOrigin + offsetShift < 0) {\n newRoot = new VNode(newRoot && newRoot.array.length ? [undefined, newRoot] : [], owner);\n newLevel += SHIFT;\n offsetShift += 1 << newLevel;\n }\n if (offsetShift) {\n newOrigin += offsetShift;\n oldOrigin += offsetShift;\n newCapacity += offsetShift;\n oldCapacity += offsetShift;\n }\n\n var oldTailOffset = getTailOffset(oldCapacity);\n var newTailOffset = getTailOffset(newCapacity);\n\n // New size might need creating a higher root.\n while (newTailOffset >= 1 << (newLevel + SHIFT)) {\n newRoot = new VNode(newRoot && newRoot.array.length ? [newRoot] : [], owner);\n newLevel += SHIFT;\n }\n\n // Locate or create the new tail.\n var oldTail = list._tail;\n var newTail = newTailOffset < oldTailOffset ?\n listNodeFor(list, newCapacity - 1) :\n newTailOffset > oldTailOffset ? new VNode([], owner) : oldTail;\n\n // Merge Tail into tree.\n if (oldTail && newTailOffset > oldTailOffset && newOrigin < oldCapacity && oldTail.array.length) {\n newRoot = editableVNode(newRoot, owner);\n var node = newRoot;\n for (var level = newLevel; level > SHIFT; level -= SHIFT) {\n var idx = (oldTailOffset >>> level) & MASK;\n node = node.array[idx] = editableVNode(node.array[idx], owner);\n }\n node.array[(oldTailOffset >>> SHIFT) & MASK] = oldTail;\n }\n\n // If the size has been reduced, there's a chance the tail needs to be trimmed.\n if (newCapacity < oldCapacity) {\n newTail = newTail && newTail.removeAfter(owner, 0, newCapacity);\n }\n\n // If the new origin is within the tail, then we do not need a root.\n if (newOrigin >= newTailOffset) {\n newOrigin -= newTailOffset;\n newCapacity -= newTailOffset;\n newLevel = SHIFT;\n newRoot = null;\n newTail = newTail && newTail.removeBefore(owner, 0, newOrigin);\n\n // Otherwise, if the root has been trimmed, garbage collect.\n } else if (newOrigin > oldOrigin || newTailOffset < oldTailOffset) {\n offsetShift = 0;\n\n // Identify the new top root node of the subtree of the old root.\n while (newRoot) {\n var beginIndex = (newOrigin >>> newLevel) & MASK;\n if (beginIndex !== (newTailOffset >>> newLevel) & MASK) {\n break;\n }\n if (beginIndex) {\n offsetShift += (1 << newLevel) * beginIndex;\n }\n newLevel -= SHIFT;\n newRoot = newRoot.array[beginIndex];\n }\n\n // Trim the new sides of the new root.\n if (newRoot && newOrigin > oldOrigin) {\n newRoot = newRoot.removeBefore(owner, newLevel, newOrigin - offsetShift);\n }\n if (newRoot && newTailOffset < oldTailOffset) {\n newRoot = newRoot.removeAfter(owner, newLevel, newTailOffset - offsetShift);\n }\n if (offsetShift) {\n newOrigin -= offsetShift;\n newCapacity -= offsetShift;\n }\n }\n\n if (list.__ownerID) {\n list.size = newCapacity - newOrigin;\n list._origin = newOrigin;\n list._capacity = newCapacity;\n list._level = newLevel;\n list._root = newRoot;\n list._tail = newTail;\n list.__hash = undefined;\n list.__altered = true;\n return list;\n }\n return makeList(newOrigin, newCapacity, newLevel, newRoot, newTail);\n }\n\n function mergeIntoListWith(list, merger, iterables) {\n var iters = [];\n var maxSize = 0;\n for (var ii = 0; ii < iterables.length; ii++) {\n var value = iterables[ii];\n var iter = IndexedIterable(value);\n if (iter.size > maxSize) {\n maxSize = iter.size;\n }\n if (!isIterable(value)) {\n iter = iter.map(function(v ) {return fromJS(v)});\n }\n iters.push(iter);\n }\n if (maxSize > list.size) {\n list = list.setSize(maxSize);\n }\n return mergeIntoCollectionWith(list, merger, iters);\n }\n\n function getTailOffset(size) {\n return size < SIZE ? 0 : (((size - 1) >>> SHIFT) << SHIFT);\n }\n\n createClass(OrderedMap, Map);\n\n // @pragma Construction\n\n function OrderedMap(value) {\n return value === null || value === undefined ? emptyOrderedMap() :\n isOrderedMap(value) ? value :\n emptyOrderedMap().withMutations(function(map ) {\n var iter = KeyedIterable(value);\n assertNotInfinite(iter.size);\n iter.forEach(function(v, k) {return map.set(k, v)});\n });\n }\n\n OrderedMap.of = function(/*...values*/) {\n return this(arguments);\n };\n\n OrderedMap.prototype.toString = function() {\n return this.__toString('OrderedMap {', '}');\n };\n\n // @pragma Access\n\n OrderedMap.prototype.get = function(k, notSetValue) {\n var index = this._map.get(k);\n return index !== undefined ? this._list.get(index)[1] : notSetValue;\n };\n\n // @pragma Modification\n\n OrderedMap.prototype.clear = function() {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._map.clear();\n this._list.clear();\n return this;\n }\n return emptyOrderedMap();\n };\n\n OrderedMap.prototype.set = function(k, v) {\n return updateOrderedMap(this, k, v);\n };\n\n OrderedMap.prototype.remove = function(k) {\n return updateOrderedMap(this, k, NOT_SET);\n };\n\n OrderedMap.prototype.wasAltered = function() {\n return this._map.wasAltered() || this._list.wasAltered();\n };\n\n OrderedMap.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n return this._list.__iterate(\n function(entry ) {return entry && fn(entry[1], entry[0], this$0)},\n reverse\n );\n };\n\n OrderedMap.prototype.__iterator = function(type, reverse) {\n return this._list.fromEntrySeq().__iterator(type, reverse);\n };\n\n OrderedMap.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map.__ensureOwner(ownerID);\n var newList = this._list.__ensureOwner(ownerID);\n if (!ownerID) {\n this.__ownerID = ownerID;\n this._map = newMap;\n this._list = newList;\n return this;\n }\n return makeOrderedMap(newMap, newList, ownerID, this.__hash);\n };\n\n\n function isOrderedMap(maybeOrderedMap) {\n return isMap(maybeOrderedMap) && isOrdered(maybeOrderedMap);\n }\n\n OrderedMap.isOrderedMap = isOrderedMap;\n\n OrderedMap.prototype[IS_ORDERED_SENTINEL] = true;\n OrderedMap.prototype[DELETE] = OrderedMap.prototype.remove;\n\n\n\n function makeOrderedMap(map, list, ownerID, hash) {\n var omap = Object.create(OrderedMap.prototype);\n omap.size = map ? map.size : 0;\n omap._map = map;\n omap._list = list;\n omap.__ownerID = ownerID;\n omap.__hash = hash;\n return omap;\n }\n\n var EMPTY_ORDERED_MAP;\n function emptyOrderedMap() {\n return EMPTY_ORDERED_MAP || (EMPTY_ORDERED_MAP = makeOrderedMap(emptyMap(), emptyList()));\n }\n\n function updateOrderedMap(omap, k, v) {\n var map = omap._map;\n var list = omap._list;\n var i = map.get(k);\n var has = i !== undefined;\n var newMap;\n var newList;\n if (v === NOT_SET) { // removed\n if (!has) {\n return omap;\n }\n if (list.size >= SIZE && list.size >= map.size * 2) {\n newList = list.filter(function(entry, idx) {return entry !== undefined && i !== idx});\n newMap = newList.toKeyedSeq().map(function(entry ) {return entry[0]}).flip().toMap();\n if (omap.__ownerID) {\n newMap.__ownerID = newList.__ownerID = omap.__ownerID;\n }\n } else {\n newMap = map.remove(k);\n newList = i === list.size - 1 ? list.pop() : list.set(i, undefined);\n }\n } else {\n if (has) {\n if (v === list.get(i)[1]) {\n return omap;\n }\n newMap = map;\n newList = list.set(i, [k, v]);\n } else {\n newMap = map.set(k, list.size);\n newList = list.set(list.size, [k, v]);\n }\n }\n if (omap.__ownerID) {\n omap.size = newMap.size;\n omap._map = newMap;\n omap._list = newList;\n omap.__hash = undefined;\n return omap;\n }\n return makeOrderedMap(newMap, newList);\n }\n\n createClass(ToKeyedSequence, KeyedSeq);\n function ToKeyedSequence(indexed, useKeys) {\n this._iter = indexed;\n this._useKeys = useKeys;\n this.size = indexed.size;\n }\n\n ToKeyedSequence.prototype.get = function(key, notSetValue) {\n return this._iter.get(key, notSetValue);\n };\n\n ToKeyedSequence.prototype.has = function(key) {\n return this._iter.has(key);\n };\n\n ToKeyedSequence.prototype.valueSeq = function() {\n return this._iter.valueSeq();\n };\n\n ToKeyedSequence.prototype.reverse = function() {var this$0 = this;\n var reversedSequence = reverseFactory(this, true);\n if (!this._useKeys) {\n reversedSequence.valueSeq = function() {return this$0._iter.toSeq().reverse()};\n }\n return reversedSequence;\n };\n\n ToKeyedSequence.prototype.map = function(mapper, context) {var this$0 = this;\n var mappedSequence = mapFactory(this, mapper, context);\n if (!this._useKeys) {\n mappedSequence.valueSeq = function() {return this$0._iter.toSeq().map(mapper, context)};\n }\n return mappedSequence;\n };\n\n ToKeyedSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n var ii;\n return this._iter.__iterate(\n this._useKeys ?\n function(v, k) {return fn(v, k, this$0)} :\n ((ii = reverse ? resolveSize(this) : 0),\n function(v ) {return fn(v, reverse ? --ii : ii++, this$0)}),\n reverse\n );\n };\n\n ToKeyedSequence.prototype.__iterator = function(type, reverse) {\n if (this._useKeys) {\n return this._iter.__iterator(type, reverse);\n }\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n var ii = reverse ? resolveSize(this) : 0;\n return new Iterator(function() {\n var step = iterator.next();\n return step.done ? step :\n iteratorValue(type, reverse ? --ii : ii++, step.value, step);\n });\n };\n\n ToKeyedSequence.prototype[IS_ORDERED_SENTINEL] = true;\n\n\n createClass(ToIndexedSequence, IndexedSeq);\n function ToIndexedSequence(iter) {\n this._iter = iter;\n this.size = iter.size;\n }\n\n ToIndexedSequence.prototype.includes = function(value) {\n return this._iter.includes(value);\n };\n\n ToIndexedSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n var iterations = 0;\n return this._iter.__iterate(function(v ) {return fn(v, iterations++, this$0)}, reverse);\n };\n\n ToIndexedSequence.prototype.__iterator = function(type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n var iterations = 0;\n return new Iterator(function() {\n var step = iterator.next();\n return step.done ? step :\n iteratorValue(type, iterations++, step.value, step)\n });\n };\n\n\n\n createClass(ToSetSequence, SetSeq);\n function ToSetSequence(iter) {\n this._iter = iter;\n this.size = iter.size;\n }\n\n ToSetSequence.prototype.has = function(key) {\n return this._iter.includes(key);\n };\n\n ToSetSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n return this._iter.__iterate(function(v ) {return fn(v, v, this$0)}, reverse);\n };\n\n ToSetSequence.prototype.__iterator = function(type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n return new Iterator(function() {\n var step = iterator.next();\n return step.done ? step :\n iteratorValue(type, step.value, step.value, step);\n });\n };\n\n\n\n createClass(FromEntriesSequence, KeyedSeq);\n function FromEntriesSequence(entries) {\n this._iter = entries;\n this.size = entries.size;\n }\n\n FromEntriesSequence.prototype.entrySeq = function() {\n return this._iter.toSeq();\n };\n\n FromEntriesSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n return this._iter.__iterate(function(entry ) {\n // Check if entry exists first so array access doesn't throw for holes\n // in the parent iteration.\n if (entry) {\n validateEntry(entry);\n var indexedIterable = isIterable(entry);\n return fn(\n indexedIterable ? entry.get(1) : entry[1],\n indexedIterable ? entry.get(0) : entry[0],\n this$0\n );\n }\n }, reverse);\n };\n\n FromEntriesSequence.prototype.__iterator = function(type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n return new Iterator(function() {\n while (true) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n // Check if entry exists first so array access doesn't throw for holes\n // in the parent iteration.\n if (entry) {\n validateEntry(entry);\n var indexedIterable = isIterable(entry);\n return iteratorValue(\n type,\n indexedIterable ? entry.get(0) : entry[0],\n indexedIterable ? entry.get(1) : entry[1],\n step\n );\n }\n }\n });\n };\n\n\n ToIndexedSequence.prototype.cacheResult =\n ToKeyedSequence.prototype.cacheResult =\n ToSetSequence.prototype.cacheResult =\n FromEntriesSequence.prototype.cacheResult =\n cacheResultThrough;\n\n\n function flipFactory(iterable) {\n var flipSequence = makeSequence(iterable);\n flipSequence._iter = iterable;\n flipSequence.size = iterable.size;\n flipSequence.flip = function() {return iterable};\n flipSequence.reverse = function () {\n var reversedSequence = iterable.reverse.apply(this); // super.reverse()\n reversedSequence.flip = function() {return iterable.reverse()};\n return reversedSequence;\n };\n flipSequence.has = function(key ) {return iterable.includes(key)};\n flipSequence.includes = function(key ) {return iterable.has(key)};\n flipSequence.cacheResult = cacheResultThrough;\n flipSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;\n return iterable.__iterate(function(v, k) {return fn(k, v, this$0) !== false}, reverse);\n }\n flipSequence.__iteratorUncached = function(type, reverse) {\n if (type === ITERATE_ENTRIES) {\n var iterator = iterable.__iterator(type, reverse);\n return new Iterator(function() {\n var step = iterator.next();\n if (!step.done) {\n var k = step.value[0];\n step.value[0] = step.value[1];\n step.value[1] = k;\n }\n return step;\n });\n }\n return iterable.__iterator(\n type === ITERATE_VALUES ? ITERATE_KEYS : ITERATE_VALUES,\n reverse\n );\n }\n return flipSequence;\n }\n\n\n function mapFactory(iterable, mapper, context) {\n var mappedSequence = makeSequence(iterable);\n mappedSequence.size = iterable.size;\n mappedSequence.has = function(key ) {return iterable.has(key)};\n mappedSequence.get = function(key, notSetValue) {\n var v = iterable.get(key, NOT_SET);\n return v === NOT_SET ?\n notSetValue :\n mapper.call(context, v, key, iterable);\n };\n mappedSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;\n return iterable.__iterate(\n function(v, k, c) {return fn(mapper.call(context, v, k, c), k, this$0) !== false},\n reverse\n );\n }\n mappedSequence.__iteratorUncached = function (type, reverse) {\n var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n return new Iterator(function() {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var key = entry[0];\n return iteratorValue(\n type,\n key,\n mapper.call(context, entry[1], key, iterable),\n step\n );\n });\n }\n return mappedSequence;\n }\n\n\n function reverseFactory(iterable, useKeys) {\n var reversedSequence = makeSequence(iterable);\n reversedSequence._iter = iterable;\n reversedSequence.size = iterable.size;\n reversedSequence.reverse = function() {return iterable};\n if (iterable.flip) {\n reversedSequence.flip = function () {\n var flipSequence = flipFactory(iterable);\n flipSequence.reverse = function() {return iterable.flip()};\n return flipSequence;\n };\n }\n reversedSequence.get = function(key, notSetValue) \n {return iterable.get(useKeys ? key : -1 - key, notSetValue)};\n reversedSequence.has = function(key )\n {return iterable.has(useKeys ? key : -1 - key)};\n reversedSequence.includes = function(value ) {return iterable.includes(value)};\n reversedSequence.cacheResult = cacheResultThrough;\n reversedSequence.__iterate = function (fn, reverse) {var this$0 = this;\n return iterable.__iterate(function(v, k) {return fn(v, k, this$0)}, !reverse);\n };\n reversedSequence.__iterator =\n function(type, reverse) {return iterable.__iterator(type, !reverse)};\n return reversedSequence;\n }\n\n\n function filterFactory(iterable, predicate, context, useKeys) {\n var filterSequence = makeSequence(iterable);\n if (useKeys) {\n filterSequence.has = function(key ) {\n var v = iterable.get(key, NOT_SET);\n return v !== NOT_SET && !!predicate.call(context, v, key, iterable);\n };\n filterSequence.get = function(key, notSetValue) {\n var v = iterable.get(key, NOT_SET);\n return v !== NOT_SET && predicate.call(context, v, key, iterable) ?\n v : notSetValue;\n };\n }\n filterSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;\n var iterations = 0;\n iterable.__iterate(function(v, k, c) {\n if (predicate.call(context, v, k, c)) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$0);\n }\n }, reverse);\n return iterations;\n };\n filterSequence.__iteratorUncached = function (type, reverse) {\n var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n var iterations = 0;\n return new Iterator(function() {\n while (true) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var key = entry[0];\n var value = entry[1];\n if (predicate.call(context, value, key, iterable)) {\n return iteratorValue(type, useKeys ? key : iterations++, value, step);\n }\n }\n });\n }\n return filterSequence;\n }\n\n\n function countByFactory(iterable, grouper, context) {\n var groups = Map().asMutable();\n iterable.__iterate(function(v, k) {\n groups.update(\n grouper.call(context, v, k, iterable),\n 0,\n function(a ) {return a + 1}\n );\n });\n return groups.asImmutable();\n }\n\n\n function groupByFactory(iterable, grouper, context) {\n var isKeyedIter = isKeyed(iterable);\n var groups = (isOrdered(iterable) ? OrderedMap() : Map()).asMutable();\n iterable.__iterate(function(v, k) {\n groups.update(\n grouper.call(context, v, k, iterable),\n function(a ) {return (a = a || [], a.push(isKeyedIter ? [k, v] : v), a)}\n );\n });\n var coerce = iterableClass(iterable);\n return groups.map(function(arr ) {return reify(iterable, coerce(arr))});\n }\n\n\n function sliceFactory(iterable, begin, end, useKeys) {\n var originalSize = iterable.size;\n\n // Sanitize begin & end using this shorthand for ToInt32(argument)\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n if (begin !== undefined) {\n begin = begin | 0;\n }\n if (end !== undefined) {\n end = end | 0;\n }\n\n if (wholeSlice(begin, end, originalSize)) {\n return iterable;\n }\n\n var resolvedBegin = resolveBegin(begin, originalSize);\n var resolvedEnd = resolveEnd(end, originalSize);\n\n // begin or end will be NaN if they were provided as negative numbers and\n // this iterable's size is unknown. In that case, cache first so there is\n // a known size and these do not resolve to NaN.\n if (resolvedBegin !== resolvedBegin || resolvedEnd !== resolvedEnd) {\n return sliceFactory(iterable.toSeq().cacheResult(), begin, end, useKeys);\n }\n\n // Note: resolvedEnd is undefined when the original sequence's length is\n // unknown and this slice did not supply an end and should contain all\n // elements after resolvedBegin.\n // In that case, resolvedSize will be NaN and sliceSize will remain undefined.\n var resolvedSize = resolvedEnd - resolvedBegin;\n var sliceSize;\n if (resolvedSize === resolvedSize) {\n sliceSize = resolvedSize < 0 ? 0 : resolvedSize;\n }\n\n var sliceSeq = makeSequence(iterable);\n\n // If iterable.size is undefined, the size of the realized sliceSeq is\n // unknown at this point unless the number of items to slice is 0\n sliceSeq.size = sliceSize === 0 ? sliceSize : iterable.size && sliceSize || undefined;\n\n if (!useKeys && isSeq(iterable) && sliceSize >= 0) {\n sliceSeq.get = function (index, notSetValue) {\n index = wrapIndex(this, index);\n return index >= 0 && index < sliceSize ?\n iterable.get(index + resolvedBegin, notSetValue) :\n notSetValue;\n }\n }\n\n sliceSeq.__iterateUncached = function(fn, reverse) {var this$0 = this;\n if (sliceSize === 0) {\n return 0;\n }\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var skipped = 0;\n var isSkipping = true;\n var iterations = 0;\n iterable.__iterate(function(v, k) {\n if (!(isSkipping && (isSkipping = skipped++ < resolvedBegin))) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$0) !== false &&\n iterations !== sliceSize;\n }\n });\n return iterations;\n };\n\n sliceSeq.__iteratorUncached = function(type, reverse) {\n if (sliceSize !== 0 && reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n // Don't bother instantiating parent iterator if taking 0.\n var iterator = sliceSize !== 0 && iterable.__iterator(type, reverse);\n var skipped = 0;\n var iterations = 0;\n return new Iterator(function() {\n while (skipped++ < resolvedBegin) {\n iterator.next();\n }\n if (++iterations > sliceSize) {\n return iteratorDone();\n }\n var step = iterator.next();\n if (useKeys || type === ITERATE_VALUES) {\n return step;\n } else if (type === ITERATE_KEYS) {\n return iteratorValue(type, iterations - 1, undefined, step);\n } else {\n return iteratorValue(type, iterations - 1, step.value[1], step);\n }\n });\n }\n\n return sliceSeq;\n }\n\n\n function takeWhileFactory(iterable, predicate, context) {\n var takeSequence = makeSequence(iterable);\n takeSequence.__iterateUncached = function(fn, reverse) {var this$0 = this;\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterations = 0;\n iterable.__iterate(function(v, k, c) \n {return predicate.call(context, v, k, c) && ++iterations && fn(v, k, this$0)}\n );\n return iterations;\n };\n takeSequence.__iteratorUncached = function(type, reverse) {var this$0 = this;\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n var iterating = true;\n return new Iterator(function() {\n if (!iterating) {\n return iteratorDone();\n }\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var k = entry[0];\n var v = entry[1];\n if (!predicate.call(context, v, k, this$0)) {\n iterating = false;\n return iteratorDone();\n }\n return type === ITERATE_ENTRIES ? step :\n iteratorValue(type, k, v, step);\n });\n };\n return takeSequence;\n }\n\n\n function skipWhileFactory(iterable, predicate, context, useKeys) {\n var skipSequence = makeSequence(iterable);\n skipSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var isSkipping = true;\n var iterations = 0;\n iterable.__iterate(function(v, k, c) {\n if (!(isSkipping && (isSkipping = predicate.call(context, v, k, c)))) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$0);\n }\n });\n return iterations;\n };\n skipSequence.__iteratorUncached = function(type, reverse) {var this$0 = this;\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n var skipping = true;\n var iterations = 0;\n return new Iterator(function() {\n var step, k, v;\n do {\n step = iterator.next();\n if (step.done) {\n if (useKeys || type === ITERATE_VALUES) {\n return step;\n } else if (type === ITERATE_KEYS) {\n return iteratorValue(type, iterations++, undefined, step);\n } else {\n return iteratorValue(type, iterations++, step.value[1], step);\n }\n }\n var entry = step.value;\n k = entry[0];\n v = entry[1];\n skipping && (skipping = predicate.call(context, v, k, this$0));\n } while (skipping);\n return type === ITERATE_ENTRIES ? step :\n iteratorValue(type, k, v, step);\n });\n };\n return skipSequence;\n }\n\n\n function concatFactory(iterable, values) {\n var isKeyedIterable = isKeyed(iterable);\n var iters = [iterable].concat(values).map(function(v ) {\n if (!isIterable(v)) {\n v = isKeyedIterable ?\n keyedSeqFromValue(v) :\n indexedSeqFromValue(Array.isArray(v) ? v : [v]);\n } else if (isKeyedIterable) {\n v = KeyedIterable(v);\n }\n return v;\n }).filter(function(v ) {return v.size !== 0});\n\n if (iters.length === 0) {\n return iterable;\n }\n\n if (iters.length === 1) {\n var singleton = iters[0];\n if (singleton === iterable ||\n isKeyedIterable && isKeyed(singleton) ||\n isIndexed(iterable) && isIndexed(singleton)) {\n return singleton;\n }\n }\n\n var concatSeq = new ArraySeq(iters);\n if (isKeyedIterable) {\n concatSeq = concatSeq.toKeyedSeq();\n } else if (!isIndexed(iterable)) {\n concatSeq = concatSeq.toSetSeq();\n }\n concatSeq = concatSeq.flatten(true);\n concatSeq.size = iters.reduce(\n function(sum, seq) {\n if (sum !== undefined) {\n var size = seq.size;\n if (size !== undefined) {\n return sum + size;\n }\n }\n },\n 0\n );\n return concatSeq;\n }\n\n\n function flattenFactory(iterable, depth, useKeys) {\n var flatSequence = makeSequence(iterable);\n flatSequence.__iterateUncached = function(fn, reverse) {\n var iterations = 0;\n var stopped = false;\n function flatDeep(iter, currentDepth) {var this$0 = this;\n iter.__iterate(function(v, k) {\n if ((!depth || currentDepth < depth) && isIterable(v)) {\n flatDeep(v, currentDepth + 1);\n } else if (fn(v, useKeys ? k : iterations++, this$0) === false) {\n stopped = true;\n }\n return !stopped;\n }, reverse);\n }\n flatDeep(iterable, 0);\n return iterations;\n }\n flatSequence.__iteratorUncached = function(type, reverse) {\n var iterator = iterable.__iterator(type, reverse);\n var stack = [];\n var iterations = 0;\n return new Iterator(function() {\n while (iterator) {\n var step = iterator.next();\n if (step.done !== false) {\n iterator = stack.pop();\n continue;\n }\n var v = step.value;\n if (type === ITERATE_ENTRIES) {\n v = v[1];\n }\n if ((!depth || stack.length < depth) && isIterable(v)) {\n stack.push(iterator);\n iterator = v.__iterator(type, reverse);\n } else {\n return useKeys ? step : iteratorValue(type, iterations++, v, step);\n }\n }\n return iteratorDone();\n });\n }\n return flatSequence;\n }\n\n\n function flatMapFactory(iterable, mapper, context) {\n var coerce = iterableClass(iterable);\n return iterable.toSeq().map(\n function(v, k) {return coerce(mapper.call(context, v, k, iterable))}\n ).flatten(true);\n }\n\n\n function interposeFactory(iterable, separator) {\n var interposedSequence = makeSequence(iterable);\n interposedSequence.size = iterable.size && iterable.size * 2 -1;\n interposedSequence.__iterateUncached = function(fn, reverse) {var this$0 = this;\n var iterations = 0;\n iterable.__iterate(function(v, k) \n {return (!iterations || fn(separator, iterations++, this$0) !== false) &&\n fn(v, iterations++, this$0) !== false},\n reverse\n );\n return iterations;\n };\n interposedSequence.__iteratorUncached = function(type, reverse) {\n var iterator = iterable.__iterator(ITERATE_VALUES, reverse);\n var iterations = 0;\n var step;\n return new Iterator(function() {\n if (!step || iterations % 2) {\n step = iterator.next();\n if (step.done) {\n return step;\n }\n }\n return iterations % 2 ?\n iteratorValue(type, iterations++, separator) :\n iteratorValue(type, iterations++, step.value, step);\n });\n };\n return interposedSequence;\n }\n\n\n function sortFactory(iterable, comparator, mapper) {\n if (!comparator) {\n comparator = defaultComparator;\n }\n var isKeyedIterable = isKeyed(iterable);\n var index = 0;\n var entries = iterable.toSeq().map(\n function(v, k) {return [k, v, index++, mapper ? mapper(v, k, iterable) : v]}\n ).toArray();\n entries.sort(function(a, b) {return comparator(a[3], b[3]) || a[2] - b[2]}).forEach(\n isKeyedIterable ?\n function(v, i) { entries[i].length = 2; } :\n function(v, i) { entries[i] = v[1]; }\n );\n return isKeyedIterable ? KeyedSeq(entries) :\n isIndexed(iterable) ? IndexedSeq(entries) :\n SetSeq(entries);\n }\n\n\n function maxFactory(iterable, comparator, mapper) {\n if (!comparator) {\n comparator = defaultComparator;\n }\n if (mapper) {\n var entry = iterable.toSeq()\n .map(function(v, k) {return [v, mapper(v, k, iterable)]})\n .reduce(function(a, b) {return maxCompare(comparator, a[1], b[1]) ? b : a});\n return entry && entry[0];\n } else {\n return iterable.reduce(function(a, b) {return maxCompare(comparator, a, b) ? b : a});\n }\n }\n\n function maxCompare(comparator, a, b) {\n var comp = comparator(b, a);\n // b is considered the new max if the comparator declares them equal, but\n // they are not equal and b is in fact a nullish value.\n return (comp === 0 && b !== a && (b === undefined || b === null || b !== b)) || comp > 0;\n }\n\n\n function zipWithFactory(keyIter, zipper, iters) {\n var zipSequence = makeSequence(keyIter);\n zipSequence.size = new ArraySeq(iters).map(function(i ) {return i.size}).min();\n // Note: this a generic base implementation of __iterate in terms of\n // __iterator which may be more generically useful in the future.\n zipSequence.__iterate = function(fn, reverse) {\n /* generic:\n var iterator = this.__iterator(ITERATE_ENTRIES, reverse);\n var step;\n var iterations = 0;\n while (!(step = iterator.next()).done) {\n iterations++;\n if (fn(step.value[1], step.value[0], this) === false) {\n break;\n }\n }\n return iterations;\n */\n // indexed:\n var iterator = this.__iterator(ITERATE_VALUES, reverse);\n var step;\n var iterations = 0;\n while (!(step = iterator.next()).done) {\n if (fn(step.value, iterations++, this) === false) {\n break;\n }\n }\n return iterations;\n };\n zipSequence.__iteratorUncached = function(type, reverse) {\n var iterators = iters.map(function(i )\n {return (i = Iterable(i), getIterator(reverse ? i.reverse() : i))}\n );\n var iterations = 0;\n var isDone = false;\n return new Iterator(function() {\n var steps;\n if (!isDone) {\n steps = iterators.map(function(i ) {return i.next()});\n isDone = steps.some(function(s ) {return s.done});\n }\n if (isDone) {\n return iteratorDone();\n }\n return iteratorValue(\n type,\n iterations++,\n zipper.apply(null, steps.map(function(s ) {return s.value}))\n );\n });\n };\n return zipSequence\n }\n\n\n // #pragma Helper Functions\n\n function reify(iter, seq) {\n return isSeq(iter) ? seq : iter.constructor(seq);\n }\n\n function validateEntry(entry) {\n if (entry !== Object(entry)) {\n throw new TypeError('Expected [K, V] tuple: ' + entry);\n }\n }\n\n function resolveSize(iter) {\n assertNotInfinite(iter.size);\n return ensureSize(iter);\n }\n\n function iterableClass(iterable) {\n return isKeyed(iterable) ? KeyedIterable :\n isIndexed(iterable) ? IndexedIterable :\n SetIterable;\n }\n\n function makeSequence(iterable) {\n return Object.create(\n (\n isKeyed(iterable) ? KeyedSeq :\n isIndexed(iterable) ? IndexedSeq :\n SetSeq\n ).prototype\n );\n }\n\n function cacheResultThrough() {\n if (this._iter.cacheResult) {\n this._iter.cacheResult();\n this.size = this._iter.size;\n return this;\n } else {\n return Seq.prototype.cacheResult.call(this);\n }\n }\n\n function defaultComparator(a, b) {\n return a > b ? 1 : a < b ? -1 : 0;\n }\n\n function forceIterator(keyPath) {\n var iter = getIterator(keyPath);\n if (!iter) {\n // Array might not be iterable in this environment, so we need a fallback\n // to our wrapped type.\n if (!isArrayLike(keyPath)) {\n throw new TypeError('Expected iterable or array-like: ' + keyPath);\n }\n iter = getIterator(Iterable(keyPath));\n }\n return iter;\n }\n\n createClass(Record, KeyedCollection);\n\n function Record(defaultValues, name) {\n var hasInitialized;\n\n var RecordType = function Record(values) {\n if (values instanceof RecordType) {\n return values;\n }\n if (!(this instanceof RecordType)) {\n return new RecordType(values);\n }\n if (!hasInitialized) {\n hasInitialized = true;\n var keys = Object.keys(defaultValues);\n setProps(RecordTypePrototype, keys);\n RecordTypePrototype.size = keys.length;\n RecordTypePrototype._name = name;\n RecordTypePrototype._keys = keys;\n RecordTypePrototype._defaultValues = defaultValues;\n }\n this._map = Map(values);\n };\n\n var RecordTypePrototype = RecordType.prototype = Object.create(RecordPrototype);\n RecordTypePrototype.constructor = RecordType;\n\n return RecordType;\n }\n\n Record.prototype.toString = function() {\n return this.__toString(recordName(this) + ' {', '}');\n };\n\n // @pragma Access\n\n Record.prototype.has = function(k) {\n return this._defaultValues.hasOwnProperty(k);\n };\n\n Record.prototype.get = function(k, notSetValue) {\n if (!this.has(k)) {\n return notSetValue;\n }\n var defaultVal = this._defaultValues[k];\n return this._map ? this._map.get(k, defaultVal) : defaultVal;\n };\n\n // @pragma Modification\n\n Record.prototype.clear = function() {\n if (this.__ownerID) {\n this._map && this._map.clear();\n return this;\n }\n var RecordType = this.constructor;\n return RecordType._empty || (RecordType._empty = makeRecord(this, emptyMap()));\n };\n\n Record.prototype.set = function(k, v) {\n if (!this.has(k)) {\n throw new Error('Cannot set unknown key \"' + k + '\" on ' + recordName(this));\n }\n var newMap = this._map && this._map.set(k, v);\n if (this.__ownerID || newMap === this._map) {\n return this;\n }\n return makeRecord(this, newMap);\n };\n\n Record.prototype.remove = function(k) {\n if (!this.has(k)) {\n return this;\n }\n var newMap = this._map && this._map.remove(k);\n if (this.__ownerID || newMap === this._map) {\n return this;\n }\n return makeRecord(this, newMap);\n };\n\n Record.prototype.wasAltered = function() {\n return this._map.wasAltered();\n };\n\n Record.prototype.__iterator = function(type, reverse) {var this$0 = this;\n return KeyedIterable(this._defaultValues).map(function(_, k) {return this$0.get(k)}).__iterator(type, reverse);\n };\n\n Record.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n return KeyedIterable(this._defaultValues).map(function(_, k) {return this$0.get(k)}).__iterate(fn, reverse);\n };\n\n Record.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map && this._map.__ensureOwner(ownerID);\n if (!ownerID) {\n this.__ownerID = ownerID;\n this._map = newMap;\n return this;\n }\n return makeRecord(this, newMap, ownerID);\n };\n\n\n var RecordPrototype = Record.prototype;\n RecordPrototype[DELETE] = RecordPrototype.remove;\n RecordPrototype.deleteIn =\n RecordPrototype.removeIn = MapPrototype.removeIn;\n RecordPrototype.merge = MapPrototype.merge;\n RecordPrototype.mergeWith = MapPrototype.mergeWith;\n RecordPrototype.mergeIn = MapPrototype.mergeIn;\n RecordPrototype.mergeDeep = MapPrototype.mergeDeep;\n RecordPrototype.mergeDeepWith = MapPrototype.mergeDeepWith;\n RecordPrototype.mergeDeepIn = MapPrototype.mergeDeepIn;\n RecordPrototype.setIn = MapPrototype.setIn;\n RecordPrototype.update = MapPrototype.update;\n RecordPrototype.updateIn = MapPrototype.updateIn;\n RecordPrototype.withMutations = MapPrototype.withMutations;\n RecordPrototype.asMutable = MapPrototype.asMutable;\n RecordPrototype.asImmutable = MapPrototype.asImmutable;\n\n\n function makeRecord(likeRecord, map, ownerID) {\n var record = Object.create(Object.getPrototypeOf(likeRecord));\n record._map = map;\n record.__ownerID = ownerID;\n return record;\n }\n\n function recordName(record) {\n return record._name || record.constructor.name || 'Record';\n }\n\n function setProps(prototype, names) {\n try {\n names.forEach(setProp.bind(undefined, prototype));\n } catch (error) {\n // Object.defineProperty failed. Probably IE8.\n }\n }\n\n function setProp(prototype, name) {\n Object.defineProperty(prototype, name, {\n get: function() {\n return this.get(name);\n },\n set: function(value) {\n invariant(this.__ownerID, 'Cannot set on an immutable record.');\n this.set(name, value);\n }\n });\n }\n\n createClass(Set, SetCollection);\n\n // @pragma Construction\n\n function Set(value) {\n return value === null || value === undefined ? emptySet() :\n isSet(value) && !isOrdered(value) ? value :\n emptySet().withMutations(function(set ) {\n var iter = SetIterable(value);\n assertNotInfinite(iter.size);\n iter.forEach(function(v ) {return set.add(v)});\n });\n }\n\n Set.of = function(/*...values*/) {\n return this(arguments);\n };\n\n Set.fromKeys = function(value) {\n return this(KeyedIterable(value).keySeq());\n };\n\n Set.prototype.toString = function() {\n return this.__toString('Set {', '}');\n };\n\n // @pragma Access\n\n Set.prototype.has = function(value) {\n return this._map.has(value);\n };\n\n // @pragma Modification\n\n Set.prototype.add = function(value) {\n return updateSet(this, this._map.set(value, true));\n };\n\n Set.prototype.remove = function(value) {\n return updateSet(this, this._map.remove(value));\n };\n\n Set.prototype.clear = function() {\n return updateSet(this, this._map.clear());\n };\n\n // @pragma Composition\n\n Set.prototype.union = function() {var iters = SLICE$0.call(arguments, 0);\n iters = iters.filter(function(x ) {return x.size !== 0});\n if (iters.length === 0) {\n return this;\n }\n if (this.size === 0 && !this.__ownerID && iters.length === 1) {\n return this.constructor(iters[0]);\n }\n return this.withMutations(function(set ) {\n for (var ii = 0; ii < iters.length; ii++) {\n SetIterable(iters[ii]).forEach(function(value ) {return set.add(value)});\n }\n });\n };\n\n Set.prototype.intersect = function() {var iters = SLICE$0.call(arguments, 0);\n if (iters.length === 0) {\n return this;\n }\n iters = iters.map(function(iter ) {return SetIterable(iter)});\n var originalSet = this;\n return this.withMutations(function(set ) {\n originalSet.forEach(function(value ) {\n if (!iters.every(function(iter ) {return iter.includes(value)})) {\n set.remove(value);\n }\n });\n });\n };\n\n Set.prototype.subtract = function() {var iters = SLICE$0.call(arguments, 0);\n if (iters.length === 0) {\n return this;\n }\n iters = iters.map(function(iter ) {return SetIterable(iter)});\n var originalSet = this;\n return this.withMutations(function(set ) {\n originalSet.forEach(function(value ) {\n if (iters.some(function(iter ) {return iter.includes(value)})) {\n set.remove(value);\n }\n });\n });\n };\n\n Set.prototype.merge = function() {\n return this.union.apply(this, arguments);\n };\n\n Set.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n return this.union.apply(this, iters);\n };\n\n Set.prototype.sort = function(comparator) {\n // Late binding\n return OrderedSet(sortFactory(this, comparator));\n };\n\n Set.prototype.sortBy = function(mapper, comparator) {\n // Late binding\n return OrderedSet(sortFactory(this, comparator, mapper));\n };\n\n Set.prototype.wasAltered = function() {\n return this._map.wasAltered();\n };\n\n Set.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n return this._map.__iterate(function(_, k) {return fn(k, k, this$0)}, reverse);\n };\n\n Set.prototype.__iterator = function(type, reverse) {\n return this._map.map(function(_, k) {return k}).__iterator(type, reverse);\n };\n\n Set.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map.__ensureOwner(ownerID);\n if (!ownerID) {\n this.__ownerID = ownerID;\n this._map = newMap;\n return this;\n }\n return this.__make(newMap, ownerID);\n };\n\n\n function isSet(maybeSet) {\n return !!(maybeSet && maybeSet[IS_SET_SENTINEL]);\n }\n\n Set.isSet = isSet;\n\n var IS_SET_SENTINEL = '@@__IMMUTABLE_SET__@@';\n\n var SetPrototype = Set.prototype;\n SetPrototype[IS_SET_SENTINEL] = true;\n SetPrototype[DELETE] = SetPrototype.remove;\n SetPrototype.mergeDeep = SetPrototype.merge;\n SetPrototype.mergeDeepWith = SetPrototype.mergeWith;\n SetPrototype.withMutations = MapPrototype.withMutations;\n SetPrototype.asMutable = MapPrototype.asMutable;\n SetPrototype.asImmutable = MapPrototype.asImmutable;\n\n SetPrototype.__empty = emptySet;\n SetPrototype.__make = makeSet;\n\n function updateSet(set, newMap) {\n if (set.__ownerID) {\n set.size = newMap.size;\n set._map = newMap;\n return set;\n }\n return newMap === set._map ? set :\n newMap.size === 0 ? set.__empty() :\n set.__make(newMap);\n }\n\n function makeSet(map, ownerID) {\n var set = Object.create(SetPrototype);\n set.size = map ? map.size : 0;\n set._map = map;\n set.__ownerID = ownerID;\n return set;\n }\n\n var EMPTY_SET;\n function emptySet() {\n return EMPTY_SET || (EMPTY_SET = makeSet(emptyMap()));\n }\n\n createClass(OrderedSet, Set);\n\n // @pragma Construction\n\n function OrderedSet(value) {\n return value === null || value === undefined ? emptyOrderedSet() :\n isOrderedSet(value) ? value :\n emptyOrderedSet().withMutations(function(set ) {\n var iter = SetIterable(value);\n assertNotInfinite(iter.size);\n iter.forEach(function(v ) {return set.add(v)});\n });\n }\n\n OrderedSet.of = function(/*...values*/) {\n return this(arguments);\n };\n\n OrderedSet.fromKeys = function(value) {\n return this(KeyedIterable(value).keySeq());\n };\n\n OrderedSet.prototype.toString = function() {\n return this.__toString('OrderedSet {', '}');\n };\n\n\n function isOrderedSet(maybeOrderedSet) {\n return isSet(maybeOrderedSet) && isOrdered(maybeOrderedSet);\n }\n\n OrderedSet.isOrderedSet = isOrderedSet;\n\n var OrderedSetPrototype = OrderedSet.prototype;\n OrderedSetPrototype[IS_ORDERED_SENTINEL] = true;\n\n OrderedSetPrototype.__empty = emptyOrderedSet;\n OrderedSetPrototype.__make = makeOrderedSet;\n\n function makeOrderedSet(map, ownerID) {\n var set = Object.create(OrderedSetPrototype);\n set.size = map ? map.size : 0;\n set._map = map;\n set.__ownerID = ownerID;\n return set;\n }\n\n var EMPTY_ORDERED_SET;\n function emptyOrderedSet() {\n return EMPTY_ORDERED_SET || (EMPTY_ORDERED_SET = makeOrderedSet(emptyOrderedMap()));\n }\n\n createClass(Stack, IndexedCollection);\n\n // @pragma Construction\n\n function Stack(value) {\n return value === null || value === undefined ? emptyStack() :\n isStack(value) ? value :\n emptyStack().unshiftAll(value);\n }\n\n Stack.of = function(/*...values*/) {\n return this(arguments);\n };\n\n Stack.prototype.toString = function() {\n return this.__toString('Stack [', ']');\n };\n\n // @pragma Access\n\n Stack.prototype.get = function(index, notSetValue) {\n var head = this._head;\n index = wrapIndex(this, index);\n while (head && index--) {\n head = head.next;\n }\n return head ? head.value : notSetValue;\n };\n\n Stack.prototype.peek = function() {\n return this._head && this._head.value;\n };\n\n // @pragma Modification\n\n Stack.prototype.push = function(/*...values*/) {\n if (arguments.length === 0) {\n return this;\n }\n var newSize = this.size + arguments.length;\n var head = this._head;\n for (var ii = arguments.length - 1; ii >= 0; ii--) {\n head = {\n value: arguments[ii],\n next: head\n };\n }\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n Stack.prototype.pushAll = function(iter) {\n iter = IndexedIterable(iter);\n if (iter.size === 0) {\n return this;\n }\n assertNotInfinite(iter.size);\n var newSize = this.size;\n var head = this._head;\n iter.reverse().forEach(function(value ) {\n newSize++;\n head = {\n value: value,\n next: head\n };\n });\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n Stack.prototype.pop = function() {\n return this.slice(1);\n };\n\n Stack.prototype.unshift = function(/*...values*/) {\n return this.push.apply(this, arguments);\n };\n\n Stack.prototype.unshiftAll = function(iter) {\n return this.pushAll(iter);\n };\n\n Stack.prototype.shift = function() {\n return this.pop.apply(this, arguments);\n };\n\n Stack.prototype.clear = function() {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._head = undefined;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyStack();\n };\n\n Stack.prototype.slice = function(begin, end) {\n if (wholeSlice(begin, end, this.size)) {\n return this;\n }\n var resolvedBegin = resolveBegin(begin, this.size);\n var resolvedEnd = resolveEnd(end, this.size);\n if (resolvedEnd !== this.size) {\n // super.slice(begin, end);\n return IndexedCollection.prototype.slice.call(this, begin, end);\n }\n var newSize = this.size - resolvedBegin;\n var head = this._head;\n while (resolvedBegin--) {\n head = head.next;\n }\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n // @pragma Mutability\n\n Stack.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeStack(this.size, this._head, ownerID, this.__hash);\n };\n\n // @pragma Iteration\n\n Stack.prototype.__iterate = function(fn, reverse) {\n if (reverse) {\n return this.reverse().__iterate(fn);\n }\n var iterations = 0;\n var node = this._head;\n while (node) {\n if (fn(node.value, iterations++, this) === false) {\n break;\n }\n node = node.next;\n }\n return iterations;\n };\n\n Stack.prototype.__iterator = function(type, reverse) {\n if (reverse) {\n return this.reverse().__iterator(type);\n }\n var iterations = 0;\n var node = this._head;\n return new Iterator(function() {\n if (node) {\n var value = node.value;\n node = node.next;\n return iteratorValue(type, iterations++, value);\n }\n return iteratorDone();\n });\n };\n\n\n function isStack(maybeStack) {\n return !!(maybeStack && maybeStack[IS_STACK_SENTINEL]);\n }\n\n Stack.isStack = isStack;\n\n var IS_STACK_SENTINEL = '@@__IMMUTABLE_STACK__@@';\n\n var StackPrototype = Stack.prototype;\n StackPrototype[IS_STACK_SENTINEL] = true;\n StackPrototype.withMutations = MapPrototype.withMutations;\n StackPrototype.asMutable = MapPrototype.asMutable;\n StackPrototype.asImmutable = MapPrototype.asImmutable;\n StackPrototype.wasAltered = MapPrototype.wasAltered;\n\n\n function makeStack(size, head, ownerID, hash) {\n var map = Object.create(StackPrototype);\n map.size = size;\n map._head = head;\n map.__ownerID = ownerID;\n map.__hash = hash;\n map.__altered = false;\n return map;\n }\n\n var EMPTY_STACK;\n function emptyStack() {\n return EMPTY_STACK || (EMPTY_STACK = makeStack(0));\n }\n\n /**\n * Contributes additional methods to a constructor\n */\n function mixin(ctor, methods) {\n var keyCopier = function(key ) { ctor.prototype[key] = methods[key]; };\n Object.keys(methods).forEach(keyCopier);\n Object.getOwnPropertySymbols &&\n Object.getOwnPropertySymbols(methods).forEach(keyCopier);\n return ctor;\n }\n\n Iterable.Iterator = Iterator;\n\n mixin(Iterable, {\n\n // ### Conversion to other types\n\n toArray: function() {\n assertNotInfinite(this.size);\n var array = new Array(this.size || 0);\n this.valueSeq().__iterate(function(v, i) { array[i] = v; });\n return array;\n },\n\n toIndexedSeq: function() {\n return new ToIndexedSequence(this);\n },\n\n toJS: function() {\n return this.toSeq().map(\n function(value ) {return value && typeof value.toJS === 'function' ? value.toJS() : value}\n ).__toJS();\n },\n\n toJSON: function() {\n return this.toSeq().map(\n function(value ) {return value && typeof value.toJSON === 'function' ? value.toJSON() : value}\n ).__toJS();\n },\n\n toKeyedSeq: function() {\n return new ToKeyedSequence(this, true);\n },\n\n toMap: function() {\n // Use Late Binding here to solve the circular dependency.\n return Map(this.toKeyedSeq());\n },\n\n toObject: function() {\n assertNotInfinite(this.size);\n var object = {};\n this.__iterate(function(v, k) { object[k] = v; });\n return object;\n },\n\n toOrderedMap: function() {\n // Use Late Binding here to solve the circular dependency.\n return OrderedMap(this.toKeyedSeq());\n },\n\n toOrderedSet: function() {\n // Use Late Binding here to solve the circular dependency.\n return OrderedSet(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toSet: function() {\n // Use Late Binding here to solve the circular dependency.\n return Set(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toSetSeq: function() {\n return new ToSetSequence(this);\n },\n\n toSeq: function() {\n return isIndexed(this) ? this.toIndexedSeq() :\n isKeyed(this) ? this.toKeyedSeq() :\n this.toSetSeq();\n },\n\n toStack: function() {\n // Use Late Binding here to solve the circular dependency.\n return Stack(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toList: function() {\n // Use Late Binding here to solve the circular dependency.\n return List(isKeyed(this) ? this.valueSeq() : this);\n },\n\n\n // ### Common JavaScript methods and properties\n\n toString: function() {\n return '[Iterable]';\n },\n\n __toString: function(head, tail) {\n if (this.size === 0) {\n return head + tail;\n }\n return head + ' ' + this.toSeq().map(this.__toStringMapper).join(', ') + ' ' + tail;\n },\n\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n concat: function() {var values = SLICE$0.call(arguments, 0);\n return reify(this, concatFactory(this, values));\n },\n\n includes: function(searchValue) {\n return this.some(function(value ) {return is(value, searchValue)});\n },\n\n entries: function() {\n return this.__iterator(ITERATE_ENTRIES);\n },\n\n every: function(predicate, context) {\n assertNotInfinite(this.size);\n var returnValue = true;\n this.__iterate(function(v, k, c) {\n if (!predicate.call(context, v, k, c)) {\n returnValue = false;\n return false;\n }\n });\n return returnValue;\n },\n\n filter: function(predicate, context) {\n return reify(this, filterFactory(this, predicate, context, true));\n },\n\n find: function(predicate, context, notSetValue) {\n var entry = this.findEntry(predicate, context);\n return entry ? entry[1] : notSetValue;\n },\n\n findEntry: function(predicate, context) {\n var found;\n this.__iterate(function(v, k, c) {\n if (predicate.call(context, v, k, c)) {\n found = [k, v];\n return false;\n }\n });\n return found;\n },\n\n findLastEntry: function(predicate, context) {\n return this.toSeq().reverse().findEntry(predicate, context);\n },\n\n forEach: function(sideEffect, context) {\n assertNotInfinite(this.size);\n return this.__iterate(context ? sideEffect.bind(context) : sideEffect);\n },\n\n join: function(separator) {\n assertNotInfinite(this.size);\n separator = separator !== undefined ? '' + separator : ',';\n var joined = '';\n var isFirst = true;\n this.__iterate(function(v ) {\n isFirst ? (isFirst = false) : (joined += separator);\n joined += v !== null && v !== undefined ? v.toString() : '';\n });\n return joined;\n },\n\n keys: function() {\n return this.__iterator(ITERATE_KEYS);\n },\n\n map: function(mapper, context) {\n return reify(this, mapFactory(this, mapper, context));\n },\n\n reduce: function(reducer, initialReduction, context) {\n assertNotInfinite(this.size);\n var reduction;\n var useFirst;\n if (arguments.length < 2) {\n useFirst = true;\n } else {\n reduction = initialReduction;\n }\n this.__iterate(function(v, k, c) {\n if (useFirst) {\n useFirst = false;\n reduction = v;\n } else {\n reduction = reducer.call(context, reduction, v, k, c);\n }\n });\n return reduction;\n },\n\n reduceRight: function(reducer, initialReduction, context) {\n var reversed = this.toKeyedSeq().reverse();\n return reversed.reduce.apply(reversed, arguments);\n },\n\n reverse: function() {\n return reify(this, reverseFactory(this, true));\n },\n\n slice: function(begin, end) {\n return reify(this, sliceFactory(this, begin, end, true));\n },\n\n some: function(predicate, context) {\n return !this.every(not(predicate), context);\n },\n\n sort: function(comparator) {\n return reify(this, sortFactory(this, comparator));\n },\n\n values: function() {\n return this.__iterator(ITERATE_VALUES);\n },\n\n\n // ### More sequential methods\n\n butLast: function() {\n return this.slice(0, -1);\n },\n\n isEmpty: function() {\n return this.size !== undefined ? this.size === 0 : !this.some(function() {return true});\n },\n\n count: function(predicate, context) {\n return ensureSize(\n predicate ? this.toSeq().filter(predicate, context) : this\n );\n },\n\n countBy: function(grouper, context) {\n return countByFactory(this, grouper, context);\n },\n\n equals: function(other) {\n return deepEqual(this, other);\n },\n\n entrySeq: function() {\n var iterable = this;\n if (iterable._cache) {\n // We cache as an entries array, so we can just return the cache!\n return new ArraySeq(iterable._cache);\n }\n var entriesSequence = iterable.toSeq().map(entryMapper).toIndexedSeq();\n entriesSequence.fromEntrySeq = function() {return iterable.toSeq()};\n return entriesSequence;\n },\n\n filterNot: function(predicate, context) {\n return this.filter(not(predicate), context);\n },\n\n findLast: function(predicate, context, notSetValue) {\n return this.toKeyedSeq().reverse().find(predicate, context, notSetValue);\n },\n\n first: function() {\n return this.find(returnTrue);\n },\n\n flatMap: function(mapper, context) {\n return reify(this, flatMapFactory(this, mapper, context));\n },\n\n flatten: function(depth) {\n return reify(this, flattenFactory(this, depth, true));\n },\n\n fromEntrySeq: function() {\n return new FromEntriesSequence(this);\n },\n\n get: function(searchKey, notSetValue) {\n return this.find(function(_, key) {return is(key, searchKey)}, undefined, notSetValue);\n },\n\n getIn: function(searchKeyPath, notSetValue) {\n var nested = this;\n // Note: in an ES6 environment, we would prefer:\n // for (var key of searchKeyPath) {\n var iter = forceIterator(searchKeyPath);\n var step;\n while (!(step = iter.next()).done) {\n var key = step.value;\n nested = nested && nested.get ? nested.get(key, NOT_SET) : NOT_SET;\n if (nested === NOT_SET) {\n return notSetValue;\n }\n }\n return nested;\n },\n\n groupBy: function(grouper, context) {\n return groupByFactory(this, grouper, context);\n },\n\n has: function(searchKey) {\n return this.get(searchKey, NOT_SET) !== NOT_SET;\n },\n\n hasIn: function(searchKeyPath) {\n return this.getIn(searchKeyPath, NOT_SET) !== NOT_SET;\n },\n\n isSubset: function(iter) {\n iter = typeof iter.includes === 'function' ? iter : Iterable(iter);\n return this.every(function(value ) {return iter.includes(value)});\n },\n\n isSuperset: function(iter) {\n iter = typeof iter.isSubset === 'function' ? iter : Iterable(iter);\n return iter.isSubset(this);\n },\n\n keySeq: function() {\n return this.toSeq().map(keyMapper).toIndexedSeq();\n },\n\n last: function() {\n return this.toSeq().reverse().first();\n },\n\n max: function(comparator) {\n return maxFactory(this, comparator);\n },\n\n maxBy: function(mapper, comparator) {\n return maxFactory(this, comparator, mapper);\n },\n\n min: function(comparator) {\n return maxFactory(this, comparator ? neg(comparator) : defaultNegComparator);\n },\n\n minBy: function(mapper, comparator) {\n return maxFactory(this, comparator ? neg(comparator) : defaultNegComparator, mapper);\n },\n\n rest: function() {\n return this.slice(1);\n },\n\n skip: function(amount) {\n return this.slice(Math.max(0, amount));\n },\n\n skipLast: function(amount) {\n return reify(this, this.toSeq().reverse().skip(amount).reverse());\n },\n\n skipWhile: function(predicate, context) {\n return reify(this, skipWhileFactory(this, predicate, context, true));\n },\n\n skipUntil: function(predicate, context) {\n return this.skipWhile(not(predicate), context);\n },\n\n sortBy: function(mapper, comparator) {\n return reify(this, sortFactory(this, comparator, mapper));\n },\n\n take: function(amount) {\n return this.slice(0, Math.max(0, amount));\n },\n\n takeLast: function(amount) {\n return reify(this, this.toSeq().reverse().take(amount).reverse());\n },\n\n takeWhile: function(predicate, context) {\n return reify(this, takeWhileFactory(this, predicate, context));\n },\n\n takeUntil: function(predicate, context) {\n return this.takeWhile(not(predicate), context);\n },\n\n valueSeq: function() {\n return this.toIndexedSeq();\n },\n\n\n // ### Hashable Object\n\n hashCode: function() {\n return this.__hash || (this.__hash = hashIterable(this));\n }\n\n\n // ### Internal\n\n // abstract __iterate(fn, reverse)\n\n // abstract __iterator(type, reverse)\n });\n\n // var IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';\n // var IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';\n // var IS_INDEXED_SENTINEL = '@@__IMMUTABLE_INDEXED__@@';\n // var IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';\n\n var IterablePrototype = Iterable.prototype;\n IterablePrototype[IS_ITERABLE_SENTINEL] = true;\n IterablePrototype[ITERATOR_SYMBOL] = IterablePrototype.values;\n IterablePrototype.__toJS = IterablePrototype.toArray;\n IterablePrototype.__toStringMapper = quoteString;\n IterablePrototype.inspect =\n IterablePrototype.toSource = function() { return this.toString(); };\n IterablePrototype.chain = IterablePrototype.flatMap;\n IterablePrototype.contains = IterablePrototype.includes;\n\n // Temporary warning about using length\n (function () {\n try {\n Object.defineProperty(IterablePrototype, 'length', {\n get: function () {\n if (!Iterable.noLengthWarning) {\n var stack;\n try {\n throw new Error();\n } catch (error) {\n stack = error.stack;\n }\n if (stack.indexOf('_wrapObject') === -1) {\n console && console.warn && console.warn(\n 'iterable.length has been deprecated, '+\n 'use iterable.size or iterable.count(). '+\n 'This warning will become a silent error in a future version. ' +\n stack\n );\n return this.size;\n }\n }\n }\n });\n } catch (e) {}\n })();\n\n\n\n mixin(KeyedIterable, {\n\n // ### More sequential methods\n\n flip: function() {\n return reify(this, flipFactory(this));\n },\n\n findKey: function(predicate, context) {\n var entry = this.findEntry(predicate, context);\n return entry && entry[0];\n },\n\n findLastKey: function(predicate, context) {\n return this.toSeq().reverse().findKey(predicate, context);\n },\n\n keyOf: function(searchValue) {\n return this.findKey(function(value ) {return is(value, searchValue)});\n },\n\n lastKeyOf: function(searchValue) {\n return this.findLastKey(function(value ) {return is(value, searchValue)});\n },\n\n mapEntries: function(mapper, context) {var this$0 = this;\n var iterations = 0;\n return reify(this,\n this.toSeq().map(\n function(v, k) {return mapper.call(context, [k, v], iterations++, this$0)}\n ).fromEntrySeq()\n );\n },\n\n mapKeys: function(mapper, context) {var this$0 = this;\n return reify(this,\n this.toSeq().flip().map(\n function(k, v) {return mapper.call(context, k, v, this$0)}\n ).flip()\n );\n }\n\n });\n\n var KeyedIterablePrototype = KeyedIterable.prototype;\n KeyedIterablePrototype[IS_KEYED_SENTINEL] = true;\n KeyedIterablePrototype[ITERATOR_SYMBOL] = IterablePrototype.entries;\n KeyedIterablePrototype.__toJS = IterablePrototype.toObject;\n KeyedIterablePrototype.__toStringMapper = function(v, k) {return JSON.stringify(k) + ': ' + quoteString(v)};\n\n\n\n mixin(IndexedIterable, {\n\n // ### Conversion to other types\n\n toKeyedSeq: function() {\n return new ToKeyedSequence(this, false);\n },\n\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n filter: function(predicate, context) {\n return reify(this, filterFactory(this, predicate, context, false));\n },\n\n findIndex: function(predicate, context) {\n var entry = this.findEntry(predicate, context);\n return entry ? entry[0] : -1;\n },\n\n indexOf: function(searchValue) {\n var key = this.toKeyedSeq().keyOf(searchValue);\n return key === undefined ? -1 : key;\n },\n\n lastIndexOf: function(searchValue) {\n var key = this.toKeyedSeq().reverse().keyOf(searchValue);\n return key === undefined ? -1 : key;\n\n // var index =\n // return this.toSeq().reverse().indexOf(searchValue);\n },\n\n reverse: function() {\n return reify(this, reverseFactory(this, false));\n },\n\n slice: function(begin, end) {\n return reify(this, sliceFactory(this, begin, end, false));\n },\n\n splice: function(index, removeNum /*, ...values*/) {\n var numArgs = arguments.length;\n removeNum = Math.max(removeNum | 0, 0);\n if (numArgs === 0 || (numArgs === 2 && !removeNum)) {\n return this;\n }\n // If index is negative, it should resolve relative to the size of the\n // collection. However size may be expensive to compute if not cached, so\n // only call count() if the number is in fact negative.\n index = resolveBegin(index, index < 0 ? this.count() : this.size);\n var spliced = this.slice(0, index);\n return reify(\n this,\n numArgs === 1 ?\n spliced :\n spliced.concat(arrCopy(arguments, 2), this.slice(index + removeNum))\n );\n },\n\n\n // ### More collection methods\n\n findLastIndex: function(predicate, context) {\n var key = this.toKeyedSeq().findLastKey(predicate, context);\n return key === undefined ? -1 : key;\n },\n\n first: function() {\n return this.get(0);\n },\n\n flatten: function(depth) {\n return reify(this, flattenFactory(this, depth, false));\n },\n\n get: function(index, notSetValue) {\n index = wrapIndex(this, index);\n return (index < 0 || (this.size === Infinity ||\n (this.size !== undefined && index > this.size))) ?\n notSetValue :\n this.find(function(_, key) {return key === index}, undefined, notSetValue);\n },\n\n has: function(index) {\n index = wrapIndex(this, index);\n return index >= 0 && (this.size !== undefined ?\n this.size === Infinity || index < this.size :\n this.indexOf(index) !== -1\n );\n },\n\n interpose: function(separator) {\n return reify(this, interposeFactory(this, separator));\n },\n\n interleave: function(/*...iterables*/) {\n var iterables = [this].concat(arrCopy(arguments));\n var zipped = zipWithFactory(this.toSeq(), IndexedSeq.of, iterables);\n var interleaved = zipped.flatten(true);\n if (zipped.size) {\n interleaved.size = zipped.size * iterables.length;\n }\n return reify(this, interleaved);\n },\n\n last: function() {\n return this.get(-1);\n },\n\n skipWhile: function(predicate, context) {\n return reify(this, skipWhileFactory(this, predicate, context, false));\n },\n\n zip: function(/*, ...iterables */) {\n var iterables = [this].concat(arrCopy(arguments));\n return reify(this, zipWithFactory(this, defaultZipper, iterables));\n },\n\n zipWith: function(zipper/*, ...iterables */) {\n var iterables = arrCopy(arguments);\n iterables[0] = this;\n return reify(this, zipWithFactory(this, zipper, iterables));\n }\n\n });\n\n IndexedIterable.prototype[IS_INDEXED_SENTINEL] = true;\n IndexedIterable.prototype[IS_ORDERED_SENTINEL] = true;\n\n\n\n mixin(SetIterable, {\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n get: function(value, notSetValue) {\n return this.has(value) ? value : notSetValue;\n },\n\n includes: function(value) {\n return this.has(value);\n },\n\n\n // ### More sequential methods\n\n keySeq: function() {\n return this.valueSeq();\n }\n\n });\n\n SetIterable.prototype.has = IterablePrototype.includes;\n\n\n // Mixin subclasses\n\n mixin(KeyedSeq, KeyedIterable.prototype);\n mixin(IndexedSeq, IndexedIterable.prototype);\n mixin(SetSeq, SetIterable.prototype);\n\n mixin(KeyedCollection, KeyedIterable.prototype);\n mixin(IndexedCollection, IndexedIterable.prototype);\n mixin(SetCollection, SetIterable.prototype);\n\n\n // #pragma Helper functions\n\n function keyMapper(v, k) {\n return k;\n }\n\n function entryMapper(v, k) {\n return [k, v];\n }\n\n function not(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n }\n }\n\n function neg(predicate) {\n return function() {\n return -predicate.apply(this, arguments);\n }\n }\n\n function quoteString(value) {\n return typeof value === 'string' ? JSON.stringify(value) : value;\n }\n\n function defaultZipper() {\n return arrCopy(arguments);\n }\n\n function defaultNegComparator(a, b) {\n return a < b ? 1 : a > b ? -1 : 0;\n }\n\n function hashIterable(iterable) {\n if (iterable.size === Infinity) {\n return 0;\n }\n var ordered = isOrdered(iterable);\n var keyed = isKeyed(iterable);\n var h = ordered ? 1 : 0;\n var size = iterable.__iterate(\n keyed ?\n ordered ?\n function(v, k) { h = 31 * h + hashMerge(hash(v), hash(k)) | 0; } :\n function(v, k) { h = h + hashMerge(hash(v), hash(k)) | 0; } :\n ordered ?\n function(v ) { h = 31 * h + hash(v) | 0; } :\n function(v ) { h = h + hash(v) | 0; }\n );\n return murmurHashOfSize(size, h);\n }\n\n function murmurHashOfSize(size, h) {\n h = imul(h, 0xCC9E2D51);\n h = imul(h << 15 | h >>> -15, 0x1B873593);\n h = imul(h << 13 | h >>> -13, 5);\n h = (h + 0xE6546B64 | 0) ^ size;\n h = imul(h ^ h >>> 16, 0x85EBCA6B);\n h = imul(h ^ h >>> 13, 0xC2B2AE35);\n h = smi(h ^ h >>> 16);\n return h;\n }\n\n function hashMerge(a, b) {\n return a ^ b + 0x9E3779B9 + (a << 6) + (a >> 2) | 0; // int\n }\n\n var Immutable = {\n\n Iterable: Iterable,\n\n Seq: Seq,\n Collection: Collection,\n Map: Map,\n OrderedMap: OrderedMap,\n List: List,\n Stack: Stack,\n Set: Set,\n OrderedSet: OrderedSet,\n\n Record: Record,\n Range: Range,\n Repeat: Repeat,\n\n is: is,\n fromJS: fromJS\n\n };\n\n return Immutable;\n\n}));","'use strict';\n\nmodule.exports = function isNegativeZero(number) {\n\treturn number === 0 && (1 / number) === -Infinity;\n};\n\n","var camel2hyphen = require('string-convert/camel2hyphen');\n\nvar isDimension = function (feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\n\nvar obj2mq = function (obj) {\n var mq = '';\n var features = Object.keys(obj);\n features.forEach(function (feature, index) {\n var value = obj[feature];\n feature = camel2hyphen(feature);\n // Add px to dimension features\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\n }\n if (value === true) {\n mq += feature;\n } else if (value === false) {\n mq += 'not ' + feature;\n } else {\n mq += '(' + feature + ': ' + value + ')';\n }\n if (index < features.length-1) {\n mq += ' and '\n }\n });\n return mq;\n};\n\nvar json2mq = function (query) {\n var mq = '';\n if (typeof query === 'string') {\n return query;\n }\n // Handling array of media queries\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n if (index < query.length-1) {\n mq += ', '\n }\n });\n return mq;\n }\n // Handling single media query\n return obj2mq(query);\n};\n\nmodule.exports = json2mq;","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** 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/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\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 && (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 && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** 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/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\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 && (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 && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\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// 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\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\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// 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\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\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// 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\nmodule.exports = MapCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\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// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\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// 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\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\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\nmodule.exports = arrayFilter;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * 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\nmodule.exports = arrayLikeKeys;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\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\nmodule.exports = arrayPush;\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\nmodule.exports = arraySome;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var eq = require('./eq');\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\nmodule.exports = assocIndexOf;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\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 objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\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/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\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\nmodule.exports = baseGetAllKeys;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nmodule.exports = baseHas;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\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\nmodule.exports = baseIsArguments;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\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\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * 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\nmodule.exports = baseIsEqualDeep;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\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 for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\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 if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\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\nmodule.exports = baseIsNative;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\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/** 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/**\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\nmodule.exports = baseIsTypedArray;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * 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\nmodule.exports = baseKeys;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` 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 baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\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\nmodule.exports = baseTimes;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\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\nmodule.exports = baseUnary;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","var castPath = require('./_castPath'),\n last = require('./last'),\n parent = require('./_parent'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\nfunction baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n}\n\nmodule.exports = baseUnset;\n","var arrayMap = require('./_arrayMap');\n\n/**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\nfunction baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n}\n\nmodule.exports = baseValues;\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\nmodule.exports = cacheHas;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var root = require('./_root');\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/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\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 clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","var isPlainObject = require('./isPlainObject');\n\n/**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\nfunction customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n}\n\nmodule.exports = customOmitClone;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\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\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\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 * 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\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * 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\nmodule.exports = equalObjects;\n","var flatten = require('./flatten'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\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\nmodule.exports = getAllKeys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * 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 getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var isKeyable = require('./_isKeyable');\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\nmodule.exports = getMapData;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\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\nmodule.exports = getNative;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\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\nmodule.exports = getSymbols;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited 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 getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\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/**\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\nmodule.exports = getTag;\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\nmodule.exports = getValue;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","var nativeCreate = require('./_nativeCreate');\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\nmodule.exports = hashClear;\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\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * 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\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * 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\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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\nmodule.exports = hashSet;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\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 * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\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 var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\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\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\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 * 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\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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\nmodule.exports = isPrototype;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n}\n\nmodule.exports = iteratorToArray;\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\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\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\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\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\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\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\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\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\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\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\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\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\nmodule.exports = mapCacheSet;\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\nmodule.exports = mapToArray;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var freeGlobal = require('./_freeGlobal');\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 // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * 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\nmodule.exports = overArg;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var baseGet = require('./_baseGet'),\n baseSlice = require('./_baseSlice');\n\n/**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\nfunction parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n}\n\nmodule.exports = parent;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\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 safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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\nmodule.exports = setCacheAdd;\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\nmodule.exports = setCacheHas;\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\nmodule.exports = setToArray;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var ListCache = require('./_ListCache');\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\nmodule.exports = stackClear;\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\nmodule.exports = stackDelete;\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\nmodule.exports = stackGet;\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\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\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\nmodule.exports = stackSet;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\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\nmodule.exports = toSource;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\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\nmodule.exports = eq;\n","var baseFlatten = require('./_baseFlatten'),\n map = require('./map');\n\n/**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\nfunction flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n}\n\nmodule.exports = flatMap;\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","var baseHas = require('./_baseHas'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nmodule.exports = has;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\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\nmodule.exports = isArguments;\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\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\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\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an 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 an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\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/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\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\nmodule.exports = isBuffer;\n","var baseIsEqual = require('./_baseIsEqual');\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\nmodule.exports = isEqual;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\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\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\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\nmodule.exports = isLength;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\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 map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","/**\n * Checks if `value` is `null` or `undefined`.\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 nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\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 number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\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 infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\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 set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\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\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\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\nmodule.exports = keys;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\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 * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n isArray = require('./isArray');\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nmodule.exports = map;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var arrayMap = require('./_arrayMap'),\n baseClone = require('./_baseClone'),\n baseUnset = require('./_baseUnset'),\n castPath = require('./_castPath'),\n copyObject = require('./_copyObject'),\n customOmitClone = require('./_customOmitClone'),\n flatRest = require('./_flatRest'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n});\n\nmodule.exports = omit;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","var baseSet = require('./_baseSet');\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nmodule.exports = set;\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\nmodule.exports = stubArray;\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 = stubFalse;\n","var Symbol = require('./_Symbol'),\n copyArray = require('./_copyArray'),\n getTag = require('./_getTag'),\n isArrayLike = require('./isArrayLike'),\n isString = require('./isString'),\n iteratorToArray = require('./_iteratorToArray'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray'),\n stringToArray = require('./_stringToArray'),\n values = require('./values');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Built-in value references. */\nvar symIterator = Symbol ? Symbol.iterator : undefined;\n\n/**\n * Converts `value` to an array.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Array} Returns the converted array.\n * @example\n *\n * _.toArray({ 'a': 1, 'b': 2 });\n * // => [1, 2]\n *\n * _.toArray('abc');\n * // => ['a', 'b', 'c']\n *\n * _.toArray(1);\n * // => []\n *\n * _.toArray(null);\n * // => []\n */\nfunction toArray(value) {\n if (!value) {\n return [];\n }\n if (isArrayLike(value)) {\n return isString(value) ? stringToArray(value) : copyArray(value);\n }\n if (symIterator && value[symIterator]) {\n return iteratorToArray(value[symIterator]());\n }\n var tag = getTag(value),\n func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n return func(value);\n}\n\nmodule.exports = toArray;\n","var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n","var baseValues = require('./_baseValues'),\n keys = require('./keys');\n\n/**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\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 values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\nfunction values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n}\n\nmodule.exports = values;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.storeShape = undefined;\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar storeShape = exports.storeShape = _propTypes2.default.shape({\n subscribe: _propTypes2.default.func.isRequired,\n setState: _propTypes2.default.func.isRequired,\n getState: _propTypes2.default.func.isRequired\n});","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _PropTypes = require('./PropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n function Provider() {\n _classCallCheck(this, Provider);\n\n return _possibleConstructorReturn(this, (Provider.__proto__ || Object.getPrototypeOf(Provider)).apply(this, arguments));\n }\n\n _createClass(Provider, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return {\n miniStore: this.props.store\n };\n }\n }, {\n key: 'render',\n value: function render() {\n return _react.Children.only(this.props.children);\n }\n }]);\n\n return Provider;\n}(_react.Component);\n\nProvider.propTypes = {\n store: _PropTypes.storeShape.isRequired\n};\nProvider.childContextTypes = {\n miniStore: _PropTypes.storeShape.isRequired\n};\nexports.default = Provider;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = connect;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _shallowequal = require('shallowequal');\n\nvar _shallowequal2 = _interopRequireDefault(_shallowequal);\n\nvar _hoistNonReactStatics = require('hoist-non-react-statics');\n\nvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\nvar _reactLifecyclesCompat = require('react-lifecycles-compat');\n\nvar _PropTypes = require('./PropTypes');\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\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nfunction isStateless(Component) {\n return !Component.prototype.render;\n}\n\nvar defaultMapStateToProps = function defaultMapStateToProps() {\n return {};\n};\n\nfunction connect(mapStateToProps) {\n var shouldSubscribe = !!mapStateToProps;\n var finnalMapStateToProps = mapStateToProps || defaultMapStateToProps;\n\n return function wrapWithConnect(WrappedComponent) {\n var Connect = function (_Component) {\n _inherits(Connect, _Component);\n\n _createClass(Connect, null, [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, prevState) {\n // using ownProps\n if (mapStateToProps && mapStateToProps.length === 2 && props !== prevState.props) {\n return {\n subscribed: finnalMapStateToProps(prevState.store.getState(), props),\n props: props\n };\n }\n return { props: props };\n }\n }]);\n\n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, (Connect.__proto__ || Object.getPrototypeOf(Connect)).call(this, props, context));\n\n _this.handleChange = function () {\n if (!_this.unsubscribe) {\n return;\n }\n var nextState = finnalMapStateToProps(_this.store.getState(), _this.props);\n if (!(0, _shallowequal2.default)(_this.state.subscribed, nextState)) {\n _this.setState({ subscribed: nextState });\n }\n };\n\n _this.store = context.miniStore;\n _this.state = {\n subscribed: finnalMapStateToProps(_this.store.getState(), props),\n store: _this.store,\n props: props\n };\n return _this;\n }\n\n _createClass(Connect, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.trySubscribe();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.tryUnsubscribe();\n }\n }, {\n key: 'trySubscribe',\n value: function trySubscribe() {\n if (shouldSubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange);\n this.handleChange();\n }\n }\n }, {\n key: 'tryUnsubscribe',\n value: function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n }\n }, {\n key: 'getWrappedInstance',\n value: function getWrappedInstance() {\n return this.wrappedInstance;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var props = _extends({}, this.props, this.state.subscribed, {\n store: this.store\n });\n\n if (!isStateless(WrappedComponent)) {\n props = _extends({}, props, {\n ref: function ref(c) {\n return _this2.wrappedInstance = c;\n }\n });\n }\n\n return _react2.default.createElement(WrappedComponent, props);\n }\n }]);\n\n return Connect;\n }(_react.Component);\n\n Connect.displayName = 'Connect(' + getDisplayName(WrappedComponent) + ')';\n Connect.contextTypes = {\n miniStore: _PropTypes.storeShape.isRequired\n };\n\n\n (0, _reactLifecyclesCompat.polyfill)(Connect);\n\n return (0, _hoistNonReactStatics2.default)(Connect, WrappedComponent);\n };\n}","\"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.default = create;\nfunction create(initialState) {\n var state = initialState;\n var listeners = [];\n\n function setState(partial) {\n state = _extends({}, state, partial);\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n }\n\n function getState() {\n return state;\n }\n\n function subscribe(listener) {\n listeners.push(listener);\n\n return function unsubscribe() {\n var index = listeners.indexOf(listener);\n listeners.splice(index, 1);\n };\n }\n\n return {\n setState: setState,\n getState: getState,\n subscribe: subscribe\n };\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.create = exports.connect = exports.Provider = undefined;\n\nvar _Provider2 = require('./Provider');\n\nvar _Provider3 = _interopRequireDefault(_Provider2);\n\nvar _connect2 = require('./connect');\n\nvar _connect3 = _interopRequireDefault(_connect2);\n\nvar _create2 = require('./create');\n\nvar _create3 = _interopRequireDefault(_create2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.Provider = _Provider3.default;\nexports.connect = _connect3.default;\nexports.create = _create3.default;","// mutationobserver-shim v0.3.2 (github.com/megawac/MutationObserver.js)\n// Authors: Graeme Yeates (github.com/megawac) \nwindow.MutationObserver=window.MutationObserver||function(w){function v(a){this.i=[];this.m=a}function I(a){(function c(){var d=a.takeRecords();d.length&&a.m(d,a);a.h=setTimeout(c,v._period)})()}function p(a){var b={type:null,target:null,addedNodes:[],removedNodes:[],previousSibling:null,nextSibling:null,attributeName:null,attributeNamespace:null,oldValue:null},c;for(c in a)b[c]!==w&&a[c]!==w&&(b[c]=a[c]);return b}function J(a,b){var c=C(a,b);return function(d){var f=d.length,n;b.a&&3===a.nodeType&&\na.nodeValue!==c.a&&d.push(new p({type:\"characterData\",target:a,oldValue:c.a}));b.b&&c.b&&A(d,a,c.b,b.f);if(b.c||b.g)n=K(d,a,c,b);if(n||d.length!==f)c=C(a,b)}}function L(a,b){return b.value}function M(a,b){return\"style\"!==b.name?b.value:a.style.cssText}function A(a,b,c,d){for(var f={},n=b.attributes,k,g,x=n.length;x--;)k=n[x],g=k.name,d&&d[g]===w||(D(b,k)!==c[g]&&a.push(p({type:\"attributes\",target:b,attributeName:g,oldValue:c[g],attributeNamespace:k.namespaceURI})),f[g]=!0);for(g in c)f[g]||a.push(p({target:b,\ntype:\"attributes\",attributeName:g,oldValue:c[g]}))}function K(a,b,c,d){function f(b,c,f,k,y){var g=b.length-1;y=-~((g-y)/2);for(var h,l,e;e=b.pop();)h=f[e.j],l=k[e.l],d.c&&y&&Math.abs(e.j-e.l)>=g&&(a.push(p({type:\"childList\",target:c,addedNodes:[h],removedNodes:[h],nextSibling:h.nextSibling,previousSibling:h.previousSibling})),y--),d.b&&l.b&&A(a,h,l.b,d.f),d.a&&3===h.nodeType&&h.nodeValue!==l.a&&a.push(p({type:\"characterData\",target:h,oldValue:l.a})),d.g&&n(h,l)}function n(b,c){for(var g=b.childNodes,\nq=c.c,x=g.length,v=q?q.length:0,h,l,e,m,t,z=0,u=0,r=0;u<x||r<v;)m=g[u],t=(e=q[r])&&e.node,m===t?(d.b&&e.b&&A(a,m,e.b,d.f),d.a&&e.a!==w&&m.nodeValue!==e.a&&a.push(p({type:\"characterData\",target:m,oldValue:e.a})),l&&f(l,b,g,q,z),d.g&&(m.childNodes.length||e.c&&e.c.length)&&n(m,e),u++,r++):(k=!0,h||(h={},l=[]),m&&(h[e=E(m)]||(h[e]=!0,-1===(e=F(q,m,r,\"node\"))?d.c&&(a.push(p({type:\"childList\",target:b,addedNodes:[m],nextSibling:m.nextSibling,previousSibling:m.previousSibling})),z++):l.push({j:u,l:e})),\nu++),t&&t!==g[u]&&(h[e=E(t)]||(h[e]=!0,-1===(e=F(g,t,u))?d.c&&(a.push(p({type:\"childList\",target:c.node,removedNodes:[t],nextSibling:q[r+1],previousSibling:q[r-1]})),z--):l.push({j:e,l:r})),r++));l&&f(l,b,g,q,z)}var k;n(b,c);return k}function C(a,b){var c=!0;return function f(a){var k={node:a};!b.a||3!==a.nodeType&&8!==a.nodeType?(b.b&&c&&1===a.nodeType&&(k.b=G(a.attributes,function(c,f){if(!b.f||b.f[f.name])c[f.name]=D(a,f);return c})),c&&(b.c||b.a||b.b&&b.g)&&(k.c=N(a.childNodes,f)),c=b.g):k.a=\na.nodeValue;return k}(a)}function E(a){try{return a.id||(a.mo_id=a.mo_id||H++)}catch(b){try{return a.nodeValue}catch(c){return H++}}}function N(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=b(a[d],d,a);return c}function G(a,b){for(var c={},d=0;d<a.length;d++)c=b(c,a[d],d,a);return c}function F(a,b,c,d){for(;c<a.length;c++)if((d?a[c][d]:a[c])===b)return c;return-1}v._period=30;v.prototype={observe:function(a,b){for(var c={b:!!(b.attributes||b.attributeFilter||b.attributeOldValue),c:!!b.childList,g:!!b.subtree,\na:!(!b.characterData&&!b.characterDataOldValue)},d=this.i,f=0;f<d.length;f++)d[f].s===a&&d.splice(f,1);b.attributeFilter&&(c.f=G(b.attributeFilter,function(a,b){a[b]=!0;return a}));d.push({s:a,o:J(a,c)});this.h||I(this)},takeRecords:function(){for(var a=[],b=this.i,c=0;c<b.length;c++)b[c].o(a);return a},disconnect:function(){this.i=[];clearTimeout(this.h);this.h=null}};var B=document.createElement(\"i\");B.style.top=0;var D=(B=\"null\"!=B.attributes.style.value)?L:M,H=1;return v}(void 0);\n","/*\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","// Generated by CoffeeScript 1.12.2\n(function() {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\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() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\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//# sourceMappingURL=performance-now.js.map\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 * 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\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\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\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 (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, 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 if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\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 printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\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'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\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\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\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 = '<<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 elementType: createElementTypeTypeChecker(),\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 (process.env.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 var err = new Error(\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 err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.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 printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. 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 );\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(emptyFunctionThatReturnsNull);\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 createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\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 if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\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, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(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 (has(propValue, 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 process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\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 // falsy value can't be a Symbol\n if (!propValue) {\n return false;\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.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\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 (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\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 = require('./factoryWithTypeCheckers')(ReactIs.isElement, 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 = require('./factoryWithThrowingShims')();\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'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","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","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { Map } from 'immutable';\n\nvar ConfigStore = function () {\n function ConfigStore() {\n _classCallCheck(this, ConfigStore);\n\n this._store = Map();\n }\n\n ConfigStore.prototype.set = function set(key, value) {\n this._store = this._store.set(key, value);\n };\n\n ConfigStore.prototype.get = function get(key) {\n return this._store.get(key);\n };\n\n return ConfigStore;\n}();\n\nexport default ConfigStore;","import { BlockMapBuilder, genKey, CharacterMetadata, ContentBlock, convertFromHTML } from 'draft-js';\nimport toArray from 'lodash/toArray';\nimport { List, OrderedSet, Repeat, fromJS } from 'immutable';\nfunction compose() {\n for (var _len = arguments.length, argument = Array(_len), _key = 0; _key < _len; _key++) {\n argument[_key] = arguments[_key];\n }\n\n var args = arguments;\n var start = args.length - 1;\n return function () {\n var i = start;\n var result = args[start].apply(this, arguments);\n while (i--) {\n result = args[i].call(this, result);\n }return result;\n };\n}\n;\n/*\n * Helpers\n */\n// Prepares img meta data object based on img attributes\nvar getBlockSpecForElement = function getBlockSpecForElement(imgElement) {\n return {\n contentType: 'image',\n src: imgElement.getAttribute('src'),\n width: imgElement.getAttribute('width'),\n height: imgElement.getAttribute('height'),\n align: imgElement.style.cssFloat\n };\n};\n// Wraps meta data in HTML element which is 'understandable' by Draft, I used <blockquote />.\nvar wrapBlockSpec = function wrapBlockSpec(blockSpec) {\n if (blockSpec == null) {\n return null;\n }\n var tempEl = document.createElement('blockquote');\n // stringify meta data and insert it as text content of temp HTML element. We will later extract\n // and parse it.\n tempEl.innerText = JSON.stringify(blockSpec);\n return tempEl;\n};\n// Replaces <img> element with our temp element\nvar replaceElement = function replaceElement(oldEl, newEl) {\n if (!(newEl instanceof HTMLElement)) {\n return;\n }\n var parentNode = oldEl.parentNode;\n return parentNode.replaceChild(newEl, oldEl);\n};\nvar elementToBlockSpecElement = compose(wrapBlockSpec, getBlockSpecForElement);\nvar imgReplacer = function imgReplacer(imgElement) {\n return replaceElement(imgElement, elementToBlockSpecElement(imgElement));\n};\n// creates ContentBlock based on provided spec\nvar createContentBlock = function createContentBlock(blockData, contentState) {\n var key = blockData.key,\n type = blockData.type,\n text = blockData.text,\n data = blockData.data,\n inlineStyles = blockData.inlineStyles,\n entityData = blockData.entityData;\n\n var blockSpec = {\n type: type != null ? type : 'unstyled',\n text: text != null ? text : '',\n key: key != null ? key : genKey(),\n data: null,\n characterList: List([])\n };\n if (data) {\n blockSpec.data = fromJS(data);\n }\n if (inlineStyles || entityData) {\n var entityKey = void 0;\n if (entityData) {\n var _type = entityData.type,\n mutability = entityData.mutability,\n _data = entityData.data;\n\n contentState.createEntity(_type, mutability, _data);\n entityKey = contentState.getLastCreatedEntityKey();\n } else {\n entityKey = null;\n }\n var style = OrderedSet(inlineStyles || []);\n var charData = CharacterMetadata.create({ style: style, entityKey: entityKey });\n blockSpec.characterList = List(Repeat(charData, text.length));\n }\n return new ContentBlock(blockSpec);\n};\n// takes HTML string and returns DraftJS ContentState\nexport default function customHTML2Content(HTML, contentState) {\n var tempDoc = new DOMParser().parseFromString(HTML, 'text/html');\n // replace all <img /> with <blockquote /> elements\n toArray(tempDoc.querySelectorAll('img')).forEach(imgReplacer);\n // use DraftJS converter to do initial conversion. I don't provide DOMBuilder and\n // blockRenderMap arguments here since it should fall back to its default ones, which are fine\n\n var _convertFromHTML = convertFromHTML(tempDoc.body.innerHTML),\n contentBlocks = _convertFromHTML.contentBlocks;\n // now replace <blockquote /> ContentBlocks with 'atomic' ones\n\n\n contentBlocks = contentBlocks.reduce(function (contentBlocks, block) {\n if (block.getType() !== 'blockquote') {\n return contentBlocks.concat(block);\n }\n var image = JSON.parse(block.getText());\n contentState.createEntity('IMAGE-ENTITY', 'IMMUTABLE', image);\n var entityKey = contentState.getLastCreatedEntityKey();\n var charData = CharacterMetadata.create({ entity: entityKey });\n // const blockSpec = Object.assign({ type: 'atomic', text: ' ' }, { entityData })\n // const atomicBlock = createContentBlock(blockSpec)\n // const spacerBlock = createContentBlock({});\n var fragmentArray = [new ContentBlock({\n key: genKey(),\n type: 'image-block',\n text: ' ',\n characterList: List(Repeat(charData, charData.count()))\n }), new ContentBlock({\n key: genKey(),\n type: 'unstyled',\n text: '',\n characterList: List()\n })];\n return contentBlocks.concat(fragmentArray);\n }, []);\n // console.log('>> customHTML2Content contentBlocks', contentBlocks);\n tempDoc = null;\n return BlockMapBuilder.createFromArray(contentBlocks);\n}","export function encodeContent(text) {\n return text.split('&').join('&amp;').split('<').join('&lt;').split('>').join('&gt;').split('\\xA0').join('&nbsp;').split('\\n').join('<br />' + '\\n');\n}\nexport function decodeContent(text) {\n return text.split('<br />' + '\\n').join('\\n');\n}\nexport default function exportText(editorState) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { encode: false };\n\n var content = editorState.getCurrentContent();\n var blockMap = content.getBlockMap();\n var encode = options.encode;\n\n return blockMap.map(function (block) {\n var resultText = '';\n var lastPosition = 0;\n var text = block.getText();\n block.findEntityRanges(function (character) {\n return !!character.getEntity();\n }, function (start, end) {\n var key = block.getEntityAt(start);\n var entityData = content.getEntity(key).getData();\n resultText += text.slice(lastPosition, start);\n resultText += entityData && entityData['export'] ? entityData['export'](entityData) : text.slice(start, end);\n lastPosition = end;\n });\n resultText += text.slice(lastPosition);\n return encode ? encodeContent(resultText) : resultText;\n }).join(encode ? '<br />\\n' : '\\n');\n}","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; };\n\nimport { DefaultDraftInlineStyle } from \"draft-js\";\nimport { OrderedSet, is } from 'immutable';\nimport isUnitlessNumber from './isUnitlessNumber';\nexport var EMPTY_SET = OrderedSet();\nexport var DEFAULT_ELEMENT = 'span';\nexport var DEFAULT_INLINE_STYLE = DefaultDraftInlineStyle;\nfunction encodeContent(text) {\n return text.split('&').join('&amp;').split('<').join('&lt;').split('>').join('&gt;').split('\\xA0').join('&nbsp;').split('\\n').join('<br >' + '\\n');\n}\nfunction encodeAttr(text) {\n return text.split('&').join('&amp;').split('<').join('&lt;').split('>').join('&gt;').split('\"').join('&quot;');\n}\nvar VENDOR_PREFIX = /^(moz|ms|o|webkit)-/;\nvar NUMERIC_STRING = /^\\d+$/;\nvar UPPERCASE_PATTERN = /([A-Z])/g;\n// Lifted from: https://github.com/facebook/react/blob/master/src/renderers/dom/shared/CSSPropertyOperations.js\nfunction processStyleName(name) {\n return name.replace(UPPERCASE_PATTERN, '-$1').toLowerCase().replace(VENDOR_PREFIX, '-$1-');\n}\n// Lifted from: https://github.com/facebook/react/blob/master/src/renderers/dom/shared/dangerousStyleValue.js\nfunction processStyleValue(name, value) {\n var isNumeric = void 0;\n if (typeof value === 'string') {\n isNumeric = NUMERIC_STRING.test(value);\n } else {\n isNumeric = true;\n value = String(value);\n }\n if (!isNumeric || value === '0' || isUnitlessNumber[name] === true) {\n return value;\n } else {\n return value + 'px';\n }\n}\nfunction getStyleText(styleObject) {\n if (!styleObject) {\n return '';\n }\n return Object.keys(styleObject).map(function (name) {\n var styleName = processStyleName(name);\n var styleValue = processStyleValue(name, styleObject[name]);\n return styleName + ':' + styleValue;\n }).join(';');\n}\nfunction getEntityContent(contentState, entityKey, content) {\n if (entityKey) {\n var entity = contentState.getEntity(entityKey);\n var entityData = entity.getData();\n if (entityData && entityData['export']) {\n return entityData['export'](content, entityData);\n }\n }\n return content;\n}\nexport default function GetHTML(configStore) {\n return function exportHtml(editorState) {\n var contentState = editorState.getCurrentContent();\n var blockMap = contentState.getBlockMap();\n var customStyleMap = configStore.get('customStyleMap') || {};\n var customBlockRenderMap = configStore.get('blockRenderMap') || {};\n var customStyleFn = configStore.get('customStyleFn');\n var toHTMLList = configStore.get('toHTMLList');\n _extends(customStyleMap, DEFAULT_INLINE_STYLE);\n return blockMap.map(function (block) {\n var resultText = '<div>';\n var closeTag = '</div>';\n var lastPosition = 0;\n var text = block.getText();\n var blockType = block.getType();\n var blockRender = customBlockRenderMap.get(blockType);\n if (blockRender) {\n var element = typeof blockRender.element === 'function' ? blockRender.elementTag || 'div' : 'div';\n resultText = '<' + (element || 'div') + ' style=\"' + getStyleText(customBlockRenderMap.get(blockType).style || {}) + '\">';\n closeTag = '</' + (element || 'div') + '>';\n }\n var charMetaList = block.getCharacterList();\n var charEntity = null;\n var prevCharEntity = null;\n var ranges = [];\n var rangeStart = 0;\n for (var i = 0, len = text.length; i < len; i++) {\n prevCharEntity = charEntity;\n var meta = charMetaList.get(i);\n charEntity = meta ? meta.getEntity() : null;\n if (i > 0 && charEntity !== prevCharEntity) {\n ranges.push([prevCharEntity, getStyleRanges(text.slice(rangeStart, i), charMetaList.slice(rangeStart, i))]);\n rangeStart = i;\n }\n }\n ranges.push([charEntity, getStyleRanges(text.slice(rangeStart), charMetaList.slice(rangeStart))]);\n ranges.map(function (_ref) {\n var entityKey = _ref[0],\n stylePieces = _ref[1];\n\n var element = DEFAULT_ELEMENT;\n var rawContent = stylePieces.map(function (_ref2) {\n var text = _ref2[0];\n return text;\n }).join('');\n var content = stylePieces.map(function (_ref3) {\n var text = _ref3[0],\n styleSet = _ref3[1];\n\n var encodedContent = encodeContent(text);\n if (styleSet.size) {\n var inlineStyle = {};\n styleSet.forEach(function (item) {\n if (customStyleMap.hasOwnProperty(item)) {\n var currentStyle = customStyleMap[item];\n inlineStyle = _extends(inlineStyle, currentStyle);\n }\n });\n var customedStyle = customStyleFn(styleSet);\n inlineStyle = _extends(inlineStyle, customedStyle);\n return '<span style=\"' + getStyleText(inlineStyle) + '\">' + encodedContent + '</span>';\n }\n return '<span>' + encodedContent + '</span>';\n }).join('');\n if (entityKey) {\n var entity = contentState.getEntity(entityKey);\n var entityData = entity.getData();\n if (entityData && entityData['export']) {\n resultText += entityData['export'](content, entityData);\n } else {\n var HTMLText = '';\n toHTMLList.forEach(function (toHTML) {\n var text = toHTML(rawContent, entity, contentState);\n if (text) {\n HTMLText = text;\n }\n });\n if (HTMLText) {\n resultText += HTMLText;\n }\n }\n } else {\n resultText += content;\n }\n });\n resultText += closeTag;\n return resultText;\n }).join('\\n');\n };\n}\nfunction getStyleRanges(text, charMetaList) {\n var charStyle = EMPTY_SET;\n var prevCharStyle = EMPTY_SET;\n var ranges = [];\n var rangeStart = 0;\n for (var i = 0, len = text.length; i < len; i++) {\n prevCharStyle = charStyle;\n var meta = charMetaList.get(i);\n charStyle = meta ? meta.getStyle() : EMPTY_SET;\n if (i > 0 && !is(charStyle, prevCharStyle)) {\n ranges.push([text.slice(rangeStart, i), prevCharStyle]);\n rangeStart = i;\n }\n }\n ranges.push([text.slice(rangeStart), charStyle]);\n return ranges;\n}","var isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridColumn: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\nfunction prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n}\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O'];\nObject.keys(isUnitlessNumber).forEach(function (prop) {\n prefixes.forEach(function (prefix) {\n isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];\n });\n});\nexport default isUnitlessNumber;","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; };\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/* tslint:disable:member-ordering interface-name */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Editor, EditorState, ContentState, CompositeDecorator, Modifier, getDefaultKeyBinding, KeyBindingUtil, DefaultDraftBlockRenderMap } from 'draft-js';\nimport { List, Map } from 'immutable';\nimport 'setimmediate';\nimport classnames from 'classnames';\nimport { createToolbar } from '../Toolbar';\nimport ConfigStore from './ConfigStore';\nimport GetHTML from './export/getHTML';\nimport exportText, { decodeContent } from './export/exportText';\nimport customHTML2Content from './customHTML2Content';\nvar hasCommandModifier = KeyBindingUtil.hasCommandModifier;\n\nfunction noop() {}\n;\nvar defaultPluginConfig = {};\nvar focusDummyStyle = {\n width: 0,\n opacity: 0,\n border: 0,\n position: 'absolute',\n left: 0,\n top: 0\n};\nvar toolbar = createToolbar();\nvar configStore = new ConfigStore();\n\nvar EditorCore = function (_React$Component) {\n _inherits(EditorCore, _React$Component);\n\n function EditorCore(props) {\n _classCallCheck(this, EditorCore);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.cancelForceUpdateImmediate = function () {\n clearImmediate(_this.forceUpdateImmediate);\n _this.forceUpdateImmediate = null;\n };\n _this.handlePastedText = function (text, html) {\n var editorState = _this.state.editorState;\n\n if (html) {\n var contentState = editorState.getCurrentContent();\n var selection = editorState.getSelection();\n var fragment = customHTML2Content(html, contentState);\n var pastedContent = Modifier.replaceWithFragment(contentState, selection, fragment);\n var newContent = pastedContent.merge({\n selectionBefore: selection,\n selectionAfter: pastedContent.getSelectionAfter().set('hasFocus', true)\n });\n _this.setEditorState(EditorState.push(editorState, newContent, 'insert-fragment'), true);\n return 'handled';\n }\n return 'not-handled';\n };\n _this.plugins = List(List(props.plugins).flatten(true));\n var editorState = void 0;\n if (props.value !== undefined) {\n if (props.value instanceof EditorState) {\n editorState = props.value || EditorState.createEmpty();\n } else {\n editorState = EditorState.createEmpty();\n }\n } else {\n editorState = EditorState.createEmpty();\n }\n editorState = _this.generatorDefaultValue(editorState);\n _this.state = {\n plugins: _this.reloadPlugins(),\n editorState: editorState,\n customStyleMap: {},\n customBlockStyleMap: {},\n compositeDecorator: null\n };\n if (props.value !== undefined) {\n _this.controlledMode = true;\n }\n return _this;\n }\n\n EditorCore.ToEditorState = function ToEditorState(text) {\n var createEmptyContentState = ContentState.createFromText(decodeContent(text) || '');\n var editorState = EditorState.createWithContent(createEmptyContentState);\n return EditorState.forceSelection(editorState, createEmptyContentState.getSelectionAfter());\n };\n\n EditorCore.prototype.getDefaultValue = function getDefaultValue() {\n var _props = this.props,\n defaultValue = _props.defaultValue,\n value = _props.value;\n\n return value || defaultValue;\n };\n\n EditorCore.prototype.Reset = function Reset() {\n var defaultValue = this.getDefaultValue();\n var contentState = defaultValue ? defaultValue.getCurrentContent() : ContentState.createFromText('');\n var updatedEditorState = EditorState.push(this.state.editorState, contentState, 'remove-range');\n this.setEditorState(EditorState.forceSelection(updatedEditorState, contentState.getSelectionBefore()));\n };\n\n EditorCore.prototype.SetText = function SetText(text) {\n var createTextContentState = ContentState.createFromText(text || '');\n var editorState = EditorState.push(this.state.editorState, createTextContentState, 'change-block-data');\n this.setEditorState(EditorState.moveFocusToEnd(editorState), true);\n };\n\n EditorCore.prototype.getChildContext = function getChildContext() {\n return {\n getEditorState: this.getEditorState,\n setEditorState: this.setEditorState\n };\n };\n\n EditorCore.prototype.reloadPlugins = function reloadPlugins() {\n var _this2 = this;\n\n return this.plugins && this.plugins.size ? this.plugins.map(function (plugin) {\n // 如果插件有 callbacks 方法,则认为插件已经加载。\n if (plugin.callbacks) {\n return plugin;\n }\n // 如果插件有 constructor 方法,则构造插件\n if (plugin.hasOwnProperty('constructor')) {\n var pluginConfig = _extends(_this2.props.pluginConfig, plugin.config || {}, defaultPluginConfig);\n return plugin.constructor(pluginConfig);\n }\n // else 无效插件\n console.warn('>> 插件: [', plugin.name, '] 无效。插件或许已经过期。');\n return false;\n }).filter(function (plugin) {\n return plugin;\n }).toArray() : [];\n };\n\n EditorCore.prototype.componentWillMount = function componentWillMount() {\n var plugins = this.initPlugins().concat([toolbar]);\n var customStyleMap = {};\n var customBlockStyleMap = {};\n var customBlockRenderMap = Map(DefaultDraftBlockRenderMap);\n var toHTMLList = List([]);\n // initialize compositeDecorator\n var compositeDecorator = new CompositeDecorator(plugins.filter(function (plugin) {\n return plugin.decorators !== undefined;\n }).map(function (plugin) {\n return plugin.decorators;\n }).reduce(function (prev, curr) {\n return prev.concat(curr);\n }, []));\n // initialize Toolbar\n var toolbarPlugins = List(plugins.filter(function (plugin) {\n return !!plugin.component && plugin.name !== 'toolbar';\n }));\n // load inline styles...\n plugins.forEach(function (plugin) {\n var styleMap = plugin.styleMap,\n blockStyleMap = plugin.blockStyleMap,\n blockRenderMap = plugin.blockRenderMap,\n toHtml = plugin.toHtml;\n\n if (styleMap) {\n for (var key in styleMap) {\n if (styleMap.hasOwnProperty(key)) {\n customStyleMap[key] = styleMap[key];\n }\n }\n }\n if (blockStyleMap) {\n for (var _key in blockStyleMap) {\n if (blockStyleMap.hasOwnProperty(_key)) {\n customBlockStyleMap[_key] = blockStyleMap[_key];\n customBlockRenderMap = customBlockRenderMap.set(_key, {\n element: null\n });\n }\n }\n }\n if (toHtml) {\n toHTMLList = toHTMLList.push(toHtml);\n }\n if (blockRenderMap) {\n for (var _key2 in blockRenderMap) {\n if (blockRenderMap.hasOwnProperty(_key2)) {\n customBlockRenderMap = customBlockRenderMap.set(_key2, blockRenderMap[_key2]);\n }\n }\n }\n });\n configStore.set('customStyleMap', customStyleMap);\n configStore.set('customBlockStyleMap', customBlockStyleMap);\n configStore.set('blockRenderMap', customBlockRenderMap);\n configStore.set('customStyleFn', this.customStyleFn.bind(this));\n configStore.set('toHTMLList', toHTMLList);\n this.setState({\n toolbarPlugins: toolbarPlugins,\n compositeDecorator: compositeDecorator\n });\n this.setEditorState(EditorState.set(this.state.editorState, { decorator: compositeDecorator }), false, false);\n };\n\n EditorCore.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.forceUpdateImmediate) {\n this.cancelForceUpdateImmediate();\n }\n if (this.controlledMode) {\n var decorators = nextProps.value.getDecorator();\n var editorState = decorators ? nextProps.value : EditorState.set(nextProps.value, { decorator: this.state.compositeDecorator });\n this.setState({\n editorState: editorState\n });\n }\n };\n\n EditorCore.prototype.componentWillUnmount = function componentWillUnmount() {\n this.cancelForceUpdateImmediate();\n };\n // 处理 value\n\n\n EditorCore.prototype.generatorDefaultValue = function generatorDefaultValue(editorState) {\n var defaultValue = this.getDefaultValue();\n if (defaultValue) {\n return defaultValue;\n }\n return editorState;\n };\n\n EditorCore.prototype.getStyleMap = function getStyleMap() {\n return configStore.get('customStyleMap');\n };\n\n EditorCore.prototype.setStyleMap = function setStyleMap(customStyleMap) {\n configStore.set('customStyleMap', customStyleMap);\n this.render();\n };\n\n EditorCore.prototype.initPlugins = function initPlugins() {\n var _this3 = this;\n\n var enableCallbacks = ['focus', 'getEditorState', 'setEditorState', 'getStyleMap', 'setStyleMap'];\n return this.getPlugins().map(function (plugin) {\n enableCallbacks.forEach(function (callbackName) {\n if (plugin.callbacks.hasOwnProperty(callbackName)) {\n plugin.callbacks[callbackName] = _this3[callbackName].bind(_this3);\n }\n });\n return plugin;\n });\n };\n\n EditorCore.prototype.focusEditor = function focusEditor(ev) {\n this.refs.editor.focus(ev);\n if (this.props.readOnly) {\n this._focusDummy.focus();\n }\n if (this.props.onFocus) {\n this.props.onFocus(ev);\n }\n };\n\n EditorCore.prototype._focus = function _focus(ev) {\n if (!ev || !ev.nativeEvent || !ev.nativeEvent.target) {\n return;\n }\n if (document.activeElement && document.activeElement.getAttribute('contenteditable') === 'true') {\n return;\n }\n return this.focus(ev);\n };\n\n EditorCore.prototype.focus = function focus(ev) {\n var _this4 = this;\n\n var event = ev && ev.nativeEvent;\n if (event && event.target === this._editorWrapper) {\n var editorState = this.state.editorState;\n\n var selection = editorState.getSelection();\n if (!selection.getHasFocus()) {\n if (selection.isCollapsed()) {\n return this.setState({\n editorState: EditorState.moveSelectionToEnd(editorState)\n }, function () {\n _this4.focusEditor(ev);\n });\n }\n }\n }\n this.focusEditor(ev);\n };\n\n EditorCore.prototype.getPlugins = function getPlugins() {\n return this.state.plugins.slice();\n };\n\n EditorCore.prototype.getEventHandler = function getEventHandler() {\n var _this5 = this;\n\n var enabledEvents = ['onUpArrow', 'onDownArrow', 'handleReturn', 'onFocus', 'onBlur', 'onTab', 'handlePastedText'];\n var eventHandler = {};\n enabledEvents.forEach(function (event) {\n eventHandler[event] = _this5.generatorEventHandler(event);\n });\n return eventHandler;\n };\n\n EditorCore.prototype.getEditorState = function getEditorState() {\n var needFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (needFocus) {\n this.refs.editor.focus();\n }\n return this.state.editorState;\n };\n\n EditorCore.prototype.setEditorState = function setEditorState(editorState) {\n var _this6 = this;\n\n var focusEditor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var triggerChange = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var newEditorState = editorState;\n this.getPlugins().forEach(function (plugin) {\n if (plugin.onChange) {\n var updatedEditorState = plugin.onChange(newEditorState);\n if (updatedEditorState) {\n newEditorState = updatedEditorState;\n }\n }\n });\n if (this.props.onChange && triggerChange) {\n this.props.onChange(newEditorState);\n // close this issue https://github.com/ant-design/ant-design/issues/5788\n // when onChange not take any effect\n // `<Editor />` won't rerender cause no props is changed.\n // add an timeout here,\n // if props.onChange not trigger componentWillReceiveProps,\n // we will force render Editor with previous editorState,\n if (this.controlledMode) {\n this.forceUpdateImmediate = setImmediate(function () {\n return _this6.setState({\n editorState: new EditorState(_this6.state.editorState.getImmutable())\n });\n });\n }\n }\n if (!this.controlledMode) {\n this.setState({ editorState: newEditorState }, focusEditor ? function () {\n return setImmediate(function () {\n return _this6.refs.editor.focus();\n });\n } : noop);\n }\n };\n\n EditorCore.prototype.handleKeyBinding = function handleKeyBinding(ev) {\n if (this.props.onKeyDown) {\n ev.ctrlKey = hasCommandModifier(ev);\n var keyDownResult = this.props.onKeyDown(ev);\n if (keyDownResult) {\n return keyDownResult;\n }\n return getDefaultKeyBinding(ev);\n }\n return getDefaultKeyBinding(ev);\n };\n\n EditorCore.prototype.handleKeyCommand = function handleKeyCommand(command) {\n if (this.props.multiLines) {\n return this.eventHandle('handleKeyBinding', command);\n }\n return command === 'split-block' ? 'handled' : 'not-handled';\n };\n\n EditorCore.prototype.getBlockStyle = function getBlockStyle(contentBlock) {\n var customBlockStyleMap = configStore.get('customBlockStyleMap');\n var type = contentBlock.getType();\n if (customBlockStyleMap.hasOwnProperty(type)) {\n return customBlockStyleMap[type];\n }\n return '';\n };\n\n EditorCore.prototype.blockRendererFn = function blockRendererFn(contentBlock) {\n var blockRenderResult = null;\n this.getPlugins().forEach(function (plugin) {\n if (plugin.blockRendererFn) {\n var result = plugin.blockRendererFn(contentBlock);\n if (result) {\n blockRenderResult = result;\n }\n }\n });\n return blockRenderResult;\n };\n\n EditorCore.prototype.eventHandle = function eventHandle(eventName) {\n var _props2;\n\n var plugins = this.getPlugins();\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key3 = 1; _key3 < _len; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n for (var i = 0; i < plugins.length; i++) {\n var plugin = plugins[i];\n if (plugin.callbacks[eventName] && typeof plugin.callbacks[eventName] === 'function') {\n var _plugin$callbacks;\n\n var result = (_plugin$callbacks = plugin.callbacks)[eventName].apply(_plugin$callbacks, args);\n if (result === true) {\n return 'handled';\n }\n }\n }\n return this.props.hasOwnProperty(eventName) && (_props2 = this.props)[eventName].apply(_props2, args) === true ? 'handled' : 'not-handled';\n };\n\n EditorCore.prototype.generatorEventHandler = function generatorEventHandler(eventName) {\n var _this7 = this;\n\n return function () {\n for (var _len2 = arguments.length, args = Array(_len2), _key4 = 0; _key4 < _len2; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _this7.eventHandle.apply(_this7, [eventName].concat(args));\n };\n };\n\n EditorCore.prototype.customStyleFn = function customStyleFn(styleSet) {\n if (styleSet.size === 0) {\n return {};\n }\n var plugins = this.getPlugins();\n var resultStyle = {};\n for (var i = 0; i < plugins.length; i++) {\n if (plugins[i].customStyleFn) {\n var styled = plugins[i].customStyleFn(styleSet);\n if (styled) {\n _extends(resultStyle, styled);\n }\n }\n }\n return resultStyle;\n };\n\n EditorCore.prototype.render = function render() {\n var _classnames,\n _this8 = this;\n\n var _props3 = this.props,\n prefixCls = _props3.prefixCls,\n toolbars = _props3.toolbars,\n style = _props3.style,\n readOnly = _props3.readOnly,\n multiLines = _props3.multiLines;\n var _state = this.state,\n editorState = _state.editorState,\n toolbarPlugins = _state.toolbarPlugins;\n\n var customStyleMap = configStore.get('customStyleMap');\n var blockRenderMap = configStore.get('blockRenderMap');\n var eventHandler = this.getEventHandler();\n var Toolbar = toolbar.component;\n var cls = classnames((_classnames = {}, _classnames[prefixCls + '-editor'] = true, _classnames.readonly = readOnly, _classnames.oneline = !multiLines, _classnames));\n return React.createElement(\n 'div',\n { style: style, className: cls, onClick: this._focus.bind(this) },\n React.createElement(Toolbar, { editorState: editorState, prefixCls: prefixCls, className: prefixCls + '-toolbar', plugins: toolbarPlugins, toolbars: toolbars }),\n React.createElement(\n 'div',\n { className: prefixCls + '-editor-wrapper', ref: function ref(ele) {\n return _this8._editorWrapper = ele;\n }, style: style, onClick: function onClick(ev) {\n return ev.preventDefault();\n } },\n React.createElement(Editor, _extends({}, this.props, eventHandler, { ref: 'editor', customStyleMap: customStyleMap, customStyleFn: this.customStyleFn.bind(this), editorState: editorState, handleKeyCommand: this.handleKeyCommand.bind(this), keyBindingFn: this.handleKeyBinding.bind(this), onChange: this.setEditorState.bind(this), blockStyleFn: this.getBlockStyle.bind(this), blockRenderMap: blockRenderMap, handlePastedText: this.handlePastedText, blockRendererFn: this.blockRendererFn.bind(this) })),\n readOnly ? React.createElement('input', { style: focusDummyStyle, ref: function ref(ele) {\n return _this8._focusDummy = ele;\n }, onBlur: eventHandler.onBlur }) : null,\n this.props.children\n )\n );\n };\n\n return EditorCore;\n}(React.Component);\n\nEditorCore.GetText = exportText;\nEditorCore.GetHTML = GetHTML(configStore);\nEditorCore.defaultProps = {\n multiLines: true,\n plugins: [],\n prefixCls: 'rc-editor-core',\n pluginConfig: {},\n toolbars: [],\n spilitLine: 'enter'\n};\nEditorCore.childContextTypes = {\n getEditorState: PropTypes.func,\n setEditorState: PropTypes.func\n};\nexport default EditorCore;","function _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/* tslint:disable:interface-name */\nimport React from 'react';\nimport { Map } from 'immutable';\nimport ToolbarLine from './ToolbarLine';\nfunction noop() {}\n\nvar Toolbar = function (_React$Component) {\n _inherits(Toolbar, _React$Component);\n\n function Toolbar(props) {\n _classCallCheck(this, Toolbar);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n var map = {};\n props.plugins.forEach(function (plugin) {\n map[plugin.name] = plugin;\n });\n _this.pluginsMap = Map(map);\n _this.state = {\n editorState: props.editorState,\n toolbars: []\n };\n return _this;\n }\n\n Toolbar.prototype.renderToolbarItem = function renderToolbarItem(pluginName, idx) {\n var element = this.pluginsMap.get(pluginName);\n if (element && element.component) {\n var component = element.component;\n\n var props = {\n key: 'toolbar-item-' + idx,\n onClick: component.props ? component.props.onClick : noop\n };\n if (React.isValidElement(component)) {\n return React.cloneElement(component, props);\n }\n return React.createElement(component, props);\n }\n return null;\n };\n\n Toolbar.prototype.conpomentWillReceiveProps = function conpomentWillReceiveProps(nextProps) {\n this.render();\n };\n\n Toolbar.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n toolbars = _props.toolbars,\n prefixCls = _props.prefixCls;\n\n return React.createElement(\n 'div',\n { className: prefixCls + '-toolbar' },\n toolbars.map(function (toolbar, idx) {\n var children = React.Children.map(toolbar, _this2.renderToolbarItem.bind(_this2));\n return React.createElement(\n ToolbarLine,\n { key: 'toolbar-' + idx },\n children\n );\n })\n );\n };\n\n return Toolbar;\n}(React.Component);\n\nexport default Toolbar;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from 'react';\n\nvar ToolbarLine = function (_React$Component) {\n _inherits(ToolbarLine, _React$Component);\n\n function ToolbarLine() {\n _classCallCheck(this, ToolbarLine);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n ToolbarLine.prototype.render = function render() {\n return React.createElement(\n 'div',\n null,\n this.props.children\n );\n };\n\n return ToolbarLine;\n}(React.Component);\n\nexport default ToolbarLine;","import Toolbar from './Toolbar';\nfunction noop(_) {}\n;\nexport function createToolbar() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n function editorStateChange(editorState) {\n // console.log('>> editorStateChange', editorState);\n }\n var callbacks = {\n onChange: editorStateChange,\n onUpArrow: noop,\n onDownArrow: noop,\n getEditorState: noop,\n setEditorState: noop,\n handleReturn: noop\n };\n return {\n name: 'toolbar',\n decorators: [],\n callbacks: callbacks,\n onChange: function onChange(editorState) {\n return callbacks.onChange ? callbacks.onChange(editorState) : editorState;\n },\n\n component: Toolbar\n };\n}","import EditorCore from './EditorCore';\nvar GetText = EditorCore.GetText,\n GetHTML = EditorCore.GetHTML;\n\nvar toEditorState = EditorCore.ToEditorState;\nvar EditorCorePublic = {\n EditorCore: EditorCore,\n GetText: GetText,\n GetHTML: GetHTML,\n toEditorState: toEditorState\n};\nexport { EditorCore, GetText, GetHTML, toEditorState };\nexport default EditorCorePublic;","/** @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","'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","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _eventlistener = require('eventlistener');\n\nvar _lodash = require('lodash.debounce');\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _lodash3 = require('lodash.throttle');\n\nvar _lodash4 = _interopRequireDefault(_lodash3);\n\nvar _parentScroll = require('./utils/parentScroll');\n\nvar _parentScroll2 = _interopRequireDefault(_parentScroll);\n\nvar _inViewport = require('./utils/inViewport');\n\nvar _inViewport2 = _interopRequireDefault(_inViewport);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar LazyLoad = function (_Component) {\n _inherits(LazyLoad, _Component);\n\n function LazyLoad(props) {\n _classCallCheck(this, LazyLoad);\n\n var _this = _possibleConstructorReturn(this, (LazyLoad.__proto__ || Object.getPrototypeOf(LazyLoad)).call(this, props));\n\n _this.lazyLoadHandler = _this.lazyLoadHandler.bind(_this);\n\n if (props.throttle > 0) {\n if (props.debounce) {\n _this.lazyLoadHandler = (0, _lodash2.default)(_this.lazyLoadHandler, props.throttle);\n } else {\n _this.lazyLoadHandler = (0, _lodash4.default)(_this.lazyLoadHandler, props.throttle);\n }\n }\n\n _this.state = { visible: false };\n return _this;\n }\n\n _createClass(LazyLoad, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this._mounted = true;\n var eventNode = this.getEventNode();\n\n this.lazyLoadHandler();\n\n if (this.lazyLoadHandler.flush) {\n this.lazyLoadHandler.flush();\n }\n\n (0, _eventlistener.add)(window, 'resize', this.lazyLoadHandler);\n (0, _eventlistener.add)(eventNode, 'scroll', this.lazyLoadHandler);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps() {\n if (!this.state.visible) {\n this.lazyLoadHandler();\n }\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(_nextProps, nextState) {\n return nextState.visible;\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this._mounted = false;\n if (this.lazyLoadHandler.cancel) {\n this.lazyLoadHandler.cancel();\n }\n\n this.detachListeners();\n }\n }, {\n key: 'getEventNode',\n value: function getEventNode() {\n return (0, _parentScroll2.default)((0, _reactDom.findDOMNode)(this));\n }\n }, {\n key: 'getOffset',\n value: function getOffset() {\n var _props = this.props,\n offset = _props.offset,\n offsetVertical = _props.offsetVertical,\n offsetHorizontal = _props.offsetHorizontal,\n offsetTop = _props.offsetTop,\n offsetBottom = _props.offsetBottom,\n offsetLeft = _props.offsetLeft,\n offsetRight = _props.offsetRight,\n threshold = _props.threshold;\n\n\n var _offsetAll = threshold || offset;\n var _offsetVertical = offsetVertical || _offsetAll;\n var _offsetHorizontal = offsetHorizontal || _offsetAll;\n\n return {\n top: offsetTop || _offsetVertical,\n bottom: offsetBottom || _offsetVertical,\n left: offsetLeft || _offsetHorizontal,\n right: offsetRight || _offsetHorizontal\n };\n }\n }, {\n key: 'lazyLoadHandler',\n value: function lazyLoadHandler() {\n if (!this._mounted) {\n return;\n }\n var offset = this.getOffset();\n var node = (0, _reactDom.findDOMNode)(this);\n var eventNode = this.getEventNode();\n\n if ((0, _inViewport2.default)(node, eventNode, offset)) {\n var onContentVisible = this.props.onContentVisible;\n\n\n this.setState({ visible: true }, function () {\n if (onContentVisible) {\n onContentVisible();\n }\n });\n this.detachListeners();\n }\n }\n }, {\n key: 'detachListeners',\n value: function detachListeners() {\n var eventNode = this.getEventNode();\n\n (0, _eventlistener.remove)(window, 'resize', this.lazyLoadHandler);\n (0, _eventlistener.remove)(eventNode, 'scroll', this.lazyLoadHandler);\n }\n }, {\n key: 'render',\n value: function render() {\n var _props2 = this.props,\n children = _props2.children,\n className = _props2.className,\n height = _props2.height,\n width = _props2.width;\n var visible = this.state.visible;\n\n\n var elStyles = { height: height, width: width };\n var elClasses = 'LazyLoad' + (visible ? ' is-visible' : '') + (className ? ' ' + className : '');\n\n return _react2.default.createElement(this.props.elementType, {\n className: elClasses,\n style: elStyles\n }, visible && _react.Children.only(children));\n }\n }]);\n\n return LazyLoad;\n}(_react.Component);\n\nexports.default = LazyLoad;\n\n\nLazyLoad.propTypes = {\n children: _propTypes2.default.node.isRequired,\n className: _propTypes2.default.string,\n debounce: _propTypes2.default.bool,\n elementType: _propTypes2.default.string,\n height: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n offset: _propTypes2.default.number,\n offsetBottom: _propTypes2.default.number,\n offsetHorizontal: _propTypes2.default.number,\n offsetLeft: _propTypes2.default.number,\n offsetRight: _propTypes2.default.number,\n offsetTop: _propTypes2.default.number,\n offsetVertical: _propTypes2.default.number,\n threshold: _propTypes2.default.number,\n throttle: _propTypes2.default.number,\n width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n onContentVisible: _propTypes2.default.func\n};\n\nLazyLoad.defaultProps = {\n elementType: 'div',\n debounce: true,\n offset: 0,\n offsetBottom: 0,\n offsetHorizontal: 0,\n offsetLeft: 0,\n offsetRight: 0,\n offsetTop: 0,\n offsetVertical: 0,\n throttle: 250\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getElementPosition;\n/*\n* Finds element's position relative to the whole document,\n* rather than to the viewport as it is the case with .getBoundingClientRect().\n*/\nfunction getElementPosition(element) {\n var rect = element.getBoundingClientRect();\n\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset\n };\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = inViewport;\n\nvar _getElementPosition = require('./getElementPosition');\n\nvar _getElementPosition2 = _interopRequireDefault(_getElementPosition);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isHidden = function isHidden(element) {\n return element.offsetParent === null;\n};\n\nfunction inViewport(element, container, customOffset) {\n if (isHidden(element)) {\n return false;\n }\n\n var top = void 0;\n var bottom = void 0;\n var left = void 0;\n var right = void 0;\n\n if (typeof container === 'undefined' || container === window) {\n top = window.pageYOffset;\n left = window.pageXOffset;\n bottom = top + window.innerHeight;\n right = left + window.innerWidth;\n } else {\n var containerPosition = (0, _getElementPosition2.default)(container);\n\n top = containerPosition.top;\n left = containerPosition.left;\n bottom = top + container.offsetHeight;\n right = left + container.offsetWidth;\n }\n\n var elementPosition = (0, _getElementPosition2.default)(element);\n\n return top <= elementPosition.top + element.offsetHeight + customOffset.top && bottom >= elementPosition.top - customOffset.bottom && left <= elementPosition.left + element.offsetWidth + customOffset.left && right >= elementPosition.left - customOffset.right;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar style = function style(element, prop) {\n return typeof getComputedStyle !== 'undefined' ? getComputedStyle(element, null).getPropertyValue(prop) : element.style[prop];\n};\n\nvar overflow = function overflow(element) {\n return style(element, 'overflow') + style(element, 'overflow-y') + style(element, 'overflow-x');\n};\n\nvar scrollParent = function scrollParent(element) {\n if (!(element instanceof HTMLElement)) {\n return window;\n }\n\n var parent = element;\n\n while (parent) {\n if (parent === document.body || parent === document.documentElement) {\n break;\n }\n\n if (!parent.parentNode) {\n break;\n }\n\n if (/(scroll|auto)/.test(overflow(parent))) {\n return parent;\n }\n\n parent = parent.parentNode;\n }\n\n return window;\n};\n\nexports.default = scrollParent;","/**\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\nexport { polyfill };\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NextArrow = exports.PrevArrow = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; 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)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar PrevArrow =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(PrevArrow, _React$PureComponent);\n\n function PrevArrow() {\n _classCallCheck(this, PrevArrow);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(PrevArrow).apply(this, arguments));\n }\n\n _createClass(PrevArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var prevClasses = {\n \"slick-arrow\": true,\n \"slick-prev\": true\n };\n var prevHandler = this.clickHandler.bind(this, {\n message: \"previous\"\n });\n\n if (!this.props.infinite && (this.props.currentSlide === 0 || this.props.slideCount <= this.props.slidesToShow)) {\n prevClasses[\"slick-disabled\"] = true;\n prevHandler = null;\n }\n\n var prevArrowProps = {\n key: \"0\",\n \"data-role\": \"none\",\n className: (0, _classnames[\"default\"])(prevClasses),\n style: {\n display: \"block\"\n },\n onClick: prevHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var prevArrow;\n\n if (this.props.prevArrow) {\n prevArrow = _react[\"default\"].cloneElement(this.props.prevArrow, _objectSpread({}, prevArrowProps, {}, customProps));\n } else {\n prevArrow = _react[\"default\"].createElement(\"button\", _extends({\n key: \"0\",\n type: \"button\"\n }, prevArrowProps), \" \", \"Previous\");\n }\n\n return prevArrow;\n }\n }]);\n\n return PrevArrow;\n}(_react[\"default\"].PureComponent);\n\nexports.PrevArrow = PrevArrow;\n\nvar NextArrow =\n/*#__PURE__*/\nfunction (_React$PureComponent2) {\n _inherits(NextArrow, _React$PureComponent2);\n\n function NextArrow() {\n _classCallCheck(this, NextArrow);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(NextArrow).apply(this, arguments));\n }\n\n _createClass(NextArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var nextClasses = {\n \"slick-arrow\": true,\n \"slick-next\": true\n };\n var nextHandler = this.clickHandler.bind(this, {\n message: \"next\"\n });\n\n if (!(0, _innerSliderUtils.canGoNext)(this.props)) {\n nextClasses[\"slick-disabled\"] = true;\n nextHandler = null;\n }\n\n var nextArrowProps = {\n key: \"1\",\n \"data-role\": \"none\",\n className: (0, _classnames[\"default\"])(nextClasses),\n style: {\n display: \"block\"\n },\n onClick: nextHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var nextArrow;\n\n if (this.props.nextArrow) {\n nextArrow = _react[\"default\"].cloneElement(this.props.nextArrow, _objectSpread({}, nextArrowProps, {}, customProps));\n } else {\n nextArrow = _react[\"default\"].createElement(\"button\", _extends({\n key: \"1\",\n type: \"button\"\n }, nextArrowProps), \" \", \"Next\");\n }\n\n return nextArrow;\n }\n }]);\n\n return NextArrow;\n}(_react[\"default\"].PureComponent);\n\nexports.NextArrow = NextArrow;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar defaultProps = {\n accessibility: true,\n adaptiveHeight: false,\n afterChange: null,\n appendDots: function appendDots(dots) {\n return _react[\"default\"].createElement(\"ul\", {\n style: {\n display: \"block\"\n }\n }, dots);\n },\n arrows: true,\n autoplay: false,\n autoplaySpeed: 3000,\n beforeChange: null,\n centerMode: false,\n centerPadding: \"50px\",\n className: \"\",\n cssEase: \"ease\",\n customPaging: function customPaging(i) {\n return _react[\"default\"].createElement(\"button\", null, i + 1);\n },\n dots: false,\n dotsClass: \"slick-dots\",\n draggable: true,\n easing: \"linear\",\n edgeFriction: 0.35,\n fade: false,\n focusOnSelect: false,\n infinite: true,\n initialSlide: 0,\n lazyLoad: null,\n nextArrow: null,\n onEdge: null,\n onInit: null,\n onLazyLoadError: null,\n onReInit: null,\n pauseOnDotsHover: false,\n pauseOnFocus: false,\n pauseOnHover: true,\n prevArrow: null,\n responsive: null,\n rows: 1,\n rtl: false,\n slide: \"div\",\n slidesPerRow: 1,\n slidesToScroll: 1,\n slidesToShow: 1,\n speed: 500,\n swipe: true,\n swipeEvent: null,\n swipeToSlide: false,\n touchMove: true,\n touchThreshold: 5,\n useCSS: true,\n useTransform: true,\n variableWidth: false,\n vertical: false,\n waitForAnimate: true\n};\nvar _default = defaultProps;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Dots = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; 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)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar getDotCount = function getDotCount(spec) {\n var dots;\n\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots = Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) + 1;\n }\n\n return dots;\n};\n\nvar Dots =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(Dots, _React$PureComponent);\n\n function Dots() {\n _classCallCheck(this, Dots);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Dots).apply(this, arguments));\n }\n\n _createClass(Dots, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n // In Autoplay the focus stays on clicked button even after transition\n // to next slide. That only goes away by click somewhere outside\n e.preventDefault();\n this.props.clickHandler(options);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n\n var dotCount = getDotCount({\n slideCount: this.props.slideCount,\n slidesToScroll: this.props.slidesToScroll,\n slidesToShow: this.props.slidesToShow,\n infinite: this.props.infinite\n }); // Apply join & split to Array to pre-fill it for IE8\n //\n // Credit: http://stackoverflow.com/a/13735425/1849458\n\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave;\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n var dots = Array.apply(null, Array(dotCount + 1).join(\"0\").split(\"\")).map(function (x, i) {\n var leftBound = i * _this.props.slidesToScroll;\n var rightBound = i * _this.props.slidesToScroll + (_this.props.slidesToScroll - 1);\n var className = (0, _classnames[\"default\"])({\n \"slick-active\": _this.props.currentSlide >= leftBound && _this.props.currentSlide <= rightBound\n });\n var dotOptions = {\n message: \"dots\",\n index: i,\n slidesToScroll: _this.props.slidesToScroll,\n currentSlide: _this.props.currentSlide\n };\n\n var onClick = _this.clickHandler.bind(_this, dotOptions);\n\n return _react[\"default\"].createElement(\"li\", {\n key: i,\n className: className\n }, _react[\"default\"].cloneElement(_this.props.customPaging(i), {\n onClick: onClick\n }));\n });\n return _react[\"default\"].cloneElement(this.props.appendDots(dots), _objectSpread({\n className: this.props.dotsClass\n }, mouseEvents));\n }\n }]);\n\n return Dots;\n}(_react[\"default\"].PureComponent);\n\nexports.Dots = Dots;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _slider = _interopRequireDefault(require(\"./slider\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _default = _slider[\"default\"];\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar initialState = {\n animating: false,\n autoplaying: null,\n currentDirection: 0,\n currentLeft: null,\n currentSlide: 0,\n direction: 1,\n dragging: false,\n edgeDragged: false,\n initialized: false,\n lazyLoadedList: [],\n listHeight: null,\n listWidth: null,\n scrolling: false,\n slideCount: null,\n slideHeight: null,\n slideWidth: null,\n swipeLeft: null,\n swiped: false,\n // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: {\n startX: 0,\n startY: 0,\n curX: 0,\n curY: 0\n },\n trackStyle: {},\n trackWidth: 0\n};\nvar _default = initialState;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InnerSlider = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _initialState = _interopRequireDefault(require(\"./initial-state\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.debounce\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nvar _track = require(\"./track\");\n\nvar _dots = require(\"./dots\");\n\nvar _arrows = require(\"./arrows\");\n\nvar _resizeObserverPolyfill = _interopRequireDefault(require(\"resize-observer-polyfill\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\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 _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; 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)); }); } } 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 (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar InnerSlider =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(InnerSlider, _React$Component);\n\n function InnerSlider(props) {\n var _this;\n\n _classCallCheck(this, InnerSlider);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InnerSlider).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), \"listRefHandler\", function (ref) {\n return _this.list = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"trackRefHandler\", function (ref) {\n return _this.track = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"adaptHeight\", function () {\n if (_this.props.adaptiveHeight && _this.list) {\n var elem = _this.list.querySelector(\"[data-index=\\\"\".concat(_this.state.currentSlide, \"\\\"]\"));\n\n _this.list.style.height = (0, _innerSliderUtils.getHeight)(elem) + \"px\";\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"UNSAFE_componentWillMount\", function () {\n _this.ssrInit();\n\n _this.props.onInit && _this.props.onInit();\n\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread({}, _this.props, {}, _this.state));\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props);\n\n _this.updateState(spec, true, function () {\n _this.adaptHeight();\n\n _this.props.autoplay && _this.autoPlay(\"update\");\n });\n\n if (_this.props.lazyLoad === \"progressive\") {\n _this.lazyLoadTimer = setInterval(_this.progressiveLazyLoad, 1000);\n }\n\n _this.ro = new _resizeObserverPolyfill[\"default\"](function () {\n if (_this.state.animating) {\n _this.onWindowResized(false); // don't set trackStyle hence don't break animation\n\n\n _this.callbackTimers.push(setTimeout(function () {\n return _this.onWindowResized();\n }, _this.props.speed));\n } else {\n _this.onWindowResized();\n }\n });\n\n _this.ro.observe(_this.list);\n\n Array.prototype.forEach.call(document.querySelectorAll(\".slick-slide\"), function (slide) {\n slide.onfocus = _this.props.pauseOnFocus ? _this.onSlideFocus : null;\n slide.onblur = _this.props.pauseOnFocus ? _this.onSlideBlur : null;\n }); // To support server-side rendering\n\n if (!window) {\n return;\n }\n\n if (window.addEventListener) {\n window.addEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.attachEvent(\"onresize\", _this.onWindowResized);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentWillUnmount\", function () {\n if (_this.animationEndCallback) {\n clearTimeout(_this.animationEndCallback);\n }\n\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n }\n\n if (_this.callbackTimers.length) {\n _this.callbackTimers.forEach(function (timer) {\n return clearTimeout(timer);\n });\n\n _this.callbackTimers = [];\n }\n\n if (window.addEventListener) {\n window.removeEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.detachEvent(\"onresize\", _this.onWindowResized);\n }\n\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"UNSAFE_componentWillReceiveProps\", function (nextProps) {\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, nextProps, {}, _this.state);\n\n var setTrackStyle = false;\n\n for (var _i = 0, _Object$keys = Object.keys(_this.props); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n\n if (!nextProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n\n if (_typeof(nextProps[key]) === \"object\" || typeof nextProps[key] === \"function\") {\n continue;\n }\n\n if (nextProps[key] !== _this.props[key]) {\n setTrackStyle = true;\n break;\n }\n }\n\n _this.updateState(spec, setTrackStyle, function () {\n if (_this.state.currentSlide >= _react[\"default\"].Children.count(nextProps.children)) {\n _this.changeSlide({\n message: \"index\",\n index: _react[\"default\"].Children.count(nextProps.children) - nextProps.slidesToShow,\n currentSlide: _this.state.currentSlide\n });\n }\n\n if (nextProps.autoplay) {\n _this.autoPlay(\"update\");\n } else {\n _this.pause(\"paused\");\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function () {\n _this.checkImagesLoad();\n\n _this.props.onReInit && _this.props.onReInit();\n\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread({}, _this.props, {}, _this.state));\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n } // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n\n\n _this.adaptHeight();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onWindowResized\", function (setTrackStyle) {\n if (_this.debouncedResize) _this.debouncedResize.cancel();\n _this.debouncedResize = (0, _lodash[\"default\"])(function () {\n return _this.resizeWindow(setTrackStyle);\n }, 50);\n\n _this.debouncedResize();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"resizeWindow\", function () {\n var setTrackStyle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n if (!_reactDom[\"default\"].findDOMNode(_this.track)) return;\n\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props, {}, _this.state);\n\n _this.updateState(spec, setTrackStyle, function () {\n if (_this.props.autoplay) _this.autoPlay(\"update\");else _this.pause(\"paused\");\n }); // animating state should be cleared while resizing, otherwise autoplay stops working\n\n\n _this.setState({\n animating: false\n });\n\n clearTimeout(_this.animationEndCallback);\n delete _this.animationEndCallback;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateState\", function (spec, setTrackStyle, callback) {\n var updatedState = (0, _innerSliderUtils.initializedState)(spec);\n spec = _objectSpread({}, spec, {}, updatedState, {\n slideIndex: updatedState.currentSlide\n });\n var targetLeft = (0, _innerSliderUtils.getTrackLeft)(spec);\n spec = _objectSpread({}, spec, {\n left: targetLeft\n });\n var trackStyle = (0, _innerSliderUtils.getTrackCSS)(spec);\n\n if (setTrackStyle || _react[\"default\"].Children.count(_this.props.children) !== _react[\"default\"].Children.count(spec.children)) {\n updatedState[\"trackStyle\"] = trackStyle;\n }\n\n _this.setState(updatedState, callback);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"ssrInit\", function () {\n if (_this.props.variableWidth) {\n var _trackWidth = 0,\n _trackLeft = 0;\n var childrenWidths = [];\n var preClones = (0, _innerSliderUtils.getPreClones)(_objectSpread({}, _this.props, {}, _this.state, {\n slideCount: _this.props.children.length\n }));\n var postClones = (0, _innerSliderUtils.getPostClones)(_objectSpread({}, _this.props, {}, _this.state, {\n slideCount: _this.props.children.length\n }));\n\n _this.props.children.forEach(function (child) {\n childrenWidths.push(child.props.style.width);\n _trackWidth += child.props.style.width;\n });\n\n for (var i = 0; i < preClones; i++) {\n _trackLeft += childrenWidths[childrenWidths.length - 1 - i];\n _trackWidth += childrenWidths[childrenWidths.length - 1 - i];\n }\n\n for (var _i2 = 0; _i2 < postClones; _i2++) {\n _trackWidth += childrenWidths[_i2];\n }\n\n for (var _i3 = 0; _i3 < _this.state.currentSlide; _i3++) {\n _trackLeft += childrenWidths[_i3];\n }\n\n var _trackStyle = {\n width: _trackWidth + \"px\",\n left: -_trackLeft + \"px\"\n };\n\n if (_this.props.centerMode) {\n var currentWidth = \"\".concat(childrenWidths[_this.state.currentSlide], \"px\");\n _trackStyle.left = \"calc(\".concat(_trackStyle.left, \" + (100% - \").concat(currentWidth, \") / 2 ) \");\n }\n\n _this.setState({\n trackStyle: _trackStyle\n });\n\n return;\n }\n\n var childrenCount = _react[\"default\"].Children.count(_this.props.children);\n\n var spec = _objectSpread({}, _this.props, {}, _this.state, {\n slideCount: childrenCount\n });\n\n var slideCount = (0, _innerSliderUtils.getPreClones)(spec) + (0, _innerSliderUtils.getPostClones)(spec) + childrenCount;\n var trackWidth = 100 / _this.props.slidesToShow * slideCount;\n var slideWidth = 100 / slideCount;\n var trackLeft = -slideWidth * ((0, _innerSliderUtils.getPreClones)(spec) + _this.state.currentSlide) * trackWidth / 100;\n\n if (_this.props.centerMode) {\n trackLeft += (100 - slideWidth * trackWidth / 100) / 2;\n }\n\n var trackStyle = {\n width: trackWidth + \"%\",\n left: trackLeft + \"%\"\n };\n\n _this.setState({\n slideWidth: slideWidth + \"%\",\n trackStyle: trackStyle\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"checkImagesLoad\", function () {\n var images = document.querySelectorAll(\".slick-slide img\");\n var imagesCount = images.length,\n loadedCount = 0;\n Array.prototype.forEach.call(images, function (image) {\n var handler = function handler() {\n return ++loadedCount && loadedCount >= imagesCount && _this.onWindowResized();\n };\n\n if (!image.onclick) {\n image.onclick = function () {\n return image.parentNode.focus();\n };\n } else {\n var prevClickHandler = image.onclick;\n\n image.onclick = function () {\n prevClickHandler();\n image.parentNode.focus();\n };\n }\n\n if (!image.onload) {\n if (_this.props.lazyLoad) {\n image.onload = function () {\n _this.adaptHeight();\n\n _this.callbackTimers.push(setTimeout(_this.onWindowResized, _this.props.speed));\n };\n } else {\n image.onload = handler;\n\n image.onerror = function () {\n handler();\n _this.props.onLazyLoadError && _this.props.onLazyLoadError();\n };\n }\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"progressiveLazyLoad\", function () {\n var slidesToLoad = [];\n\n var spec = _objectSpread({}, _this.props, {}, _this.state);\n\n for (var index = _this.state.currentSlide; index < _this.state.slideCount + (0, _innerSliderUtils.getPostClones)(spec); index++) {\n if (_this.state.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n\n for (var _index = _this.state.currentSlide - 1; _index >= -(0, _innerSliderUtils.getPreClones)(spec); _index--) {\n if (_this.state.lazyLoadedList.indexOf(_index) < 0) {\n slidesToLoad.push(_index);\n break;\n }\n }\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (state) {\n return {\n lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n } else {\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n delete _this.lazyLoadTimer;\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slideHandler\", function (index) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var _this$props = _this.props,\n asNavFor = _this$props.asNavFor,\n beforeChange = _this$props.beforeChange,\n onLazyLoad = _this$props.onLazyLoad,\n speed = _this$props.speed,\n afterChange = _this$props.afterChange; // capture currentslide before state is updated\n\n var currentSlide = _this.state.currentSlide;\n\n var _slideHandler = (0, _innerSliderUtils.slideHandler)(_objectSpread({\n index: index\n }, _this.props, {}, _this.state, {\n trackRef: _this.track,\n useCSS: _this.props.useCSS && !dontAnimate\n })),\n state = _slideHandler.state,\n nextState = _slideHandler.nextState;\n\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n var slidesToLoad = state.lazyLoadedList.filter(function (value) {\n return _this.state.lazyLoadedList.indexOf(value) < 0;\n });\n onLazyLoad && slidesToLoad.length > 0 && onLazyLoad(slidesToLoad);\n\n _this.setState(state, function () {\n asNavFor && asNavFor.innerSlider.slideHandler(index);\n if (!nextState) return;\n _this.animationEndCallback = setTimeout(function () {\n var animating = nextState.animating,\n firstBatch = _objectWithoutProperties(nextState, [\"animating\"]);\n\n _this.setState(firstBatch, function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.setState({\n animating: animating\n });\n }, 10));\n\n afterChange && afterChange(state.currentSlide);\n delete _this.animationEndCallback;\n });\n }, speed);\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"changeSlide\", function (options) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var spec = _objectSpread({}, _this.props, {}, _this.state);\n\n var targetSlide = (0, _innerSliderUtils.changeSlide)(spec, options);\n if (targetSlide !== 0 && !targetSlide) return;\n\n if (dontAnimate === true) {\n _this.slideHandler(targetSlide, dontAnimate);\n } else {\n _this.slideHandler(targetSlide);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"clickHandler\", function (e) {\n if (_this.clickable === false) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n _this.clickable = true;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"keyHandler\", function (e) {\n var dir = (0, _innerSliderUtils.keyHandler)(e, _this.props.accessibility, _this.props.rtl);\n dir !== \"\" && _this.changeSlide({\n message: dir\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"selectHandler\", function (options) {\n _this.changeSlide(options);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"disableBodyScroll\", function () {\n var preventDefault = function preventDefault(e) {\n e = e || window.event;\n if (e.preventDefault) e.preventDefault();\n e.returnValue = false;\n };\n\n window.ontouchmove = preventDefault;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"enableBodyScroll\", function () {\n window.ontouchmove = null;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeStart\", function (e) {\n if (_this.props.verticalSwiping) {\n _this.disableBodyScroll();\n }\n\n var state = (0, _innerSliderUtils.swipeStart)(e, _this.props.swipe, _this.props.draggable);\n state !== \"\" && _this.setState(state);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeMove\", function (e) {\n var state = (0, _innerSliderUtils.swipeMove)(e, _objectSpread({}, _this.props, {}, _this.state, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n\n if (state[\"swiping\"]) {\n _this.clickable = false;\n }\n\n _this.setState(state);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeEnd\", function (e) {\n var state = (0, _innerSliderUtils.swipeEnd)(e, _objectSpread({}, _this.props, {}, _this.state, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n var triggerSlideHandler = state[\"triggerSlideHandler\"];\n delete state[\"triggerSlideHandler\"];\n\n _this.setState(state);\n\n if (triggerSlideHandler === undefined) return;\n\n _this.slideHandler(triggerSlideHandler);\n\n if (_this.props.verticalSwiping) {\n _this.enableBodyScroll();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\n // this and fellow methods are wrapped in setTimeout\n // to make sure initialize setState has happened before\n // any of such methods are called\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"previous\"\n });\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"next\"\n });\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n slide = Number(slide);\n if (isNaN(slide)) return \"\";\n\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"index\",\n index: slide,\n currentSlide: _this.state.currentSlide\n }, dontAnimate);\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"play\", function () {\n var nextIndex;\n\n if (_this.props.rtl) {\n nextIndex = _this.state.currentSlide - _this.props.slidesToScroll;\n } else {\n if ((0, _innerSliderUtils.canGoNext)(_objectSpread({}, _this.props, {}, _this.state))) {\n nextIndex = _this.state.currentSlide + _this.props.slidesToScroll;\n } else {\n return false;\n }\n }\n\n _this.slideHandler(nextIndex);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"autoPlay\", function (playType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n\n var autoplaying = _this.state.autoplaying;\n\n if (playType === \"update\") {\n if (autoplaying === \"hovered\" || autoplaying === \"focused\" || autoplaying === \"paused\") {\n return;\n }\n } else if (playType === \"leave\") {\n if (autoplaying === \"paused\" || autoplaying === \"focused\") {\n return;\n }\n } else if (playType === \"blur\") {\n if (autoplaying === \"paused\" || autoplaying === \"hovered\") {\n return;\n }\n }\n\n _this.autoplayTimer = setInterval(_this.play, _this.props.autoplaySpeed + 50);\n\n _this.setState({\n autoplaying: \"playing\"\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"pause\", function (pauseType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n _this.autoplayTimer = null;\n }\n\n var autoplaying = _this.state.autoplaying;\n\n if (pauseType === \"paused\") {\n _this.setState({\n autoplaying: \"paused\"\n });\n } else if (pauseType === \"focused\") {\n if (autoplaying === \"hovered\" || autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"focused\"\n });\n }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"hovered\"\n });\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDotsOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDotsLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTrackOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTrackLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSlideFocus\", function () {\n return _this.props.autoplay && _this.pause(\"focused\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSlideBlur\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"focused\" && _this.autoPlay(\"blur\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"render\", function () {\n var className = (0, _classnames[\"default\"])(\"slick-slider\", _this.props.className, {\n \"slick-vertical\": _this.props.vertical,\n \"slick-initialized\": true\n });\n\n var spec = _objectSpread({}, _this.props, {}, _this.state);\n\n var trackProps = (0, _innerSliderUtils.extractObject)(spec, [\"fade\", \"cssEase\", \"speed\", \"infinite\", \"centerMode\", \"focusOnSelect\", \"currentSlide\", \"lazyLoad\", \"lazyLoadedList\", \"rtl\", \"slideWidth\", \"slideHeight\", \"listHeight\", \"vertical\", \"slidesToShow\", \"slidesToScroll\", \"slideCount\", \"trackStyle\", \"variableWidth\", \"unslick\", \"centerPadding\"]);\n var pauseOnHover = _this.props.pauseOnHover;\n trackProps = _objectSpread({}, trackProps, {\n onMouseEnter: pauseOnHover ? _this.onTrackOver : null,\n onMouseLeave: pauseOnHover ? _this.onTrackLeave : null,\n onMouseOver: pauseOnHover ? _this.onTrackOver : null,\n focusOnSelect: _this.props.focusOnSelect ? _this.selectHandler : null\n });\n var dots;\n\n if (_this.props.dots === true && _this.state.slideCount >= _this.props.slidesToShow) {\n var dotProps = (0, _innerSliderUtils.extractObject)(spec, [\"dotsClass\", \"slideCount\", \"slidesToShow\", \"currentSlide\", \"slidesToScroll\", \"clickHandler\", \"children\", \"customPaging\", \"infinite\", \"appendDots\"]);\n var pauseOnDotsHover = _this.props.pauseOnDotsHover;\n dotProps = _objectSpread({}, dotProps, {\n clickHandler: _this.changeSlide,\n onMouseEnter: pauseOnDotsHover ? _this.onDotsLeave : null,\n onMouseOver: pauseOnDotsHover ? _this.onDotsOver : null,\n onMouseLeave: pauseOnDotsHover ? _this.onDotsLeave : null\n });\n dots = _react[\"default\"].createElement(_dots.Dots, dotProps);\n }\n\n var prevArrow, nextArrow;\n var arrowProps = (0, _innerSliderUtils.extractObject)(spec, [\"infinite\", \"centerMode\", \"currentSlide\", \"slideCount\", \"slidesToShow\", \"prevArrow\", \"nextArrow\"]);\n arrowProps.clickHandler = _this.changeSlide;\n\n if (_this.props.arrows) {\n prevArrow = _react[\"default\"].createElement(_arrows.PrevArrow, arrowProps);\n nextArrow = _react[\"default\"].createElement(_arrows.NextArrow, arrowProps);\n }\n\n var verticalHeightStyle = null;\n\n if (_this.props.vertical) {\n verticalHeightStyle = {\n height: _this.state.listHeight\n };\n }\n\n var centerPaddingStyle = null;\n\n if (_this.props.vertical === false) {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: \"0px \" + _this.props.centerPadding\n };\n }\n } else {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: _this.props.centerPadding + \" 0px\"\n };\n }\n }\n\n var listStyle = _objectSpread({}, verticalHeightStyle, {}, centerPaddingStyle);\n\n var touchMove = _this.props.touchMove;\n var listProps = {\n className: \"slick-list\",\n style: listStyle,\n onClick: _this.clickHandler,\n onMouseDown: touchMove ? _this.swipeStart : null,\n onMouseMove: _this.state.dragging && touchMove ? _this.swipeMove : null,\n onMouseUp: touchMove ? _this.swipeEnd : null,\n onMouseLeave: _this.state.dragging && touchMove ? _this.swipeEnd : null,\n onTouchStart: touchMove ? _this.swipeStart : null,\n onTouchMove: _this.state.dragging && touchMove ? _this.swipeMove : null,\n onTouchEnd: touchMove ? _this.swipeEnd : null,\n onTouchCancel: _this.state.dragging && touchMove ? _this.swipeEnd : null,\n onKeyDown: _this.props.accessibility ? _this.keyHandler : null\n };\n var innerSliderProps = {\n className: className,\n dir: \"ltr\",\n style: _this.props.style\n };\n\n if (_this.props.unslick) {\n listProps = {\n className: \"slick-list\"\n };\n innerSliderProps = {\n className: className\n };\n }\n\n return _react[\"default\"].createElement(\"div\", innerSliderProps, !_this.props.unslick ? prevArrow : \"\", _react[\"default\"].createElement(\"div\", _extends({\n ref: _this.listRefHandler\n }, listProps), _react[\"default\"].createElement(_track.Track, _extends({\n ref: _this.trackRefHandler\n }, trackProps), _this.props.children)), !_this.props.unslick ? nextArrow : \"\", !_this.props.unslick ? dots : \"\");\n });\n\n _this.list = null;\n _this.track = null;\n _this.state = _objectSpread({}, _initialState[\"default\"], {\n currentSlide: _this.props.initialSlide,\n slideCount: _react[\"default\"].Children.count(_this.props.children)\n });\n _this.callbackTimers = [];\n _this.clickable = true;\n _this.debouncedResize = null;\n return _this;\n }\n\n return InnerSlider;\n}(_react[\"default\"].Component);\n\nexports.InnerSlider = InnerSlider;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _innerSlider = require(\"./inner-slider\");\n\nvar _json2mq = _interopRequireDefault(require(\"json2mq\"));\n\nvar _defaultProps = _interopRequireDefault(require(\"./default-props\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; 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)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar enquire = (0, _innerSliderUtils.canUseDOM)() && require(\"enquire.js\");\n\nvar Slider =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Slider, _React$Component);\n\n function Slider(props) {\n var _this;\n\n _classCallCheck(this, Slider);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Slider).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), \"innerSliderRefHandler\", function (ref) {\n return _this.innerSlider = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\n return _this.innerSlider.slickPrev();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n return _this.innerSlider.slickNext();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return _this.innerSlider.slickGoTo(slide, dontAnimate);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPause\", function () {\n return _this.innerSlider.pause(\"paused\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPlay\", function () {\n return _this.innerSlider.autoPlay(\"play\");\n });\n\n _this.state = {\n breakpoint: null\n };\n _this._responsiveMediaHandlers = [];\n return _this;\n }\n\n _createClass(Slider, [{\n key: \"media\",\n value: function media(query, handler) {\n // javascript handler for css media query\n enquire.register(query, handler);\n\n this._responsiveMediaHandlers.push({\n query: query,\n handler: handler\n });\n } // handles responsive breakpoints\n\n }, {\n key: \"UNSAFE_componentWillMount\",\n value: function UNSAFE_componentWillMount() {\n var _this2 = this;\n\n // performance monitoring\n //if (process.env.NODE_ENV !== 'production') {\n //const { whyDidYouUpdate } = require('why-did-you-update')\n //whyDidYouUpdate(React)\n //}\n if (this.props.responsive) {\n var breakpoints = this.props.responsive.map(function (breakpt) {\n return breakpt.breakpoint;\n }); // sort them in increasing order of their numerical value\n\n breakpoints.sort(function (x, y) {\n return x - y;\n });\n breakpoints.forEach(function (breakpoint, index) {\n // media query for each breakpoint\n var bQuery;\n\n if (index === 0) {\n bQuery = (0, _json2mq[\"default\"])({\n minWidth: 0,\n maxWidth: breakpoint\n });\n } else {\n bQuery = (0, _json2mq[\"default\"])({\n minWidth: breakpoints[index - 1] + 1,\n maxWidth: breakpoint\n });\n } // when not using server side rendering\n\n\n (0, _innerSliderUtils.canUseDOM)() && _this2.media(bQuery, function () {\n _this2.setState({\n breakpoint: breakpoint\n });\n });\n }); // Register media query for full screen. Need to support resize from small to large\n // convert javascript object to media query string\n\n var query = (0, _json2mq[\"default\"])({\n minWidth: breakpoints.slice(-1)[0]\n });\n (0, _innerSliderUtils.canUseDOM)() && this.media(query, function () {\n _this2.setState({\n breakpoint: null\n });\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._responsiveMediaHandlers.forEach(function (obj) {\n enquire.unregister(obj.query, obj.handler);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var settings;\n var newProps;\n\n if (this.state.breakpoint) {\n newProps = this.props.responsive.filter(function (resp) {\n return resp.breakpoint === _this3.state.breakpoint;\n });\n settings = newProps[0].settings === \"unslick\" ? \"unslick\" : _objectSpread({}, _defaultProps[\"default\"], {}, this.props, {}, newProps[0].settings);\n } else {\n settings = _objectSpread({}, _defaultProps[\"default\"], {}, this.props);\n } // force scrolling by one if centerMode is on\n\n\n if (settings.centerMode) {\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 in centerMode, you are using \".concat(settings.slidesToScroll));\n }\n\n settings.slidesToScroll = 1;\n } // force showing one slide and scrolling by one if the fade mode is on\n\n\n if (settings.fade) {\n if (settings.slidesToShow > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToShow should be equal to 1 when fade is true, you're using \".concat(settings.slidesToShow));\n }\n\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 when fade is true, you're using \".concat(settings.slidesToScroll));\n }\n\n settings.slidesToShow = 1;\n settings.slidesToScroll = 1;\n } // makes sure that children is an array, even when there is only 1 child\n\n\n var children = _react[\"default\"].Children.toArray(this.props.children); // Children may contain false or null, so we should filter them\n // children may also contain string filled with spaces (in certain cases where we use jsx strings)\n\n\n children = children.filter(function (child) {\n if (typeof child === \"string\") {\n return !!child.trim();\n }\n\n return !!child;\n }); // rows and slidesPerRow logic is handled here\n\n if (settings.variableWidth && (settings.rows > 1 || settings.slidesPerRow > 1)) {\n console.warn(\"variableWidth is not supported in case of rows > 1 or slidesPerRow > 1\");\n settings.variableWidth = false;\n }\n\n var newChildren = [];\n var currentWidth = null;\n\n for (var i = 0; i < children.length; i += settings.rows * settings.slidesPerRow) {\n var newSlide = [];\n\n for (var j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow) {\n var row = [];\n\n for (var k = j; k < j + settings.slidesPerRow; k += 1) {\n if (settings.variableWidth && children[k].props.style) {\n currentWidth = children[k].props.style.width;\n }\n\n if (k >= children.length) break;\n row.push(_react[\"default\"].cloneElement(children[k], {\n key: 100 * i + 10 * j + k,\n tabIndex: -1,\n style: {\n width: \"\".concat(100 / settings.slidesPerRow, \"%\"),\n display: \"inline-block\"\n }\n }));\n }\n\n newSlide.push(_react[\"default\"].createElement(\"div\", {\n key: 10 * i + j\n }, row));\n }\n\n if (settings.variableWidth) {\n newChildren.push(_react[\"default\"].createElement(\"div\", {\n key: i,\n style: {\n width: currentWidth\n }\n }, newSlide));\n } else {\n newChildren.push(_react[\"default\"].createElement(\"div\", {\n key: i\n }, newSlide));\n }\n }\n\n if (settings === \"unslick\") {\n var className = \"regular slider \" + (this.props.className || \"\");\n return _react[\"default\"].createElement(\"div\", {\n className: className\n }, newChildren);\n } else if (newChildren.length <= settings.slidesToShow) {\n settings.unslick = true;\n }\n\n return _react[\"default\"].createElement(_innerSlider.InnerSlider, _extends({\n style: this.props.style,\n ref: this.innerSliderRefHandler\n }, settings), newChildren);\n }\n }]);\n\n return Slider;\n}(_react[\"default\"].Component);\n\nexports[\"default\"] = Slider;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Track = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; 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)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// given specifications/props for a slide, fetch all the classes that need to be applied to the slide\nvar getSlideClasses = function getSlideClasses(spec) {\n var slickActive, slickCenter, slickCloned;\n var centerOffset, index;\n\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n\n slickCloned = index < 0 || index >= spec.slideCount;\n\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\n\n if (index > spec.currentSlide - centerOffset - 1 && index <= spec.currentSlide + centerOffset) {\n slickActive = true;\n }\n } else {\n slickActive = spec.currentSlide <= index && index < spec.currentSlide + spec.slidesToShow;\n }\n\n var slickCurrent = index === spec.currentSlide;\n return {\n \"slick-slide\": true,\n \"slick-active\": slickActive,\n \"slick-center\": slickCenter,\n \"slick-cloned\": slickCloned,\n \"slick-current\": slickCurrent // dubious in case of RTL\n\n };\n};\n\nvar getSlideStyle = function getSlideStyle(spec) {\n var style = {};\n\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth;\n }\n\n if (spec.fade) {\n style.position = \"relative\";\n\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight);\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth);\n }\n\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n style.transition = \"opacity \" + spec.speed + \"ms \" + spec.cssEase + \", \" + \"visibility \" + spec.speed + \"ms \" + spec.cssEase;\n style.WebkitTransition = \"opacity \" + spec.speed + \"ms \" + spec.cssEase + \", \" + \"visibility \" + spec.speed + \"ms \" + spec.cssEase;\n }\n\n return style;\n};\n\nvar getKey = function getKey(child, fallbackKey) {\n return child.key || fallbackKey;\n};\n\nvar renderSlides = function renderSlides(spec) {\n var key;\n var slides = [];\n var preCloneSlides = [];\n var postCloneSlides = [];\n\n var childrenCount = _react[\"default\"].Children.count(spec.children);\n\n var startIndex = (0, _innerSliderUtils.lazyStartIndex)(spec);\n var endIndex = (0, _innerSliderUtils.lazyEndIndex)(spec);\n\n _react[\"default\"].Children.forEach(spec.children, function (elem, index) {\n var child;\n var childOnClickOptions = {\n message: \"children\",\n index: index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide\n }; // in case of lazyLoad, whether or not we want to fetch the slide\n\n if (!spec.lazyLoad || spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0) {\n child = elem;\n } else {\n child = _react[\"default\"].createElement(\"div\", null);\n }\n\n var childStyle = getSlideStyle(_objectSpread({}, spec, {\n index: index\n }));\n var slideClass = child.props.className || \"\";\n var slideClasses = getSlideClasses(_objectSpread({}, spec, {\n index: index\n })); // push a cloned element of the desired slide\n\n slides.push(_react[\"default\"].cloneElement(child, {\n key: \"original\" + getKey(child, index),\n \"data-index\": index,\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n tabIndex: \"-1\",\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread({\n outline: \"none\"\n }, child.props.style || {}, {}, childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })); // if slide needs to be precloned or postcloned\n\n if (spec.infinite && spec.fade === false) {\n var preCloneNo = childrenCount - index;\n\n if (preCloneNo <= (0, _innerSliderUtils.getPreClones)(spec) && childrenCount !== spec.slidesToShow) {\n key = -preCloneNo;\n\n if (key >= startIndex) {\n child = elem;\n }\n\n slideClasses = getSlideClasses(_objectSpread({}, spec, {\n index: key\n }));\n preCloneSlides.push(_react[\"default\"].cloneElement(child, {\n key: \"precloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread({}, child.props.style || {}, {}, childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n\n if (childrenCount !== spec.slidesToShow) {\n key = childrenCount + index;\n\n if (key < endIndex) {\n child = elem;\n }\n\n slideClasses = getSlideClasses(_objectSpread({}, spec, {\n index: key\n }));\n postCloneSlides.push(_react[\"default\"].cloneElement(child, {\n key: \"postcloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread({}, child.props.style || {}, {}, childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n }\n });\n\n if (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\n\nvar Track =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(Track, _React$PureComponent);\n\n function Track() {\n _classCallCheck(this, Track);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Track).apply(this, arguments));\n }\n\n _createClass(Track, [{\n key: \"render\",\n value: function render() {\n var slides = renderSlides(this.props);\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave;\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n return _react[\"default\"].createElement(\"div\", _extends({\n className: \"slick-track\",\n style: this.props.trackStyle\n }, mouseEvents), slides);\n }\n }]);\n\n return Track;\n}(_react[\"default\"].PureComponent);\n\nexports.Track = Track;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = exports.slidesOnLeft = exports.slidesOnRight = exports.siblingDirection = exports.getTotalSlides = exports.getPostClones = exports.getPreClones = exports.getTrackLeft = exports.getTrackAnimateCSS = exports.getTrackCSS = exports.checkSpecKeys = exports.getSlideCount = exports.checkNavigable = exports.getNavigableIndexes = exports.swipeEnd = exports.swipeMove = exports.swipeStart = exports.keyHandler = exports.changeSlide = exports.slideHandler = exports.initializedState = exports.extractObject = exports.canGoNext = exports.getSwipeDirection = exports.getHeight = exports.getWidth = exports.lazySlidesOnRight = exports.lazySlidesOnLeft = exports.lazyEndIndex = exports.lazyStartIndex = exports.getRequiredLazySlides = exports.getOnDemandLazySlides = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; 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)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar getOnDemandLazySlides = function getOnDemandLazySlides(spec) {\n var onDemandSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n\n return onDemandSlides;\n}; // return list of slides that need to be present\n\n\nexports.getOnDemandLazySlides = getOnDemandLazySlides;\n\nvar getRequiredLazySlides = function getRequiredLazySlides(spec) {\n var requiredSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n\n return requiredSlides;\n}; // startIndex that needs to be present\n\n\nexports.getRequiredLazySlides = getRequiredLazySlides;\n\nvar lazyStartIndex = function lazyStartIndex(spec) {\n return spec.currentSlide - lazySlidesOnLeft(spec);\n};\n\nexports.lazyStartIndex = lazyStartIndex;\n\nvar lazyEndIndex = function lazyEndIndex(spec) {\n return spec.currentSlide + lazySlidesOnRight(spec);\n};\n\nexports.lazyEndIndex = lazyEndIndex;\n\nvar lazySlidesOnLeft = function lazySlidesOnLeft(spec) {\n return spec.centerMode ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : 0;\n};\n\nexports.lazySlidesOnLeft = lazySlidesOnLeft;\n\nvar lazySlidesOnRight = function lazySlidesOnRight(spec) {\n return spec.centerMode ? Math.floor((spec.slidesToShow - 1) / 2) + 1 + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : spec.slidesToShow;\n}; // get width of an element\n\n\nexports.lazySlidesOnRight = lazySlidesOnRight;\n\nvar getWidth = function getWidth(elem) {\n return elem && elem.offsetWidth || 0;\n};\n\nexports.getWidth = getWidth;\n\nvar getHeight = function getHeight(elem) {\n return elem && elem.offsetHeight || 0;\n};\n\nexports.getHeight = getHeight;\n\nvar getSwipeDirection = function getSwipeDirection(touchObject) {\n var verticalSwiping = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var xDist, yDist, r, swipeAngle;\n xDist = touchObject.startX - touchObject.curX;\n yDist = touchObject.startY - touchObject.curY;\n r = Math.atan2(yDist, xDist);\n swipeAngle = Math.round(r * 180 / Math.PI);\n\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n\n if (swipeAngle <= 45 && swipeAngle >= 0 || swipeAngle <= 360 && swipeAngle >= 315) {\n return \"left\";\n }\n\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return \"right\";\n }\n\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return \"up\";\n } else {\n return \"down\";\n }\n }\n\n return \"vertical\";\n}; // whether or not we can go next\n\n\nexports.getSwipeDirection = getSwipeDirection;\n\nvar canGoNext = function canGoNext(spec) {\n var canGo = true;\n\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (spec.slideCount <= spec.slidesToShow || spec.currentSlide >= spec.slideCount - spec.slidesToShow) {\n canGo = false;\n }\n }\n\n return canGo;\n}; // given an object and a list of keys, return new object with given keys\n\n\nexports.canGoNext = canGoNext;\n\nvar extractObject = function extractObject(spec, keys) {\n var newObject = {};\n keys.forEach(function (key) {\n return newObject[key] = spec[key];\n });\n return newObject;\n}; // get initialized state\n\n\nexports.extractObject = extractObject;\n\nvar initializedState = function initializedState(spec) {\n // spec also contains listRef, trackRef\n var slideCount = _react[\"default\"].Children.count(spec.children);\n\n var listWidth = Math.ceil(getWidth(_reactDom[\"default\"].findDOMNode(spec.listRef)));\n var trackWidth = Math.ceil(getWidth(_reactDom[\"default\"].findDOMNode(spec.trackRef)));\n var slideWidth;\n\n if (!spec.vertical) {\n var centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n\n if (typeof spec.centerPadding === \"string\" && spec.centerPadding.slice(-1) === \"%\") {\n centerPaddingAdj *= listWidth / 100;\n }\n\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n\n var slideHeight = _reactDom[\"default\"].findDOMNode(spec.listRef) && getHeight(_reactDom[\"default\"].findDOMNode(spec.listRef).querySelector('[data-index=\"0\"]'));\n var listHeight = slideHeight * spec.slidesToShow;\n var currentSlide = spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n\n var lazyLoadedList = spec.lazyLoadedList || [];\n var slidesToLoad = getOnDemandLazySlides({\n currentSlide: currentSlide,\n lazyLoadedList: lazyLoadedList\n }, spec);\n lazyLoadedList.concat(slidesToLoad);\n var state = {\n slideCount: slideCount,\n slideWidth: slideWidth,\n listWidth: listWidth,\n trackWidth: trackWidth,\n currentSlide: currentSlide,\n slideHeight: slideHeight,\n listHeight: listHeight,\n lazyLoadedList: lazyLoadedList\n };\n\n if (spec.autoplaying === null && spec.autoplay) {\n state[\"autoplaying\"] = \"playing\";\n }\n\n return state;\n};\n\nexports.initializedState = initializedState;\n\nvar slideHandler = function slideHandler(spec) {\n var waitForAnimate = spec.waitForAnimate,\n animating = spec.animating,\n fade = spec.fade,\n infinite = spec.infinite,\n index = spec.index,\n slideCount = spec.slideCount,\n lazyLoadedList = spec.lazyLoadedList,\n lazyLoad = spec.lazyLoad,\n currentSlide = spec.currentSlide,\n centerMode = spec.centerMode,\n slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n useCSS = spec.useCSS;\n if (waitForAnimate && animating) return {};\n var animationSlide = index,\n finalSlide,\n animationLeft,\n finalLeft;\n var state = {},\n nextState = {};\n\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList.push(animationSlide);\n }\n\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList: lazyLoadedList\n };\n nextState = {\n animating: false\n };\n } else {\n finalSlide = animationSlide;\n\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;else if (slideCount % slidesToScroll !== 0) finalSlide = slideCount - slideCount % slidesToScroll;\n } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n animationSlide = finalSlide = currentSlide;\n } else if (centerMode && animationSlide >= slideCount) {\n animationSlide = infinite ? slideCount : slideCount - 1;\n finalSlide = infinite ? 0 : slideCount - 1;\n } else if (animationSlide >= slideCount) {\n finalSlide = animationSlide - slideCount;\n if (!infinite) finalSlide = slideCount - slidesToShow;else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n\n animationLeft = getTrackLeft(_objectSpread({}, spec, {\n slideIndex: animationSlide\n }));\n finalLeft = getTrackLeft(_objectSpread({}, spec, {\n slideIndex: finalSlide\n }));\n\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n\n lazyLoad && lazyLoadedList.concat(getOnDemandLazySlides(_objectSpread({}, spec, {\n currentSlide: animationSlide\n })));\n\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread({}, spec, {\n left: finalLeft\n })),\n lazyLoadedList: lazyLoadedList\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS(_objectSpread({}, spec, {\n left: animationLeft\n })),\n lazyLoadedList: lazyLoadedList\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread({}, spec, {\n left: finalLeft\n })),\n swipeLeft: null\n };\n }\n }\n\n return {\n state: state,\n nextState: nextState\n };\n};\n\nexports.slideHandler = slideHandler;\n\nvar changeSlide = function changeSlide(spec, options) {\n var indexOffset, previousInt, slideOffset, unevenOffset, targetSlide;\n var slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n slideCount = spec.slideCount,\n currentSlide = spec.currentSlide,\n lazyLoad = spec.lazyLoad,\n infinite = spec.infinite;\n unevenOffset = slideCount % slidesToScroll !== 0;\n indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n\n if (options.message === \"previous\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n\n if (lazyLoad && !infinite) {\n previousInt = currentSlide - slideOffset;\n targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n }\n } else if (options.message === \"next\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n\n if (lazyLoad && !infinite) {\n targetSlide = (currentSlide + slidesToScroll) % slideCount + indexOffset;\n }\n } else if (options.message === \"dots\") {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n\n if (targetSlide === options.currentSlide) {\n return null;\n }\n } else if (options.message === \"children\") {\n // Click on the slides\n targetSlide = options.index;\n\n if (targetSlide === options.currentSlide) {\n return null;\n }\n\n if (infinite) {\n var direction = siblingDirection(_objectSpread({}, spec, {\n targetSlide: targetSlide\n }));\n\n if (targetSlide > options.currentSlide && direction === \"left\") {\n targetSlide = targetSlide - slideCount;\n } else if (targetSlide < options.currentSlide && direction === \"right\") {\n targetSlide = targetSlide + slideCount;\n }\n }\n } else if (options.message === \"index\") {\n targetSlide = Number(options.index);\n\n if (targetSlide === options.currentSlide) {\n return null;\n }\n }\n\n return targetSlide;\n};\n\nexports.changeSlide = changeSlide;\n\nvar keyHandler = function keyHandler(e, accessibility, rtl) {\n if (e.target.tagName.match(\"TEXTAREA|INPUT|SELECT\") || !accessibility) return \"\";\n if (e.keyCode === 37) return rtl ? \"next\" : \"previous\";\n if (e.keyCode === 39) return rtl ? \"previous\" : \"next\";\n return \"\";\n};\n\nexports.keyHandler = keyHandler;\n\nvar swipeStart = function swipeStart(e, swipe, draggable) {\n e.target.tagName === \"IMG\" && e.preventDefault();\n if (!swipe || !draggable && e.type.indexOf(\"mouse\") !== -1) return \"\";\n return {\n dragging: true,\n touchObject: {\n startX: e.touches ? e.touches[0].pageX : e.clientX,\n startY: e.touches ? e.touches[0].pageY : e.clientY,\n curX: e.touches ? e.touches[0].pageX : e.clientX,\n curY: e.touches ? e.touches[0].pageY : e.clientY\n }\n };\n};\n\nexports.swipeStart = swipeStart;\n\nvar swipeMove = function swipeMove(e, spec) {\n // spec also contains, trackRef and slideIndex\n var scrolling = spec.scrolling,\n animating = spec.animating,\n vertical = spec.vertical,\n swipeToSlide = spec.swipeToSlide,\n verticalSwiping = spec.verticalSwiping,\n rtl = spec.rtl,\n currentSlide = spec.currentSlide,\n edgeFriction = spec.edgeFriction,\n edgeDragged = spec.edgeDragged,\n onEdge = spec.onEdge,\n swiped = spec.swiped,\n swiping = spec.swiping,\n slideCount = spec.slideCount,\n slidesToScroll = spec.slidesToScroll,\n infinite = spec.infinite,\n touchObject = spec.touchObject,\n swipeEvent = spec.swipeEvent,\n listHeight = spec.listHeight,\n listWidth = spec.listWidth;\n if (scrolling) return;\n if (animating) return e.preventDefault();\n if (vertical && swipeToSlide && verticalSwiping) e.preventDefault();\n var swipeLeft,\n state = {};\n var curLeft = getTrackLeft(spec);\n touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2)));\n var verticalSwipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2)));\n\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return {\n scrolling: true\n };\n }\n\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n var positionOffset = (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping) positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n var dotCount = Math.ceil(slideCount / slidesToScroll);\n var swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n var touchSwipeLength = touchObject.swipeLength;\n\n if (!infinite) {\n if (currentSlide === 0 && swipeDirection === \"right\" || currentSlide + 1 >= dotCount && swipeDirection === \"left\" || !canGoNext(spec) && swipeDirection === \"left\") {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state[\"edgeDragged\"] = true;\n }\n }\n }\n\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state[\"swiped\"] = true;\n }\n\n if (!vertical) {\n if (!rtl) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n } else {\n swipeLeft = curLeft - touchSwipeLength * positionOffset;\n }\n } else {\n swipeLeft = curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n }\n\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n\n state = _objectSpread({}, state, {\n touchObject: touchObject,\n swipeLeft: swipeLeft,\n trackStyle: getTrackCSS(_objectSpread({}, spec, {\n left: swipeLeft\n }))\n });\n\n if (Math.abs(touchObject.curX - touchObject.startX) < Math.abs(touchObject.curY - touchObject.startY) * 0.8) {\n return state;\n }\n\n if (touchObject.swipeLength > 10) {\n state[\"swiping\"] = true;\n e.preventDefault();\n }\n\n return state;\n};\n\nexports.swipeMove = swipeMove;\n\nvar swipeEnd = function swipeEnd(e, spec) {\n var dragging = spec.dragging,\n swipe = spec.swipe,\n touchObject = spec.touchObject,\n listWidth = spec.listWidth,\n touchThreshold = spec.touchThreshold,\n verticalSwiping = spec.verticalSwiping,\n listHeight = spec.listHeight,\n currentSlide = spec.currentSlide,\n swipeToSlide = spec.swipeToSlide,\n scrolling = spec.scrolling,\n onSwipe = spec.onSwipe;\n\n if (!dragging) {\n if (swipe) e.preventDefault();\n return {};\n }\n\n var minSwipe = verticalSwiping ? listHeight / touchThreshold : listWidth / touchThreshold;\n var swipeDirection = getSwipeDirection(touchObject, verticalSwiping); // reset the state of touch related state variables.\n\n var state = {\n dragging: false,\n edgeDragged: false,\n scrolling: false,\n swiping: false,\n swiped: false,\n swipeLeft: null,\n touchObject: {}\n };\n\n if (scrolling) {\n return state;\n }\n\n if (!touchObject.swipeLength) {\n return state;\n }\n\n if (touchObject.swipeLength > minSwipe) {\n e.preventDefault();\n\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n\n var slideCount, newSlide;\n\n switch (swipeDirection) {\n case \"left\":\n case \"up\":\n newSlide = currentSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 0;\n break;\n\n case \"right\":\n case \"down\":\n newSlide = currentSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 1;\n break;\n\n default:\n slideCount = currentSlide;\n }\n\n state[\"triggerSlideHandler\"] = slideCount;\n } else {\n // Adjust the track back to it's original position.\n var currentLeft = getTrackLeft(spec);\n state[\"trackStyle\"] = getTrackAnimateCSS(_objectSpread({}, spec, {\n left: currentLeft\n }));\n }\n\n return state;\n};\n\nexports.swipeEnd = swipeEnd;\n\nvar getNavigableIndexes = function getNavigableIndexes(spec) {\n var max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n var breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n var counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n var indexes = [];\n\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n\n return indexes;\n};\n\nexports.getNavigableIndexes = getNavigableIndexes;\n\nvar checkNavigable = function checkNavigable(spec, index) {\n var navigables = getNavigableIndexes(spec);\n var prevNavigable = 0;\n\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (var n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n\n prevNavigable = navigables[n];\n }\n }\n\n return index;\n};\n\nexports.checkNavigable = checkNavigable;\n\nvar getSlideCount = function getSlideCount(spec) {\n var centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0;\n\n if (spec.swipeToSlide) {\n var swipedSlide;\n\n var slickList = _reactDom[\"default\"].findDOMNode(spec.listRef);\n\n var slides = slickList.querySelectorAll(\".slick-slide\");\n Array.from(slides).every(function (slide) {\n if (!spec.vertical) {\n if (slide.offsetLeft - centerOffset + getWidth(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n } else {\n if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n }\n\n return true;\n });\n\n if (!swipedSlide) {\n return 0;\n }\n\n var currentIndex = spec.rtl === true ? spec.slideCount - spec.currentSlide : spec.currentSlide;\n var slidesTraversed = Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\n\nexports.getSlideCount = getSlideCount;\n\nvar checkSpecKeys = function checkSpecKeys(spec, keysArray) {\n return keysArray.reduce(function (value, key) {\n return value && spec.hasOwnProperty(key);\n }, true) ? null : console.error(\"Keys Missing:\", spec);\n};\n\nexports.checkSpecKeys = checkSpecKeys;\n\nvar getTrackCSS = function getTrackCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\"]);\n var trackWidth, trackHeight;\n var trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n\n var style = {\n opacity: 1,\n transition: \"\",\n WebkitTransition: \"\"\n };\n\n if (spec.useTransform) {\n var WebkitTransform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var transform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var msTransform = !spec.vertical ? \"translateX(\" + spec.left + \"px)\" : \"translateY(\" + spec.left + \"px)\";\n style = _objectSpread({}, style, {\n WebkitTransform: WebkitTransform,\n transform: transform,\n msTransform: msTransform\n });\n } else {\n if (spec.vertical) {\n style[\"top\"] = spec.left;\n } else {\n style[\"left\"] = spec.left;\n }\n }\n\n if (spec.fade) style = {\n opacity: 1\n };\n if (trackWidth) style.width = trackWidth;\n if (trackHeight) style.height = trackHeight; // Fallback for IE8\n\n if (window && !window.addEventListener && window.attachEvent) {\n if (!spec.vertical) {\n style.marginLeft = spec.left + \"px\";\n } else {\n style.marginTop = spec.left + \"px\";\n }\n }\n\n return style;\n};\n\nexports.getTrackCSS = getTrackCSS;\n\nvar getTrackAnimateCSS = function getTrackAnimateCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\", \"speed\", \"cssEase\"]);\n var style = getTrackCSS(spec); // useCSS is true by default so it can be undefined\n\n if (spec.useTransform) {\n style.WebkitTransition = \"-webkit-transform \" + spec.speed + \"ms \" + spec.cssEase;\n style.transition = \"transform \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n if (spec.vertical) {\n style.transition = \"top \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n style.transition = \"left \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n\n return style;\n};\n\nexports.getTrackAnimateCSS = getTrackAnimateCSS;\n\nvar getTrackLeft = function getTrackLeft(spec) {\n if (spec.unslick) {\n return 0;\n }\n\n checkSpecKeys(spec, [\"slideIndex\", \"trackRef\", \"infinite\", \"centerMode\", \"slideCount\", \"slidesToShow\", \"slidesToScroll\", \"slideWidth\", \"listWidth\", \"variableWidth\", \"slideHeight\"]);\n var slideIndex = spec.slideIndex,\n trackRef = spec.trackRef,\n infinite = spec.infinite,\n centerMode = spec.centerMode,\n slideCount = spec.slideCount,\n slidesToShow = spec.slidesToShow,\n slidesToScroll = spec.slidesToScroll,\n slideWidth = spec.slideWidth,\n listWidth = spec.listWidth,\n variableWidth = spec.variableWidth,\n slideHeight = spec.slideHeight,\n fade = spec.fade,\n vertical = spec.vertical;\n var slideOffset = 0;\n var targetLeft;\n var targetSlide;\n var verticalOffset = 0;\n\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n\n var slidesToOffset = 0;\n\n if (infinite) {\n slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = -(slideIndex > slideCount ? slidesToShow - (slideIndex - slideCount) : slideCount % slidesToScroll);\n } // shift current slide to center of the frame\n\n\n if (centerMode) {\n slidesToOffset += parseInt(slidesToShow / 2);\n }\n } else {\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = slidesToShow - slideCount % slidesToScroll;\n }\n\n if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n\n if (variableWidth === true) {\n var targetSlideIndex;\n\n var trackElem = _reactDom[\"default\"].findDOMNode(trackRef);\n\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n\n if (centerMode === true) {\n targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n\n for (var slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -= trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth;\n }\n\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n\n return targetLeft;\n};\n\nexports.getTrackLeft = getTrackLeft;\n\nvar getPreClones = function getPreClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\n\nexports.getPreClones = getPreClones;\n\nvar getPostClones = function getPostClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n\n return spec.slideCount;\n};\n\nexports.getPostClones = getPostClones;\n\nvar getTotalSlides = function getTotalSlides(spec) {\n return spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec);\n};\n\nexports.getTotalSlides = getTotalSlides;\n\nvar siblingDirection = function siblingDirection(spec) {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return \"left\";\n }\n\n return \"right\";\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return \"right\";\n }\n\n return \"left\";\n }\n};\n\nexports.siblingDirection = siblingDirection;\n\nvar slidesOnRight = function slidesOnRight(_ref) {\n var slidesToShow = _ref.slidesToShow,\n centerMode = _ref.centerMode,\n rtl = _ref.rtl,\n centerPadding = _ref.centerPadding;\n\n // returns no of slides on the right of active slide\n if (centerMode) {\n var right = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) right += 1;\n if (rtl && slidesToShow % 2 === 0) right += 1;\n return right;\n }\n\n if (rtl) {\n return 0;\n }\n\n return slidesToShow - 1;\n};\n\nexports.slidesOnRight = slidesOnRight;\n\nvar slidesOnLeft = function slidesOnLeft(_ref2) {\n var slidesToShow = _ref2.slidesToShow,\n centerMode = _ref2.centerMode,\n rtl = _ref2.rtl,\n centerPadding = _ref2.centerPadding;\n\n // returns no of slides on the left of active slide\n if (centerMode) {\n var left = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) left += 1;\n if (!rtl && slidesToShow % 2 === 0) left += 1;\n return left;\n }\n\n if (rtl) {\n return slidesToShow - 1;\n }\n\n return 0;\n};\n\nexports.slidesOnLeft = slidesOnLeft;\n\nvar canUseDOM = function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n};\n\nexports.canUseDOM = canUseDOM;","/**\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\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport classNames from 'classnames';\nvar touchSupported = typeof window !== 'undefined' && 'ontouchstart' in window;\n\nvar TouchFeedback = function (_React$Component) {\n _inherits(TouchFeedback, _React$Component);\n\n function TouchFeedback() {\n _classCallCheck(this, TouchFeedback);\n\n var _this = _possibleConstructorReturn(this, (TouchFeedback.__proto__ || Object.getPrototypeOf(TouchFeedback)).apply(this, arguments));\n\n _this.state = {\n active: false\n };\n _this.onTouchStart = function (e) {\n _this.triggerEvent('TouchStart', true, e);\n };\n _this.onTouchMove = function (e) {\n _this.triggerEvent('TouchMove', false, e);\n };\n _this.onTouchEnd = function (e) {\n _this.triggerEvent('TouchEnd', false, e);\n };\n _this.onTouchCancel = function (e) {\n _this.triggerEvent('TouchCancel', false, e);\n };\n _this.onMouseDown = function (e) {\n // pc simulate mobile\n if (_this.props.onTouchStart) {\n _this.triggerEvent('TouchStart', true, e);\n }\n _this.triggerEvent('MouseDown', true, e);\n };\n _this.onMouseUp = function (e) {\n if (_this.props.onTouchEnd) {\n _this.triggerEvent('TouchEnd', false, e);\n }\n _this.triggerEvent('MouseUp', false, e);\n };\n _this.onMouseLeave = function (e) {\n _this.triggerEvent('MouseLeave', false, e);\n };\n return _this;\n }\n\n _createClass(TouchFeedback, [{\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n if (this.props.disabled && this.state.active) {\n this.setState({\n active: false\n });\n }\n }\n }, {\n key: 'triggerEvent',\n value: function triggerEvent(type, isActive, ev) {\n var eventType = 'on' + type;\n if (this.props[eventType]) {\n this.props[eventType](ev);\n }\n if (isActive !== this.state.active) {\n this.setState({\n active: isActive\n });\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n children = _props.children,\n disabled = _props.disabled,\n activeClassName = _props.activeClassName,\n activeStyle = _props.activeStyle;\n\n var events = disabled ? undefined : {\n onTouchStart: this.onTouchStart,\n onTouchMove: this.onTouchMove,\n onTouchEnd: this.onTouchEnd,\n onTouchCancel: this.onTouchCancel,\n onMouseDown: this.onMouseDown,\n onMouseUp: this.onMouseUp,\n onMouseLeave: this.onMouseLeave\n };\n var child = React.Children.only(children);\n if (!disabled && this.state.active) {\n var _child$props = child.props,\n style = _child$props.style,\n className = _child$props.className;\n\n if (activeStyle !== false) {\n if (activeStyle) {\n style = _extends({}, style, activeStyle);\n }\n className = classNames(className, activeClassName);\n }\n return React.cloneElement(child, _extends({ className: className,\n style: style }, events));\n }\n return React.cloneElement(child, events);\n }\n }]);\n\n return TouchFeedback;\n}(React.Component);\n\nexport default TouchFeedback;\n\nTouchFeedback.defaultProps = {\n disabled: false\n};","export { default } from './TouchFeedback';","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","var camel2hyphen = function (str) {\n return str\n .replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n })\n .toLowerCase();\n};\n\nmodule.exports = camel2hyphen;","var nargs = /\\{([0-9a-zA-Z_]+)\\}/g\n\nmodule.exports = template\n\nfunction template(string) {\n var args\n\n if (arguments.length === 2 && typeof arguments[1] === \"object\") {\n args = arguments[1]\n } else {\n args = new Array(arguments.length - 1)\n for (var i = 1; i < arguments.length; ++i) {\n args[i - 1] = arguments[i]\n }\n }\n\n if (!args || !args.hasOwnProperty) {\n args = {}\n }\n\n return string.replace(nargs, function replaceArg(match, i, index) {\n var result\n\n if (string[index - 1] === \"{\" &&\n string[index + match.length] === \"}\") {\n return i\n } else {\n result = args.hasOwnProperty(i) ? args[i] : null\n if (result === null || result === undefined) {\n return \"\"\n }\n\n return result\n }\n })\n}\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/*!\n * UAParser.js v0.7.20\n * Lightweight JavaScript-based User-Agent string parser\n * https://github.com/faisalman/ua-parser-js\n *\n * Copyright © 2012-2019 Faisal Salman <f@faisalman.com>\n * Licensed under MIT License\n */\n\n(function (window, undefined) {\n\n 'use strict';\n\n //////////////\n // Constants\n /////////////\n\n\n var LIBVERSION = '0.7.20',\n EMPTY = '',\n UNKNOWN = '?',\n FUNC_TYPE = 'function',\n UNDEF_TYPE = 'undefined',\n OBJ_TYPE = 'object',\n STR_TYPE = 'string',\n MAJOR = 'major', // deprecated\n MODEL = 'model',\n NAME = 'name',\n TYPE = 'type',\n VENDOR = 'vendor',\n VERSION = 'version',\n ARCHITECTURE= 'architecture',\n CONSOLE = 'console',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n SMARTTV = 'smarttv',\n WEARABLE = 'wearable',\n EMBEDDED = 'embedded';\n\n\n ///////////\n // Helper\n //////////\n\n\n var util = {\n extend : function (regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\n }\n return mergedRegexes;\n },\n has : function (str1, str2) {\n if (typeof str1 === \"string\") {\n return str2.toLowerCase().indexOf(str1.toLowerCase()) !== -1;\n } else {\n return false;\n }\n },\n lowerize : function (str) {\n return str.toLowerCase();\n },\n major : function (version) {\n return typeof(version) === STR_TYPE ? version.replace(/[^\\d\\.]/g,'').split(\".\")[0] : undefined;\n },\n trim : function (str) {\n return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n }\n };\n\n\n ///////////////\n // Map helper\n //////////////\n\n\n var mapper = {\n\n rgx : function (ua, arrays) {\n\n var i = 0, j, k, p, q, matches, match;\n\n // loop through all regexes maps\n while (i < arrays.length && !matches) {\n\n var regex = arrays[i], // even sequence (0,2,4,..)\n props = arrays[i + 1]; // odd sequence (1,3,5,..)\n j = k = 0;\n\n // try matching uastring with regexes\n while (j < regex.length && !matches) {\n\n matches = regex[j++].exec(ua);\n\n if (!!matches) {\n for (p = 0; p < props.length; p++) {\n match = matches[++k];\n q = props[p];\n // check if given property is actually array\n if (typeof q === OBJ_TYPE && q.length > 0) {\n if (q.length == 2) {\n if (typeof q[1] == FUNC_TYPE) {\n // assign modified match\n this[q[0]] = q[1].call(this, match);\n } else {\n // assign given value, ignore regex match\n this[q[0]] = q[1];\n }\n } else if (q.length == 3) {\n // check whether function or regex\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n // call function (usually string mapper)\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n // sanitize match using given regex\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length == 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n i += 2;\n }\n },\n\n str : function (str, map) {\n\n for (var i in map) {\n // check if array\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (util.has(map[i][j], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n } else if (util.has(map[i], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n return str;\n }\n };\n\n\n ///////////////\n // String map\n //////////////\n\n\n var maps = {\n\n browser : {\n oldsafari : {\n version : {\n '1.0' : '/8',\n '1.2' : '/1',\n '1.3' : '/3',\n '2.0' : '/412',\n '2.0.2' : '/416',\n '2.0.3' : '/417',\n '2.0.4' : '/419',\n '?' : '/'\n }\n }\n },\n\n device : {\n amazon : {\n model : {\n 'Fire Phone' : ['SD', 'KF']\n }\n },\n sprint : {\n model : {\n 'Evo Shift 4G' : '7373KT'\n },\n vendor : {\n 'HTC' : 'APA',\n 'Sprint' : 'Sprint'\n }\n }\n },\n\n os : {\n windows : {\n version : {\n 'ME' : '4.90',\n 'NT 3.11' : 'NT3.51',\n 'NT 4.0' : 'NT4.0',\n '2000' : 'NT 5.0',\n 'XP' : ['NT 5.1', 'NT 5.2'],\n 'Vista' : 'NT 6.0',\n '7' : 'NT 6.1',\n '8' : 'NT 6.2',\n '8.1' : 'NT 6.3',\n '10' : ['NT 6.4', 'NT 10.0'],\n 'RT' : 'ARM'\n }\n }\n }\n };\n\n\n //////////////\n // Regex map\n /////////////\n\n\n var regexes = {\n\n browser : [[\n\n // Presto based\n /(opera\\smini)\\/([\\w\\.-]+)/i, // Opera Mini\n /(opera\\s[mobiletab]+).+version\\/([\\w\\.-]+)/i, // Opera Mobi/Tablet\n /(opera).+version\\/([\\w\\.]+)/i, // Opera > 9.80\n /(opera)[\\/\\s]+([\\w\\.]+)/i // Opera < 9.80\n ], [NAME, VERSION], [\n\n /(opios)[\\/\\s]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n ], [[NAME, 'Opera Mini'], VERSION], [\n\n /\\s(opr)\\/([\\w\\.]+)/i // Opera Webkit\n ], [[NAME, 'Opera'], VERSION], [\n\n // Mixed\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/\\s]?([\\w\\.]*)/i,\n // Lunascape/Maxthon/Netfront/Jasmine/Blazer\n\n // Trident based\n /(avant\\s|iemobile|slim|baidu)(?:browser)?[\\/\\s]?([\\w\\.]*)/i,\n // Avant/IEMobile/SlimBrowser/Baidu\n /(?:ms|\\()(ie)\\s([\\w\\.]+)/i, // Internet Explorer\n\n // Webkit/KHTML based\n /(rekonq)\\/([\\w\\.]*)/i, // Rekonq\n /(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon)\\/([\\w\\.-]+)/i\n // Chromium/Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n ], [NAME, VERSION], [\n\n /(konqueror)\\/([\\w\\.]+)/i // Konqueror\n ], [[NAME, 'Konqueror'], VERSION], [\n\n /(trident).+rv[:\\s]([\\w\\.]+).+like\\sgecko/i // IE11\n ], [[NAME, 'IE'], VERSION], [\n\n /(edge|edgios|edga|edg)\\/((\\d+)?[\\w\\.]+)/i // Microsoft Edge\n ], [[NAME, 'Edge'], VERSION], [\n\n /(yabrowser)\\/([\\w\\.]+)/i // Yandex\n ], [[NAME, 'Yandex'], VERSION], [\n\n /(puffin)\\/([\\w\\.]+)/i // Puffin\n ], [[NAME, 'Puffin'], VERSION], [\n\n /(focus)\\/([\\w\\.]+)/i // Firefox Focus\n ], [[NAME, 'Firefox Focus'], VERSION], [\n\n /(opt)\\/([\\w\\.]+)/i // Opera Touch\n ], [[NAME, 'Opera Touch'], VERSION], [\n\n /((?:[\\s\\/])uc?\\s?browser|(?:juc.+)ucweb)[\\/\\s]?([\\w\\.]+)/i // UCBrowser\n ], [[NAME, 'UCBrowser'], VERSION], [\n\n /(comodo_dragon)\\/([\\w\\.]+)/i // Comodo Dragon\n ], [[NAME, /_/g, ' '], VERSION], [\n\n /(windowswechat qbcore)\\/([\\w\\.]+)/i // WeChat Desktop for Windows Built-in Browser\n ], [[NAME, 'WeChat(Win) Desktop'], VERSION], [\n\n /(micromessenger)\\/([\\w\\.]+)/i // WeChat\n ], [[NAME, 'WeChat'], VERSION], [\n\n /(brave)\\/([\\w\\.]+)/i // Brave browser\n ], [[NAME, 'Brave'], VERSION], [\n\n /(qqbrowserlite)\\/([\\w\\.]+)/i // QQBrowserLite\n ], [NAME, VERSION], [\n\n /(QQ)\\/([\\d\\.]+)/i // QQ, aka ShouQ\n ], [NAME, VERSION], [\n\n /m?(qqbrowser)[\\/\\s]?([\\w\\.]+)/i // QQBrowser\n ], [NAME, VERSION], [\n\n /(BIDUBrowser)[\\/\\s]?([\\w\\.]+)/i // Baidu Browser\n ], [NAME, VERSION], [\n\n /(2345Explorer)[\\/\\s]?([\\w\\.]+)/i // 2345 Browser\n ], [NAME, VERSION], [\n\n /(MetaSr)[\\/\\s]?([\\w\\.]+)/i // SouGouBrowser\n ], [NAME], [\n\n /(LBBROWSER)/i // LieBao Browser\n ], [NAME], [\n\n /xiaomi\\/miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n ], [VERSION, [NAME, 'MIUI Browser']], [\n\n /;fbav\\/([\\w\\.]+);/i // Facebook App for iOS & Android\n ], [VERSION, [NAME, 'Facebook']], [\n\n /safari\\s(line)\\/([\\w\\.]+)/i, // Line App for iOS\n /android.+(line)\\/([\\w\\.]+)\\/iab/i // Line App for Android\n ], [NAME, VERSION], [\n\n /headlesschrome(?:\\/([\\w\\.]+)|\\s)/i // Chrome Headless\n ], [VERSION, [NAME, 'Chrome Headless']], [\n\n /\\swv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n ], [[NAME, /(.+)/, '$1 WebView'], VERSION], [\n\n /((?:oculus|samsung)browser)\\/([\\w\\.]+)/i\n ], [[NAME, /(.+(?:g|us))(.+)/, '$1 $2'], VERSION], [ // Oculus / Samsung Browser\n\n /android.+version\\/([\\w\\.]+)\\s+(?:mobile\\s?safari|safari)*/i // Android Browser\n ], [VERSION, [NAME, 'Android Browser']], [\n\n /(sailfishbrowser)\\/([\\w\\.]+)/i // Sailfish Browser\n ], [[NAME, 'Sailfish Browser'], VERSION], [\n\n /(chrome|omniweb|arora|[tizenoka]{5}\\s?browser)\\/v?([\\w\\.]+)/i\n // Chrome/OmniWeb/Arora/Tizen/Nokia\n ], [NAME, VERSION], [\n\n /(dolfin)\\/([\\w\\.]+)/i // Dolphin\n ], [[NAME, 'Dolphin'], VERSION], [\n\n /((?:android.+)crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ], [[NAME, 'Chrome'], VERSION], [\n\n /(coast)\\/([\\w\\.]+)/i // Opera Coast\n ], [[NAME, 'Opera Coast'], VERSION], [\n\n /fxios\\/([\\w\\.-]+)/i // Firefox for iOS\n ], [VERSION, [NAME, 'Firefox']], [\n\n /version\\/([\\w\\.]+).+?mobile\\/\\w+\\s(safari)/i // Mobile Safari\n ], [VERSION, [NAME, 'Mobile Safari']], [\n\n /version\\/([\\w\\.]+).+?(mobile\\s?safari|safari)/i // Safari & Safari Mobile\n ], [VERSION, NAME], [\n\n /webkit.+?(gsa)\\/([\\w\\.]+).+?(mobile\\s?safari|safari)(\\/[\\w\\.]+)/i // Google Search Appliance on iOS\n ], [[NAME, 'GSA'], VERSION], [\n\n /webkit.+?(mobile\\s?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ], [NAME, [VERSION, mapper.str, maps.browser.oldsafari.version]], [\n\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ], [NAME, VERSION], [\n\n // Gecko based\n /(navigator|netscape)\\/([\\w\\.-]+)/i // Netscape\n ], [[NAME, 'Netscape'], VERSION], [\n /(swiftfox)/i, // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo\\sbrowser|minimo|conkeror)[\\/\\s]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror\n /(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([\\w\\.-]+)$/i,\n\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(mozilla)\\/([\\w\\.]+).+rv\\:.+gecko\\/\\d+/i, // Mozilla\n\n // Other\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\\/\\s]?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir\n /(links)\\s\\(([\\w\\.]+)/i, // Links\n /(gobrowser)\\/?([\\w\\.]*)/i, // GoBrowser\n /(ice\\s?browser)\\/v?([\\w\\._]+)/i, // ICE Browser\n /(mosaic)[\\/\\s]([\\w\\.]+)/i // Mosaic\n ], [NAME, VERSION]\n ],\n\n cpu : [[\n\n /(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\\)]/i // AMD64\n ], [[ARCHITECTURE, 'amd64']], [\n\n /(ia32(?=;))/i // IA32 (quicktime)\n ], [[ARCHITECTURE, util.lowerize]], [\n\n /((?:i[346]|x)86)[;\\)]/i // IA32\n ], [[ARCHITECTURE, 'ia32']], [\n\n // PocketPC mistakenly identified as PowerPC\n /windows\\s(ce|mobile);\\sppc;/i\n ], [[ARCHITECTURE, 'arm']], [\n\n /((?:ppc|powerpc)(?:64)?)(?:\\smac|;|\\))/i // PowerPC\n ], [[ARCHITECTURE, /ower/, '', util.lowerize]], [\n\n /(sun4\\w)[;\\)]/i // SPARC\n ], [[ARCHITECTURE, 'sparc']], [\n\n /((?:avr32|ia64(?=;))|68k(?=\\))|arm(?:64|(?=v\\d+[;l]))|(?=atmel\\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i\n // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n ], [[ARCHITECTURE, util.lowerize]]\n ],\n\n device : [[\n\n /\\((ipad|playbook);[\\w\\s\\),;-]+(rim|apple)/i // iPad/PlayBook\n ], [MODEL, VENDOR, [TYPE, TABLET]], [\n\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/ // iPad\n ], [MODEL, [VENDOR, 'Apple'], [TYPE, TABLET]], [\n\n /(apple\\s{0,1}tv)/i // Apple TV\n ], [[MODEL, 'Apple TV'], [VENDOR, 'Apple']], [\n\n /(archos)\\s(gamepad2?)/i, // Archos\n /(hp).+(touchpad)/i, // HP TouchPad\n /(hp).+(tablet)/i, // HP Tablet\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /\\s(nook)[\\w\\s]+build\\/(\\w+)/i, // Nook\n /(dell)\\s(strea[kpr\\s\\d]*[\\dko])/i // Dell Streak\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /(kf[A-z]+)\\sbuild\\/.+silk\\//i // Kindle Fire HD\n ], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [\n /(sd|kf)[0349hijorstuw]+\\sbuild\\/.+silk\\//i // Fire Phone\n ], [[MODEL, mapper.str, maps.device.amazon.model], [VENDOR, 'Amazon'], [TYPE, MOBILE]], [\n /android.+aft([bms])\\sbuild/i // Fire TV\n ], [MODEL, [VENDOR, 'Amazon'], [TYPE, SMARTTV]], [\n\n /\\((ip[honed|\\s\\w*]+);.+(apple)/i // iPod/iPhone\n ], [MODEL, VENDOR, [TYPE, MOBILE]], [\n /\\((ip[honed|\\s\\w*]+);/i // iPod/iPhone\n ], [MODEL, [VENDOR, 'Apple'], [TYPE, MOBILE]], [\n\n /(blackberry)[\\s-]?(\\w+)/i, // BlackBerry\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\\s_-]?([\\w-]*)/i,\n // BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\n /(hp)\\s([\\w\\s]+\\w)/i, // HP iPAQ\n /(asus)-?(\\w+)/i // Asus\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n /\\(bb10;\\s(\\w+)/i // BlackBerry 10\n ], [MODEL, [VENDOR, 'BlackBerry'], [TYPE, MOBILE]], [\n // Asus Tablets\n /android.+(transfo[prime\\s]{4,10}\\s\\w+|eeepc|slider\\s\\w+|nexus 7|padfone|p00c)/i\n ], [MODEL, [VENDOR, 'Asus'], [TYPE, TABLET]], [\n\n /(sony)\\s(tablet\\s[ps])\\sbuild\\//i, // Sony\n /(sony)?(?:sgp.+)\\sbuild\\//i\n ], [[VENDOR, 'Sony'], [MODEL, 'Xperia Tablet'], [TYPE, TABLET]], [\n /android.+\\s([c-g]\\d{4}|so[-l]\\w+)(?=\\sbuild\\/|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n ], [MODEL, [VENDOR, 'Sony'], [TYPE, MOBILE]], [\n\n /\\s(ouya)\\s/i, // Ouya\n /(nintendo)\\s([wids3u]+)/i // Nintendo\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n\n /android.+;\\s(shield)\\sbuild/i // Nvidia\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [\n\n /(playstation\\s[34portablevi]+)/i // Playstation\n ], [MODEL, [VENDOR, 'Sony'], [TYPE, CONSOLE]], [\n\n /(sprint\\s(\\w+))/i // Sprint Phones\n ], [[VENDOR, mapper.str, maps.device.sprint.vendor], [MODEL, mapper.str, maps.device.sprint.model], [TYPE, MOBILE]], [\n\n /(htc)[;_\\s-]+([\\w\\s]+(?=\\)|\\sbuild)|\\w+)/i, // HTC\n /(zte)-(\\w*)/i, // ZTE\n /(alcatel|geeksphone|nexian|panasonic|(?=;\\s)sony)[_\\s-]?([\\w-]*)/i\n // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\n\n /(nexus\\s9)/i // HTC Nexus 9\n ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\n\n /d\\/huawei([\\w\\s-]+)[;\\)]/i,\n /(nexus\\s6p)/i // Huawei\n ], [MODEL, [VENDOR, 'Huawei'], [TYPE, MOBILE]], [\n\n /(microsoft);\\s(lumia[\\s\\w]+)/i // Microsoft Lumia\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /[\\s\\(;](xbox(?:\\sone)?)[\\s\\);]/i // Microsoft Xbox\n ], [MODEL, [VENDOR, 'Microsoft'], [TYPE, CONSOLE]], [\n /(kin\\.[onetw]{3})/i // Microsoft Kin\n ], [[MODEL, /\\./g, ' '], [VENDOR, 'Microsoft'], [TYPE, MOBILE]], [\n\n // Motorola\n /\\s(milestone|droid(?:[2-4x]|\\s(?:bionic|x2|pro|razr))?:?(\\s4g)?)[\\w\\s]+build\\//i,\n /mot[\\s-]?(\\w*)/i,\n /(XT\\d{3,4}) build\\//i,\n /(nexus\\s6)/i\n ], [MODEL, [VENDOR, 'Motorola'], [TYPE, MOBILE]], [\n /android.+\\s(mz60\\d|xoom[\\s2]{0,2})\\sbuild\\//i\n ], [MODEL, [VENDOR, 'Motorola'], [TYPE, TABLET]], [\n\n /hbbtv\\/\\d+\\.\\d+\\.\\d+\\s+\\([\\w\\s]*;\\s*(\\w[^;]*);([^;]*)/i // HbbTV devices\n ], [[VENDOR, util.trim], [MODEL, util.trim], [TYPE, SMARTTV]], [\n\n /hbbtv.+maple;(\\d+)/i\n ], [[MODEL, /^/, 'SmartTV'], [VENDOR, 'Samsung'], [TYPE, SMARTTV]], [\n\n /\\(dtv[\\);].+(aquos)/i // Sharp\n ], [MODEL, [VENDOR, 'Sharp'], [TYPE, SMARTTV]], [\n\n /android.+((sch-i[89]0\\d|shw-m380s|gt-p\\d{4}|gt-n\\d+|sgh-t8[56]9|nexus 10))/i,\n /((SM-T\\w+))/i\n ], [[VENDOR, 'Samsung'], MODEL, [TYPE, TABLET]], [ // Samsung\n /smart-tv.+(samsung)/i\n ], [VENDOR, [TYPE, SMARTTV], MODEL], [\n /((s[cgp]h-\\w+|gt-\\w+|galaxy\\snexus|sm-\\w[\\w\\d]+))/i,\n /(sam[sung]*)[\\s-]*(\\w+-?[\\w-]*)/i,\n /sec-((sgh\\w+))/i\n ], [[VENDOR, 'Samsung'], MODEL, [TYPE, MOBILE]], [\n\n /sie-(\\w*)/i // Siemens\n ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [\n\n /(maemo|nokia).*(n900|lumia\\s\\d+)/i, // Nokia\n /(nokia)[\\s_-]?([\\w-]*)/i\n ], [[VENDOR, 'Nokia'], MODEL, [TYPE, MOBILE]], [\n\n /android[x\\d\\.\\s;]+\\s([ab][1-7]\\-?[0178a]\\d\\d?)/i // Acer\n ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\n\n /android.+([vl]k\\-?\\d{3})\\s+build/i // LG Tablet\n ], [MODEL, [VENDOR, 'LG'], [TYPE, TABLET]], [\n /android\\s3\\.[\\s\\w;-]{10}(lg?)-([06cv9]{3,4})/i // LG Tablet\n ], [[VENDOR, 'LG'], MODEL, [TYPE, TABLET]], [\n /(lg) netcast\\.tv/i // LG SmartTV\n ], [VENDOR, MODEL, [TYPE, SMARTTV]], [\n /(nexus\\s[45])/i, // LG\n /lg[e;\\s\\/-]+(\\w*)/i,\n /android.+lg(\\-?[\\d\\w]+)\\s+build/i\n ], [MODEL, [VENDOR, 'LG'], [TYPE, MOBILE]], [\n\n /(lenovo)\\s?(s(?:5000|6000)(?:[\\w-]+)|tab(?:[\\s\\w]+))/i // Lenovo tablets\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n /android.+(ideatab[a-z0-9\\-\\s]+)/i // Lenovo\n ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [\n /(lenovo)[_\\s-]?([\\w-]+)/i\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /linux;.+((jolla));/i // Jolla\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /((pebble))app\\/[\\d\\.]+\\s/i // Pebble\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n\n /android.+;\\s(oppo)\\s?([\\w\\s]+)\\sbuild/i // OPPO\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /crkey/i // Google Chromecast\n ], [[MODEL, 'Chromecast'], [VENDOR, 'Google']], [\n\n /android.+;\\s(glass)\\s\\d/i // Google Glass\n ], [MODEL, [VENDOR, 'Google'], [TYPE, WEARABLE]], [\n\n /android.+;\\s(pixel c)[\\s)]/i // Google Pixel C\n ], [MODEL, [VENDOR, 'Google'], [TYPE, TABLET]], [\n\n /android.+;\\s(pixel( [23])?( xl)?)[\\s)]/i // Google Pixel\n ], [MODEL, [VENDOR, 'Google'], [TYPE, MOBILE]], [\n\n /android.+;\\s(\\w+)\\s+build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n /android.+(hm[\\s\\-_]*note?[\\s_]*(?:\\d\\w)?)\\s+build/i, // Xiaomi Hongmi\n /android.+(mi[\\s\\-_]*(?:a\\d|one|one[\\s_]plus|note lte)?[\\s_]*(?:\\d?\\w?)[\\s_]*(?:plus)?)\\s+build/i, \n // Xiaomi Mi\n /android.+(redmi[\\s\\-_]*(?:note)?(?:[\\s_]*[\\w\\s]+))\\s+build/i // Redmi Phones\n ], [[MODEL, /_/g, ' '], [VENDOR, 'Xiaomi'], [TYPE, MOBILE]], [\n /android.+(mi[\\s\\-_]*(?:pad)(?:[\\s_]*[\\w\\s]+))\\s+build/i // Mi Pad tablets\n ],[[MODEL, /_/g, ' '], [VENDOR, 'Xiaomi'], [TYPE, TABLET]], [\n /android.+;\\s(m[1-5]\\snote)\\sbuild/i // Meizu\n ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\n /(mz)-([\\w-]{2,})/i\n ], [[VENDOR, 'Meizu'], MODEL, [TYPE, MOBILE]], [\n\n /android.+a000(1)\\s+build/i, // OnePlus\n /android.+oneplus\\s(a\\d{4})\\s+build/i\n ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [\n\n /android.+[;\\/]\\s*(RCT[\\d\\w]+)\\s+build/i // RCA Tablets\n ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [\n\n /android.+[;\\/\\s]+(Venue[\\d\\s]{2,7})\\s+build/i // Dell Venue Tablets\n ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(Q[T|M][\\d\\w]+)\\s+build/i // Verizon Tablet\n ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s+(Barnes[&\\s]+Noble\\s+|BN[RT])(V?.*)\\s+build/i // Barnes & Noble Tablet\n ], [[VENDOR, 'Barnes & Noble'], MODEL, [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s+(TM\\d{3}.*\\b)\\s+build/i // Barnes & Noble Tablet\n ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [\n\n /android.+;\\s(k88)\\sbuild/i // ZTE K Series Tablet\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(gen\\d{3})\\s+build.*49h/i // Swiss GEN Mobile\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [\n\n /android.+[;\\/]\\s*(zur\\d{3})\\s+build/i // Swiss ZUR Tablet\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*((Zeki)?TB.*\\b)\\s+build/i // Zeki Tablets\n ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [\n\n /(android).+[;\\/]\\s+([YR]\\d{2})\\s+build/i,\n /android.+[;\\/]\\s+(Dragon[\\-\\s]+Touch\\s+|DT)(\\w{5})\\sbuild/i // Dragon Touch Tablet\n ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(NS-?\\w{0,9})\\sbuild/i // Insignia Tablets\n ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*((NX|Next)-?\\w{0,9})\\s+build/i // NextBook Tablets\n ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(Xtreme\\_)?(V(1[045]|2[015]|30|40|60|7[05]|90))\\s+build/i\n ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [ // Voice Xtreme Phones\n\n /android.+[;\\/]\\s*(LVTEL\\-)?(V1[12])\\s+build/i // LvTel Phones\n ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [\n\n /android.+;\\s(PH-1)\\s/i\n ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [ // Essential PH-1\n\n /android.+[;\\/]\\s*(V(100MD|700NA|7011|917G).*\\b)\\s+build/i // Envizen Tablets\n ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(Le[\\s\\-]+Pan)[\\s\\-]+(\\w{1,9})\\s+build/i // Le Pan Tablets\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(Trio[\\s\\-]*.*)\\s+build/i // MachSpeed Tablets\n ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*(Trinity)[\\-\\s]*(T\\d{3})\\s+build/i // Trinity Tablets\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /android.+[;\\/]\\s*TU_(1491)\\s+build/i // Rotor Tablets\n ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [\n\n /android.+(KS(.+))\\s+build/i // Amazon Kindle Tablets\n ], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [\n\n /android.+(Gigaset)[\\s\\-]+(Q\\w{1,9})\\s+build/i // Gigaset Tablets\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /\\s(tablet|tab)[;\\/]/i, // Unidentifiable Tablet\n /\\s(mobile)(?:[;\\/]|\\ssafari)/i // Unidentifiable Mobile\n ], [[TYPE, util.lowerize], VENDOR, MODEL], [\n\n /[\\s\\/\\(](smart-?tv)[;\\)]/i // SmartTV\n ], [[TYPE, SMARTTV]], [\n\n /(android[\\w\\.\\s\\-]{0,9});.+build/i // Generic Android Device\n ], [MODEL, [VENDOR, 'Generic']]\n ],\n\n engine : [[\n\n /windows.+\\sedge\\/([\\w\\.]+)/i // EdgeHTML\n ], [VERSION, [NAME, 'EdgeHTML']], [\n\n /webkit\\/537\\.36.+chrome\\/(?!27)/i // Blink\n ], [[NAME, 'Blink']], [\n\n /(presto)\\/([\\w\\.]+)/i, // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, \n // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\n /(khtml|tasman|links)[\\/\\s]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n /(icab)[\\/\\s]([23]\\.[\\d\\.]+)/i // iCab\n ], [NAME, VERSION], [\n\n /rv\\:([\\w\\.]{1,9}).+(gecko)/i // Gecko\n ], [VERSION, NAME]\n ],\n\n os : [[\n\n // Windows based\n /microsoft\\s(windows)\\s(vista|xp)/i // Windows (iTunes)\n ], [NAME, VERSION], [\n /(windows)\\snt\\s6\\.2;\\s(arm)/i, // Windows RT\n /(windows\\sphone(?:\\sos)*)[\\s\\/]?([\\d\\.\\s\\w]*)/i, // Windows Phone\n /(windows\\smobile|windows)[\\s\\/]?([ntce\\d\\.\\s]+\\w)/i\n ], [NAME, [VERSION, mapper.str, maps.os.windows.version]], [\n /(win(?=3|9|n)|win\\s9x\\s)([nt\\d\\.]+)/i\n ], [[NAME, 'Windows'], [VERSION, mapper.str, maps.os.windows.version]], [\n\n // Mobile/Embedded OS\n /\\((bb)(10);/i // BlackBerry 10\n ], [[NAME, 'BlackBerry'], VERSION], [\n /(blackberry)\\w*\\/?([\\w\\.]*)/i, // Blackberry\n /(tizen)[\\/\\s]([\\w\\.]+)/i, // Tizen\n /(android|webos|palm\\sos|qnx|bada|rim\\stablet\\sos|meego|sailfish|contiki)[\\/\\s-]?([\\w\\.]*)/i\n // Android/WebOS/Palm/QNX/Bada/RIM/MeeGo/Contiki/Sailfish OS\n ], [NAME, VERSION], [\n /(symbian\\s?os|symbos|s60(?=;))[\\/\\s-]?([\\w\\.]*)/i // Symbian\n ], [[NAME, 'Symbian'], VERSION], [\n /\\((series40);/i // Series 40\n ], [NAME], [\n /mozilla.+\\(mobile;.+gecko.+firefox/i // Firefox OS\n ], [[NAME, 'Firefox OS'], VERSION], [\n\n // Console\n /(nintendo|playstation)\\s([wids34portablevu]+)/i, // Nintendo/Playstation\n\n // GNU/Linux based\n /(mint)[\\/\\s\\(]?(\\w*)/i, // Mint\n /(mageia|vectorlinux)[;\\s]/i, // Mageia/VectorLinux\n /(joli|[kxln]?ubuntu|debian|suse|opensuse|gentoo|(?=\\s)arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\\/\\s-]?(?!chrom)([\\w\\.-]*)/i,\n // Joli/Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware\n // Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus\n /(hurd|linux)\\s?([\\w\\.]*)/i, // Hurd/Linux\n /(gnu)\\s?([\\w\\.]*)/i // GNU\n ], [NAME, VERSION], [\n\n /(cros)\\s[\\w]+\\s([\\w\\.]+\\w)/i // Chromium OS\n ], [[NAME, 'Chromium OS'], VERSION],[\n\n // Solaris\n /(sunos)\\s?([\\w\\.\\d]*)/i // Solaris\n ], [[NAME, 'Solaris'], VERSION], [\n\n // BSD based\n /\\s([frentopc-]{0,4}bsd|dragonfly)\\s?([\\w\\.]*)/i // FreeBSD/NetBSD/OpenBSD/PC-BSD/DragonFly\n ], [NAME, VERSION],[\n\n /(haiku)\\s(\\w+)/i // Haiku\n ], [NAME, VERSION],[\n\n /cfnetwork\\/.+darwin/i,\n /ip[honead]{2,4}(?:.*os\\s([\\w]+)\\slike\\smac|;\\sopera)/i // iOS\n ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\n\n /(mac\\sos\\sx)\\s?([\\w\\s\\.]*)/i,\n /(macintosh|mac(?=_powerpc)\\s)/i // Mac OS\n ], [[NAME, 'Mac OS'], [VERSION, /_/g, '.']], [\n\n // Other\n /((?:open)?solaris)[\\/\\s-]?([\\w\\.]*)/i, // Solaris\n /(aix)\\s((\\d)(?=\\.|\\)|\\s)[\\w\\.])*/i, // AIX\n /(plan\\s9|minix|beos|os\\/2|amigaos|morphos|risc\\sos|openvms|fuchsia)/i,\n // Plan9/Minix/BeOS/OS2/AmigaOS/MorphOS/RISCOS/OpenVMS/Fuchsia\n /(unix)\\s?([\\w\\.]*)/i // UNIX\n ], [NAME, VERSION]\n ]\n };\n\n\n /////////////////\n // Constructor\n ////////////////\n var UAParser = function (uastring, extensions) {\n\n if (typeof uastring === 'object') {\n extensions = uastring;\n uastring = undefined;\n }\n\n if (!(this instanceof UAParser)) {\n return new UAParser(uastring, extensions).getResult();\n }\n\n var ua = uastring || ((window && window.navigator && window.navigator.userAgent) ? window.navigator.userAgent : EMPTY);\n var rgxmap = extensions ? util.extend(regexes, extensions) : regexes;\n\n this.getBrowser = function () {\n var browser = { name: undefined, version: undefined };\n mapper.rgx.call(browser, ua, rgxmap.browser);\n browser.major = util.major(browser.version); // deprecated\n return browser;\n };\n this.getCPU = function () {\n var cpu = { architecture: undefined };\n mapper.rgx.call(cpu, ua, rgxmap.cpu);\n return cpu;\n };\n this.getDevice = function () {\n var device = { vendor: undefined, model: undefined, type: undefined };\n mapper.rgx.call(device, ua, rgxmap.device);\n return device;\n };\n this.getEngine = function () {\n var engine = { name: undefined, version: undefined };\n mapper.rgx.call(engine, ua, rgxmap.engine);\n return engine;\n };\n this.getOS = function () {\n var os = { name: undefined, version: undefined };\n mapper.rgx.call(os, ua, rgxmap.os);\n return os;\n };\n this.getResult = function () {\n return {\n ua : this.getUA(),\n browser : this.getBrowser(),\n engine : this.getEngine(),\n os : this.getOS(),\n device : this.getDevice(),\n cpu : this.getCPU()\n };\n };\n this.getUA = function () {\n return ua;\n };\n this.setUA = function (uastring) {\n ua = uastring;\n return this;\n };\n return this;\n };\n\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = {\n NAME : NAME,\n MAJOR : MAJOR, // deprecated\n VERSION : VERSION\n };\n UAParser.CPU = {\n ARCHITECTURE : ARCHITECTURE\n };\n UAParser.DEVICE = {\n MODEL : MODEL,\n VENDOR : VENDOR,\n TYPE : TYPE,\n CONSOLE : CONSOLE,\n MOBILE : MOBILE,\n SMARTTV : SMARTTV,\n TABLET : TABLET,\n WEARABLE: WEARABLE,\n EMBEDDED: EMBEDDED\n };\n UAParser.ENGINE = {\n NAME : NAME,\n VERSION : VERSION\n };\n UAParser.OS = {\n NAME : NAME,\n VERSION : VERSION\n };\n\n ///////////\n // Export\n //////////\n\n\n // check js environment\n if (typeof(exports) !== UNDEF_TYPE) {\n // nodejs env\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n exports.UAParser = UAParser;\n } else {\n // requirejs env (optional)\n if (typeof(define) === 'function' && define.amd) {\n define(function () {\n return UAParser;\n });\n } else if (window) {\n // browser env\n window.UAParser = UAParser;\n }\n }\n\n // jQuery/Zepto specific (optional)\n // Note:\n // In AMD env the global scope should be kept clean, but jQuery is an exception.\n // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n // and we should catch that.\n var $ = window && (window.jQuery || window.Zepto);\n if (typeof $ !== UNDEF_TYPE && !$.ua) {\n var parser = new UAParser();\n $.ua = parser.getResult();\n $.ua.get = function () {\n return parser.getUA();\n };\n $.ua.set = function (uastring) {\n parser.setUA(uastring);\n var result = parser.getResult();\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n\n})(typeof window === 'object' ? window : this);\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'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 __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\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 // --- 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(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 if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_mobx__;","module.exports = __WEBPACK_EXTERNAL_MODULE_moment__;","module.exports = __WEBPACK_EXTERNAL_MODULE_react__;","module.exports = __WEBPACK_EXTERNAL_MODULE_react_dom__;"],"sourceRoot":""}
\No newline at end of file