UNPKG

4.58 MBSource Map (JSON)View Raw
1{"version":3,"sources":["webpack://antd/webpack/universalModuleDefinition","webpack://antd/webpack/bootstrap","webpack://antd/./components sync ^\\.\\/[^_][\\w-]+\\/style\\/index\\.js","webpack://antd/./components/_util/BaseMixin.js","webpack://antd/./components/_util/ContainerRender.jsx","webpack://antd/./components/_util/FormDecoratorDirective.js","webpack://antd/./components/_util/KeyCode.js","webpack://antd/./components/_util/Portal.js","webpack://antd/./components/_util/PortalWrapper.js","webpack://antd/./components/_util/antDirective.js","webpack://antd/./components/_util/antInputDirective.js","webpack://antd/./components/_util/colors.js","webpack://antd/./components/_util/createChainedFunction.js","webpack://antd/./components/_util/css-animation/Event.js","webpack://antd/./components/_util/css-animation/index.js","webpack://antd/./components/_util/easings.js","webpack://antd/./components/_util/env.js","webpack://antd/./components/_util/getRequestAnimationFrame.js","webpack://antd/./components/_util/getScroll.js","webpack://antd/./components/_util/getScrollBarSize.js","webpack://antd/./components/_util/getTransitionProps.js","webpack://antd/./components/_util/interopDefault.js","webpack://antd/./components/_util/isFlexSupported.js","webpack://antd/./components/_util/isNumeric.js","webpack://antd/./components/_util/isValid.js","webpack://antd/./components/_util/moment-util.js","webpack://antd/./components/_util/openAnimation.js","webpack://antd/./components/_util/portalDirective.js","webpack://antd/./components/_util/props-util.js","webpack://antd/./components/_util/proxyComponent.jsx","webpack://antd/./components/_util/raf.js","webpack://antd/./components/_util/requestAnimationTimeout.js","webpack://antd/./components/_util/responsiveObserve.js","webpack://antd/./components/_util/scrollTo.js","webpack://antd/./components/_util/setStyle.js","webpack://antd/./components/_util/store/PropTypes.js","webpack://antd/./components/_util/store/Provider.jsx","webpack://antd/./components/_util/store/connect.jsx","webpack://antd/./components/_util/store/create.js","webpack://antd/./components/_util/store/index.js","webpack://antd/./components/_util/styleChecker.js","webpack://antd/./components/_util/switchScrollingEffect.js","webpack://antd/./components/_util/throttleByAnimationFrame.js","webpack://antd/./components/_util/transButton.jsx","webpack://antd/./components/_util/triggerEvent.js","webpack://antd/./components/_util/type.js","webpack://antd/./components/_util/vnode.js","webpack://antd/./components/_util/vue-types/index.js","webpack://antd/./components/_util/vue-types/utils.js","webpack://antd/./components/_util/warning.js","webpack://antd/./components/_util/wave.jsx","webpack://antd/./components/affix/index.jsx","webpack://antd/./components/affix/style/index.js","webpack://antd/./components/affix/style/index.less?dbbc","webpack://antd/./components/affix/utils.js","webpack://antd/./components/alert/index.jsx","webpack://antd/./components/alert/style/index.js","webpack://antd/./components/alert/style/index.less?f692","webpack://antd/./components/anchor/Anchor.jsx","webpack://antd/./components/anchor/AnchorLink.jsx","webpack://antd/./components/anchor/index.jsx","webpack://antd/./components/anchor/style/index.js","webpack://antd/./components/anchor/style/index.less?4d71","webpack://antd/./components/auto-complete/InputElement.jsx","webpack://antd/./components/auto-complete/index.jsx","webpack://antd/./components/auto-complete/style/index.js","webpack://antd/./components/auto-complete/style/index.less?e3f7","webpack://antd/./components/avatar/Avatar.jsx","webpack://antd/./components/avatar/index.js","webpack://antd/./components/avatar/style/index.js","webpack://antd/./components/avatar/style/index.less?778f","webpack://antd/./components/back-top/index.jsx","webpack://antd/./components/back-top/style/index.js","webpack://antd/./components/back-top/style/index.less?8c5e","webpack://antd/./components/badge/Badge.jsx","webpack://antd/./components/badge/ScrollNumber.jsx","webpack://antd/./components/badge/index.js","webpack://antd/./components/badge/style/index.js","webpack://antd/./components/badge/style/index.less?c978","webpack://antd/./components/base/index.js","webpack://antd/./components/base/style/index.js","webpack://antd/./components/breadcrumb/Breadcrumb.jsx","webpack://antd/./components/breadcrumb/BreadcrumbItem.jsx","webpack://antd/./components/breadcrumb/BreadcrumbSeparator.jsx","webpack://antd/./components/breadcrumb/index.js","webpack://antd/./components/breadcrumb/style/index.js","webpack://antd/./components/breadcrumb/style/index.less?0e43","webpack://antd/./components/button/button-group.jsx","webpack://antd/./components/button/button.jsx","webpack://antd/./components/button/buttonTypes.js","webpack://antd/./components/button/index.js","webpack://antd/./components/button/style/index.js","webpack://antd/./components/button/style/index.less?fab8","webpack://antd/./components/calendar/Header.jsx","webpack://antd/./components/calendar/index.jsx","webpack://antd/./components/calendar/locale/en_US.js","webpack://antd/./components/calendar/style/index.js","webpack://antd/./components/calendar/style/index.less?5893","webpack://antd/./components/card/Card.jsx","webpack://antd/./components/card/Grid.jsx","webpack://antd/./components/card/Meta.jsx","webpack://antd/./components/card/index.js","webpack://antd/./components/card/style/index.js","webpack://antd/./components/card/style/index.less?c929","webpack://antd/./components/carousel/index.jsx","webpack://antd/./components/carousel/style/index.js","webpack://antd/./components/carousel/style/index.less?17fe","webpack://antd/./components/cascader/index.jsx","webpack://antd/./components/cascader/style/index.js","webpack://antd/./components/cascader/style/index.less?e166","webpack://antd/./components/checkbox/Checkbox.jsx","webpack://antd/./components/checkbox/Group.jsx","webpack://antd/./components/checkbox/index.js","webpack://antd/./components/checkbox/style/index.js","webpack://antd/./components/checkbox/style/index.less","webpack://antd/./components/col/index.js","webpack://antd/./components/col/style/index.js","webpack://antd/./components/collapse/Collapse.jsx","webpack://antd/./components/collapse/CollapsePanel.jsx","webpack://antd/./components/collapse/index.js","webpack://antd/./components/collapse/style/index.js","webpack://antd/./components/collapse/style/index.less?cee5","webpack://antd/./components/color-picker/locale/en_US.js","webpack://antd/./components/color-picker/style/index.js","webpack://antd/./components/color-picker/style/index.less?c4c3","webpack://antd/./components/comment/index.jsx","webpack://antd/./components/comment/style/index.js","webpack://antd/./components/comment/style/index.less?b9cc","webpack://antd/./components/config-provider/index.jsx","webpack://antd/./components/config-provider/renderEmpty.jsx","webpack://antd/./components/config-provider/style/index.js","webpack://antd/./components/config-provider/style/index.less","webpack://antd/./components/date-picker/InputIcon.js","webpack://antd/./components/date-picker/RangePicker.jsx","webpack://antd/./components/date-picker/WeekPicker.jsx","webpack://antd/./components/date-picker/createPicker.js","webpack://antd/./components/date-picker/index.js","webpack://antd/./components/date-picker/interface.js","webpack://antd/./components/date-picker/locale/en_US.js","webpack://antd/./components/date-picker/style/index.js","webpack://antd/./components/date-picker/style/index.less","webpack://antd/./components/date-picker/utils.js","webpack://antd/./components/date-picker/wrapPicker.js","webpack://antd/./components/descriptions/Col.jsx","webpack://antd/./components/descriptions/index.jsx","webpack://antd/./components/descriptions/style/index.js","webpack://antd/./components/descriptions/style/index.less?f9e6","webpack://antd/./components/divider/index.jsx","webpack://antd/./components/divider/style/index.js","webpack://antd/./components/divider/style/index.less?ad40","webpack://antd/./components/drawer/index.jsx","webpack://antd/./components/drawer/style/index.js","webpack://antd/./components/drawer/style/index.less","webpack://antd/./components/dropdown/dropdown-button.jsx","webpack://antd/./components/dropdown/dropdown.jsx","webpack://antd/./components/dropdown/getDropdownProps.js","webpack://antd/./components/dropdown/index.js","webpack://antd/./components/dropdown/style/index.js","webpack://antd/./components/dropdown/style/index.less?9bfa","webpack://antd/./components/empty/empty.jsx","webpack://antd/./components/empty/index.jsx","webpack://antd/./components/empty/simple.jsx","webpack://antd/./components/empty/style/index.js","webpack://antd/./components/empty/style/index.less?bd7f","webpack://antd/./components/form-model/Form.jsx","webpack://antd/./components/form-model/FormItem.jsx","webpack://antd/./components/form-model/index.jsx","webpack://antd/./components/form-model/style/index.js","webpack://antd/./components/form-model/style/index.less?d860","webpack://antd/./components/form/Form.jsx","webpack://antd/./components/form/FormItem.jsx","webpack://antd/./components/form/constants.jsx","webpack://antd/./components/form/index.jsx","webpack://antd/./components/form/style/index.js","webpack://antd/./components/form/style/index.less?0222","webpack://antd/./components/grid/Col.jsx","webpack://antd/./components/grid/Row.jsx","webpack://antd/./components/grid/index.js","webpack://antd/./components/grid/style/index.js","webpack://antd/./components/grid/style/index.less?d29c","webpack://antd/./components/icon/IconFont.jsx","webpack://antd/./components/icon/index.js","webpack://antd/./components/icon/style/index.js","webpack://antd/./components/icon/style/index.less","webpack://antd/./components/icon/twoTonePrimaryColor.js","webpack://antd/./components/icon/utils.js","webpack://antd/./components/index.js","webpack://antd/./components/input-number/index.jsx","webpack://antd/./components/input-number/style/index.js","webpack://antd/./components/input-number/style/index.less?009f","webpack://antd/./components/input/ClearableLabeledInput.jsx","webpack://antd/./components/input/Group.jsx","webpack://antd/./components/input/Input.jsx","webpack://antd/./components/input/Password.jsx","webpack://antd/./components/input/ResizableTextArea.jsx","webpack://antd/./components/input/Search.jsx","webpack://antd/./components/input/TextArea.jsx","webpack://antd/./components/input/calculateNodeHeight.js","webpack://antd/./components/input/index.js","webpack://antd/./components/input/inputProps.js","webpack://antd/./components/input/style/index.js","webpack://antd/./components/input/style/index.less?3315","webpack://antd/./components/layout/Sider.jsx","webpack://antd/./components/layout/index.js","webpack://antd/./components/layout/layout.jsx","webpack://antd/./components/layout/style/index.js","webpack://antd/./components/layout/style/index.less?20cb","webpack://antd/./components/list/Item.jsx","webpack://antd/./components/list/index.jsx","webpack://antd/./components/list/style/index.js","webpack://antd/./components/list/style/index.less?7968","webpack://antd/./components/locale-provider/LocaleReceiver.jsx","webpack://antd/./components/locale-provider/default.js","webpack://antd/./components/locale-provider/index.jsx","webpack://antd/./components/locale-provider/style/index.js","webpack://antd/./components/locale-provider/style/index.less","webpack://antd/./components/locale/default.js","webpack://antd/./components/mentions/index.jsx","webpack://antd/./components/mentions/style/index.js","webpack://antd/./components/mentions/style/index.less?38fc","webpack://antd/./components/menu/MenuItem.jsx","webpack://antd/./components/menu/SubMenu.jsx","webpack://antd/./components/menu/index.jsx","webpack://antd/./components/menu/style/index.js","webpack://antd/./components/menu/style/index.less?9a85","webpack://antd/./components/message/index.js","webpack://antd/./components/message/style/index.js","webpack://antd/./components/message/style/index.less?68fe","webpack://antd/./components/modal/ActionButton.jsx","webpack://antd/./components/modal/ConfirmDialog.jsx","webpack://antd/./components/modal/Modal.jsx","webpack://antd/./components/modal/confirm.js","webpack://antd/./components/modal/index.js","webpack://antd/./components/modal/locale.js","webpack://antd/./components/modal/style/index.js","webpack://antd/./components/modal/style/index.less","webpack://antd/./components/notification/index.js","webpack://antd/./components/notification/style/index.js","webpack://antd/./components/notification/style/index.less?2956","webpack://antd/./components/page-header/index.jsx","webpack://antd/./components/page-header/style/index.js","webpack://antd/./components/page-header/style/index.less?e689","webpack://antd/./components/pagination/MiniSelect.jsx","webpack://antd/./components/pagination/Pagination.jsx","webpack://antd/./components/pagination/index.js","webpack://antd/./components/pagination/style/index.js","webpack://antd/./components/pagination/style/index.less?c83e","webpack://antd/./components/popconfirm/index.jsx","webpack://antd/./components/popconfirm/style/index.js","webpack://antd/./components/popover/index.jsx","webpack://antd/./components/popover/style/index.js","webpack://antd/./components/popover/style/index.less?42f0","webpack://antd/./components/progress/circle.jsx","webpack://antd/./components/progress/index.jsx","webpack://antd/./components/progress/line.jsx","webpack://antd/./components/progress/progress.jsx","webpack://antd/./components/progress/style/index.js","webpack://antd/./components/progress/style/index.less?e74e","webpack://antd/./components/progress/utils.js","webpack://antd/./components/radio/Group.jsx","webpack://antd/./components/radio/Radio.jsx","webpack://antd/./components/radio/RadioButton.jsx","webpack://antd/./components/radio/index.js","webpack://antd/./components/radio/style/index.js","webpack://antd/./components/radio/style/index.less?c5ad","webpack://antd/./components/rate/index.jsx","webpack://antd/./components/rate/style/index.js","webpack://antd/./components/rate/style/index.less?0177","webpack://antd/./components/result/index.jsx","webpack://antd/./components/result/noFound.jsx","webpack://antd/./components/result/serverError.jsx","webpack://antd/./components/result/style/index.js","webpack://antd/./components/result/style/index.less?0374","webpack://antd/./components/result/unauthorized.jsx","webpack://antd/./components/row/index.js","webpack://antd/./components/row/style/index.js","webpack://antd/./components/select/index.jsx","webpack://antd/./components/select/style/index.js","webpack://antd/./components/select/style/index.less?2fc0","webpack://antd/./components/skeleton/Avatar.jsx","webpack://antd/./components/skeleton/Paragraph.jsx","webpack://antd/./components/skeleton/Title.jsx","webpack://antd/./components/skeleton/index.jsx","webpack://antd/./components/skeleton/style/index.js","webpack://antd/./components/skeleton/style/index.less?4ab1","webpack://antd/./components/slider/index.jsx","webpack://antd/./components/slider/style/index.js","webpack://antd/./components/slider/style/index.less?2292","webpack://antd/./components/space/index.jsx","webpack://antd/./components/space/style/index.js","webpack://antd/./components/space/style/index.less?8aae","webpack://antd/./components/spin/Spin.jsx","webpack://antd/./components/spin/index.js","webpack://antd/./components/spin/style/index.js","webpack://antd/./components/spin/style/index.less?d147","webpack://antd/./components/statistic/Countdown.jsx","webpack://antd/./components/statistic/Number.jsx","webpack://antd/./components/statistic/Statistic.jsx","webpack://antd/./components/statistic/index.js","webpack://antd/./components/statistic/style/index.js","webpack://antd/./components/statistic/style/index.less?ae29","webpack://antd/./components/statistic/utils.js","webpack://antd/./components/steps/index.jsx","webpack://antd/./components/steps/style/index.js","webpack://antd/./components/steps/style/index.less?4b37","webpack://antd/./components/style/index.less","webpack://antd/./components/switch/index.jsx","webpack://antd/./components/switch/style/index.js","webpack://antd/./components/switch/style/index.less?94ef","webpack://antd/./components/table/Column.jsx","webpack://antd/./components/table/ColumnGroup.jsx","webpack://antd/./components/table/FilterDropdownMenuWrapper.jsx","webpack://antd/./components/table/SelectionBox.jsx","webpack://antd/./components/table/SelectionCheckboxAll.jsx","webpack://antd/./components/table/Table.jsx","webpack://antd/./components/table/createBodyRow.jsx","webpack://antd/./components/table/createStore.jsx","webpack://antd/./components/table/filterDropdown.jsx","webpack://antd/./components/table/index.jsx","webpack://antd/./components/table/interface.js","webpack://antd/./components/table/style/index.js","webpack://antd/./components/table/style/index.less?3fe3","webpack://antd/./components/table/util.js","webpack://antd/./components/tabs/TabBar.jsx","webpack://antd/./components/tabs/index.js","webpack://antd/./components/tabs/style/index.js","webpack://antd/./components/tabs/style/index.less?512b","webpack://antd/./components/tabs/tabs.jsx","webpack://antd/./components/tag/CheckableTag.jsx","webpack://antd/./components/tag/Tag.jsx","webpack://antd/./components/tag/index.js","webpack://antd/./components/tag/style/index.js","webpack://antd/./components/tag/style/index.less?2370","webpack://antd/./components/time-picker/index.jsx","webpack://antd/./components/time-picker/locale/en_US.js","webpack://antd/./components/time-picker/style/index.js","webpack://antd/./components/time-picker/style/index.less?c9dc","webpack://antd/./components/timeline/Timeline.jsx","webpack://antd/./components/timeline/TimelineItem.jsx","webpack://antd/./components/timeline/index.jsx","webpack://antd/./components/timeline/style/index.js","webpack://antd/./components/timeline/style/index.less?059a","webpack://antd/./components/tooltip/Tooltip.jsx","webpack://antd/./components/tooltip/abstractTooltipProps.js","webpack://antd/./components/tooltip/index.js","webpack://antd/./components/tooltip/placements.js","webpack://antd/./components/tooltip/style/index.js","webpack://antd/./components/tooltip/style/index.less?4549","webpack://antd/./components/transfer/ListItem.jsx","webpack://antd/./components/transfer/index.jsx","webpack://antd/./components/transfer/list.jsx","webpack://antd/./components/transfer/operation.jsx","webpack://antd/./components/transfer/renderListBody.jsx","webpack://antd/./components/transfer/search.jsx","webpack://antd/./components/transfer/style/index.js","webpack://antd/./components/transfer/style/index.less?843a","webpack://antd/./components/tree-select/index.jsx","webpack://antd/./components/tree-select/interface.jsx","webpack://antd/./components/tree-select/style/index.js","webpack://antd/./components/tree-select/style/index.less?9b65","webpack://antd/./components/tree/DirectoryTree.jsx","webpack://antd/./components/tree/Tree.jsx","webpack://antd/./components/tree/index.jsx","webpack://antd/./components/tree/style/index.js","webpack://antd/./components/tree/style/index.less?f14e","webpack://antd/./components/tree/util.js","webpack://antd/./components/upload/Dragger.jsx","webpack://antd/./components/upload/Upload.jsx","webpack://antd/./components/upload/UploadList.jsx","webpack://antd/./components/upload/index.jsx","webpack://antd/./components/upload/interface.jsx","webpack://antd/./components/upload/style/index.js","webpack://antd/./components/upload/style/index.less?b7e7","webpack://antd/./components/upload/utils.jsx","webpack://antd/./components/vc-align/Align.jsx","webpack://antd/./components/vc-align/index.js","webpack://antd/./components/vc-align/util.js","webpack://antd/./components/vc-calendar/index.js","webpack://antd/./components/vc-calendar/src/Calendar.jsx","webpack://antd/./components/vc-calendar/src/FullCalendar.jsx","webpack://antd/./components/vc-calendar/src/MonthCalendar.jsx","webpack://antd/./components/vc-calendar/src/Picker.jsx","webpack://antd/./components/vc-calendar/src/RangeCalendar.jsx","webpack://antd/./components/vc-calendar/src/calendar/CalendarFooter.jsx","webpack://antd/./components/vc-calendar/src/calendar/CalendarHeader.jsx","webpack://antd/./components/vc-calendar/src/calendar/OkButton.jsx","webpack://antd/./components/vc-calendar/src/calendar/TimePickerButton.jsx","webpack://antd/./components/vc-calendar/src/calendar/TodayButton.jsx","webpack://antd/./components/vc-calendar/src/date/DateConstants.js","webpack://antd/./components/vc-calendar/src/date/DateInput.jsx","webpack://antd/./components/vc-calendar/src/date/DateTBody.jsx","webpack://antd/./components/vc-calendar/src/date/DateTHead.jsx","webpack://antd/./components/vc-calendar/src/date/DateTable.jsx","webpack://antd/./components/vc-calendar/src/decade/DecadePanel.jsx","webpack://antd/./components/vc-calendar/src/full-calendar/CalendarHeader.jsx","webpack://antd/./components/vc-calendar/src/index.js","webpack://antd/./components/vc-calendar/src/locale/en_US.js","webpack://antd/./components/vc-calendar/src/mixin/CalendarMixin.js","webpack://antd/./components/vc-calendar/src/mixin/CommonMixin.js","webpack://antd/./components/vc-calendar/src/month/MonthPanel.jsx","webpack://antd/./components/vc-calendar/src/month/MonthTable.jsx","webpack://antd/./components/vc-calendar/src/picker/placements.js","webpack://antd/./components/vc-calendar/src/range-calendar/CalendarPart.jsx","webpack://antd/./components/vc-calendar/src/util/index.js","webpack://antd/./components/vc-calendar/src/util/toTime.js","webpack://antd/./components/vc-calendar/src/year/YearPanel.jsx","webpack://antd/./components/vc-cascader/Cascader.jsx","webpack://antd/./components/vc-cascader/Menus.jsx","webpack://antd/./components/vc-cascader/index.js","webpack://antd/./components/vc-checkbox/index.js","webpack://antd/./components/vc-checkbox/src/Checkbox.jsx","webpack://antd/./components/vc-checkbox/src/index.js","webpack://antd/./components/vc-collapse/index.js","webpack://antd/./components/vc-collapse/src/Collapse.jsx","webpack://antd/./components/vc-collapse/src/Panel.jsx","webpack://antd/./components/vc-collapse/src/PanelContent.jsx","webpack://antd/./components/vc-collapse/src/commonProps.js","webpack://antd/./components/vc-collapse/src/openAnimationFactory.js","webpack://antd/./components/vc-dialog/Dialog.jsx","webpack://antd/./components/vc-dialog/DialogWrap.jsx","webpack://antd/./components/vc-dialog/IDialogPropTypes.js","webpack://antd/./components/vc-dialog/LazyRenderBox.jsx","webpack://antd/./components/vc-dialog/index.js","webpack://antd/./components/vc-drawer/src/Drawer.js","webpack://antd/./components/vc-drawer/src/IDrawerPropTypes.js","webpack://antd/./components/vc-drawer/src/index.js","webpack://antd/./components/vc-drawer/src/utils.js","webpack://antd/./components/vc-dropdown/src/Dropdown.jsx","webpack://antd/./components/vc-dropdown/src/index.js","webpack://antd/./components/vc-dropdown/src/placements.js","webpack://antd/./components/vc-form/src/createBaseForm.jsx","webpack://antd/./components/vc-form/src/createDOMForm.jsx","webpack://antd/./components/vc-form/src/createFieldsStore.jsx","webpack://antd/./components/vc-form/src/createForm.jsx","webpack://antd/./components/vc-form/src/createFormField.jsx","webpack://antd/./components/vc-form/src/utils.js","webpack://antd/./components/vc-input-number/src/InputHandler.js","webpack://antd/./components/vc-input-number/src/index.js","webpack://antd/./components/vc-lazy-load/index.js","webpack://antd/./components/vc-lazy-load/src/LazyLoad.jsx","webpack://antd/./components/vc-lazy-load/src/utils/getElementPosition.js","webpack://antd/./components/vc-lazy-load/src/utils/inViewport.js","webpack://antd/./components/vc-lazy-load/src/utils/parentScroll.js","webpack://antd/./components/vc-m-feedback/index.js","webpack://antd/./components/vc-m-feedback/src/PropTypes.jsx","webpack://antd/./components/vc-m-feedback/src/TouchFeedback.jsx","webpack://antd/./components/vc-mentions/index.js","webpack://antd/./components/vc-mentions/src/DropdownMenu.jsx","webpack://antd/./components/vc-mentions/src/KeywordTrigger.jsx","webpack://antd/./components/vc-mentions/src/Mentions.jsx","webpack://antd/./components/vc-mentions/src/Option.jsx","webpack://antd/./components/vc-mentions/src/mentionsProps.js","webpack://antd/./components/vc-mentions/src/placement.js","webpack://antd/./components/vc-mentions/src/util.js","webpack://antd/./components/vc-menu/DOMWrap.jsx","webpack://antd/./components/vc-menu/Divider.jsx","webpack://antd/./components/vc-menu/Menu.jsx","webpack://antd/./components/vc-menu/MenuItem.jsx","webpack://antd/./components/vc-menu/MenuItemGroup.jsx","webpack://antd/./components/vc-menu/SubMenu.jsx","webpack://antd/./components/vc-menu/SubPopupMenu.jsx","webpack://antd/./components/vc-menu/commonPropsType.js","webpack://antd/./components/vc-menu/index.js","webpack://antd/./components/vc-menu/placements.js","webpack://antd/./components/vc-menu/util.js","webpack://antd/./components/vc-menu/utils/isMobile.js","webpack://antd/./components/vc-notification/Notice.jsx","webpack://antd/./components/vc-notification/Notification.jsx","webpack://antd/./components/vc-notification/index.js","webpack://antd/./components/vc-pagination/KeyCode.js","webpack://antd/./components/vc-pagination/Options.jsx","webpack://antd/./components/vc-pagination/Pager.jsx","webpack://antd/./components/vc-pagination/Pagination.jsx","webpack://antd/./components/vc-pagination/index.js","webpack://antd/./components/vc-pagination/locale/en_US.js","webpack://antd/./components/vc-pagination/locale/zh_CN.js","webpack://antd/./components/vc-progress/index.js","webpack://antd/./components/vc-progress/src/Circle.js","webpack://antd/./components/vc-progress/src/Line.js","webpack://antd/./components/vc-progress/src/enhancer.js","webpack://antd/./components/vc-progress/src/index.js","webpack://antd/./components/vc-progress/src/types.js","webpack://antd/./components/vc-rate/index.js","webpack://antd/./components/vc-rate/src/Rate.jsx","webpack://antd/./components/vc-rate/src/Star.jsx","webpack://antd/./components/vc-rate/src/index.js","webpack://antd/./components/vc-rate/src/util.js","webpack://antd/./components/vc-resize-observer/index.jsx","webpack://antd/./components/vc-select/DropdownMenu.jsx","webpack://antd/./components/vc-select/OptGroup.jsx","webpack://antd/./components/vc-select/Option.jsx","webpack://antd/./components/vc-select/PropTypes.js","webpack://antd/./components/vc-select/Select.jsx","webpack://antd/./components/vc-select/SelectTrigger.jsx","webpack://antd/./components/vc-select/index.js","webpack://antd/./components/vc-select/util.js","webpack://antd/./components/vc-slick/src/arrows.js","webpack://antd/./components/vc-slick/src/default-props.js","webpack://antd/./components/vc-slick/src/dots.js","webpack://antd/./components/vc-slick/src/index.js","webpack://antd/./components/vc-slick/src/initial-state.js","webpack://antd/./components/vc-slick/src/inner-slider.js","webpack://antd/./components/vc-slick/src/slider.js","webpack://antd/./components/vc-slick/src/track.js","webpack://antd/./components/vc-slick/src/utils/innerSliderUtils.js","webpack://antd/./components/vc-slider/src/Handle.jsx","webpack://antd/./components/vc-slider/src/Range.jsx","webpack://antd/./components/vc-slider/src/Slider.jsx","webpack://antd/./components/vc-slider/src/common/Marks.jsx","webpack://antd/./components/vc-slider/src/common/Steps.jsx","webpack://antd/./components/vc-slider/src/common/Track.jsx","webpack://antd/./components/vc-slider/src/common/createSlider.jsx","webpack://antd/./components/vc-slider/src/utils.js","webpack://antd/./components/vc-steps/Step.jsx","webpack://antd/./components/vc-steps/Steps.jsx","webpack://antd/./components/vc-steps/index.js","webpack://antd/./components/vc-switch/PropTypes.js","webpack://antd/./components/vc-switch/Switch.jsx","webpack://antd/./components/vc-switch/index.js","webpack://antd/./components/vc-table/index.js","webpack://antd/./components/vc-table/src/BaseTable.jsx","webpack://antd/./components/vc-table/src/BodyTable.jsx","webpack://antd/./components/vc-table/src/ColGroup.jsx","webpack://antd/./components/vc-table/src/Column.jsx","webpack://antd/./components/vc-table/src/ColumnGroup.jsx","webpack://antd/./components/vc-table/src/ColumnManager.jsx","webpack://antd/./components/vc-table/src/ExpandIcon.jsx","webpack://antd/./components/vc-table/src/ExpandableRow.jsx","webpack://antd/./components/vc-table/src/ExpandableTable.jsx","webpack://antd/./components/vc-table/src/HeadTable.jsx","webpack://antd/./components/vc-table/src/Table.jsx","webpack://antd/./components/vc-table/src/TableCell.jsx","webpack://antd/./components/vc-table/src/TableHeader.jsx","webpack://antd/./components/vc-table/src/TableHeaderRow.jsx","webpack://antd/./components/vc-table/src/TableRow.jsx","webpack://antd/./components/vc-table/src/utils.js","webpack://antd/./components/vc-tabs/src/InkTabBarNode.jsx","webpack://antd/./components/vc-tabs/src/KeyCode.js","webpack://antd/./components/vc-tabs/src/SaveRef.jsx","webpack://antd/./components/vc-tabs/src/ScrollableInkTabBar.jsx","webpack://antd/./components/vc-tabs/src/ScrollableTabBarNode.jsx","webpack://antd/./components/vc-tabs/src/Sentinel.jsx","webpack://antd/./components/vc-tabs/src/TabBarRootNode.jsx","webpack://antd/./components/vc-tabs/src/TabBarTabsNode.jsx","webpack://antd/./components/vc-tabs/src/TabContent.jsx","webpack://antd/./components/vc-tabs/src/TabPane.jsx","webpack://antd/./components/vc-tabs/src/Tabs.jsx","webpack://antd/./components/vc-tabs/src/index.js","webpack://antd/./components/vc-tabs/src/utils.js","webpack://antd/./components/vc-time-picker/Combobox.jsx","webpack://antd/./components/vc-time-picker/Header.jsx","webpack://antd/./components/vc-time-picker/Panel.jsx","webpack://antd/./components/vc-time-picker/Select.jsx","webpack://antd/./components/vc-time-picker/TimePicker.jsx","webpack://antd/./components/vc-time-picker/index.js","webpack://antd/./components/vc-time-picker/placements.js","webpack://antd/./components/vc-tooltip/Content.jsx","webpack://antd/./components/vc-tooltip/Tooltip.jsx","webpack://antd/./components/vc-tooltip/index.js","webpack://antd/./components/vc-tooltip/placements.js","webpack://antd/./components/vc-tree-select/index.js","webpack://antd/./components/vc-tree-select/src/Base/BasePopup.jsx","webpack://antd/./components/vc-tree-select/src/Base/BaseSelector.jsx","webpack://antd/./components/vc-tree-select/src/Popup/MultiplePopup.jsx","webpack://antd/./components/vc-tree-select/src/Popup/SinglePopup.jsx","webpack://antd/./components/vc-tree-select/src/SearchInput.jsx","webpack://antd/./components/vc-tree-select/src/Select.jsx","webpack://antd/./components/vc-tree-select/src/SelectNode.jsx","webpack://antd/./components/vc-tree-select/src/SelectTrigger.jsx","webpack://antd/./components/vc-tree-select/src/Selector/MultipleSelector/Selection.jsx","webpack://antd/./components/vc-tree-select/src/Selector/MultipleSelector/index.jsx","webpack://antd/./components/vc-tree-select/src/Selector/SingleSelector.jsx","webpack://antd/./components/vc-tree-select/src/index.js","webpack://antd/./components/vc-tree-select/src/strategies.js","webpack://antd/./components/vc-tree-select/src/util.js","webpack://antd/./components/vc-tree/index.js","webpack://antd/./components/vc-tree/src/Tree.jsx","webpack://antd/./components/vc-tree/src/TreeNode.jsx","webpack://antd/./components/vc-tree/src/index.js","webpack://antd/./components/vc-tree/src/util.js","webpack://antd/./components/vc-trigger/LazyRenderBox.jsx","webpack://antd/./components/vc-trigger/Popup.jsx","webpack://antd/./components/vc-trigger/PopupInner.jsx","webpack://antd/./components/vc-trigger/Trigger.jsx","webpack://antd/./components/vc-trigger/index.js","webpack://antd/./components/vc-trigger/utils.js","webpack://antd/./components/vc-upload/index.js","webpack://antd/./components/vc-upload/src/AjaxUploader.jsx","webpack://antd/./components/vc-upload/src/IframeUploader.jsx","webpack://antd/./components/vc-upload/src/Upload.jsx","webpack://antd/./components/vc-upload/src/attr-accept.js","webpack://antd/./components/vc-upload/src/index.js","webpack://antd/./components/vc-upload/src/request.js","webpack://antd/./components/vc-upload/src/traverseFileTree.js","webpack://antd/./components/vc-upload/src/uid.js","webpack://antd/./components/vc-util/Dom/addEventListener.js","webpack://antd/./components/vc-util/Dom/class.js","webpack://antd/./components/vc-util/Dom/contains.js","webpack://antd/./components/vc-util/warning.js","webpack://antd/./components/version/index.js","webpack://antd/./components/version/style/index.js","webpack://antd/./index.js","webpack://antd/./node_modules/@ant-design/colors/lib/generate.js","webpack://antd/./node_modules/@ant-design/colors/lib/index.js","webpack://antd/./node_modules/@ant-design/icons-vue/es/components/Icon.js","webpack://antd/./node_modules/@ant-design/icons-vue/es/index.js","webpack://antd/./node_modules/@ant-design/icons-vue/es/utils.js","webpack://antd/./node_modules/@ant-design/icons/lib/dist.js","webpack://antd/./node_modules/add-dom-event-listener/lib/EventBaseObject.js","webpack://antd/./node_modules/add-dom-event-listener/lib/EventObject.js","webpack://antd/./node_modules/add-dom-event-listener/lib/index.js","webpack://antd/./node_modules/array-tree-filter/lib/index.js","webpack://antd/./node_modules/async-validator/dist-web/index.js","webpack://antd/./node_modules/babel-helper-vue-jsx-merge-props/index.js","webpack://antd/./node_modules/babel-runtime/core-js/array/from.js","webpack://antd/./node_modules/babel-runtime/core-js/get-iterator.js","webpack://antd/./node_modules/babel-runtime/core-js/is-iterable.js","webpack://antd/./node_modules/babel-runtime/core-js/object/assign.js","webpack://antd/./node_modules/babel-runtime/core-js/object/define-property.js","webpack://antd/./node_modules/babel-runtime/core-js/symbol.js","webpack://antd/./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack://antd/./node_modules/babel-runtime/helpers/classCallCheck.js","webpack://antd/./node_modules/babel-runtime/helpers/createClass.js","webpack://antd/./node_modules/babel-runtime/helpers/defineProperty.js","webpack://antd/./node_modules/babel-runtime/helpers/extends.js","webpack://antd/./node_modules/babel-runtime/helpers/objectWithoutProperties.js","webpack://antd/./node_modules/babel-runtime/helpers/slicedToArray.js","webpack://antd/./node_modules/babel-runtime/helpers/toConsumableArray.js","webpack://antd/./node_modules/babel-runtime/helpers/typeof.js","webpack://antd/./node_modules/classnames/index.js","webpack://antd/./node_modules/component-classes/index.js","webpack://antd/./node_modules/component-indexof/index.js","webpack://antd/./node_modules/core-js/library/fn/array/from.js","webpack://antd/./node_modules/core-js/library/fn/get-iterator.js","webpack://antd/./node_modules/core-js/library/fn/is-iterable.js","webpack://antd/./node_modules/core-js/library/fn/object/assign.js","webpack://antd/./node_modules/core-js/library/fn/object/define-property.js","webpack://antd/./node_modules/core-js/library/fn/symbol/index.js","webpack://antd/./node_modules/core-js/library/fn/symbol/iterator.js","webpack://antd/./node_modules/core-js/library/modules/_a-function.js","webpack://antd/./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack://antd/./node_modules/core-js/library/modules/_an-object.js","webpack://antd/./node_modules/core-js/library/modules/_array-includes.js","webpack://antd/./node_modules/core-js/library/modules/_classof.js","webpack://antd/./node_modules/core-js/library/modules/_cof.js","webpack://antd/./node_modules/core-js/library/modules/_core.js","webpack://antd/./node_modules/core-js/library/modules/_create-property.js","webpack://antd/./node_modules/core-js/library/modules/_ctx.js","webpack://antd/./node_modules/core-js/library/modules/_defined.js","webpack://antd/./node_modules/core-js/library/modules/_descriptors.js","webpack://antd/./node_modules/core-js/library/modules/_dom-create.js","webpack://antd/./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack://antd/./node_modules/core-js/library/modules/_enum-keys.js","webpack://antd/./node_modules/core-js/library/modules/_export.js","webpack://antd/./node_modules/core-js/library/modules/_fails.js","webpack://antd/./node_modules/core-js/library/modules/_global.js","webpack://antd/./node_modules/core-js/library/modules/_has.js","webpack://antd/./node_modules/core-js/library/modules/_hide.js","webpack://antd/./node_modules/core-js/library/modules/_html.js","webpack://antd/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://antd/./node_modules/core-js/library/modules/_iobject.js","webpack://antd/./node_modules/core-js/library/modules/_is-array-iter.js","webpack://antd/./node_modules/core-js/library/modules/_is-array.js","webpack://antd/./node_modules/core-js/library/modules/_is-object.js","webpack://antd/./node_modules/core-js/library/modules/_iter-call.js","webpack://antd/./node_modules/core-js/library/modules/_iter-create.js","webpack://antd/./node_modules/core-js/library/modules/_iter-define.js","webpack://antd/./node_modules/core-js/library/modules/_iter-detect.js","webpack://antd/./node_modules/core-js/library/modules/_iter-step.js","webpack://antd/./node_modules/core-js/library/modules/_iterators.js","webpack://antd/./node_modules/core-js/library/modules/_library.js","webpack://antd/./node_modules/core-js/library/modules/_meta.js","webpack://antd/./node_modules/core-js/library/modules/_object-assign.js","webpack://antd/./node_modules/core-js/library/modules/_object-create.js","webpack://antd/./node_modules/core-js/library/modules/_object-dp.js","webpack://antd/./node_modules/core-js/library/modules/_object-dps.js","webpack://antd/./node_modules/core-js/library/modules/_object-gopd.js","webpack://antd/./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack://antd/./node_modules/core-js/library/modules/_object-gopn.js","webpack://antd/./node_modules/core-js/library/modules/_object-gops.js","webpack://antd/./node_modules/core-js/library/modules/_object-gpo.js","webpack://antd/./node_modules/core-js/library/modules/_object-keys-internal.js","webpack://antd/./node_modules/core-js/library/modules/_object-keys.js","webpack://antd/./node_modules/core-js/library/modules/_object-pie.js","webpack://antd/./node_modules/core-js/library/modules/_property-desc.js","webpack://antd/./node_modules/core-js/library/modules/_redefine.js","webpack://antd/./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack://antd/./node_modules/core-js/library/modules/_shared-key.js","webpack://antd/./node_modules/core-js/library/modules/_shared.js","webpack://antd/./node_modules/core-js/library/modules/_string-at.js","webpack://antd/./node_modules/core-js/library/modules/_to-absolute-index.js","webpack://antd/./node_modules/core-js/library/modules/_to-integer.js","webpack://antd/./node_modules/core-js/library/modules/_to-iobject.js","webpack://antd/./node_modules/core-js/library/modules/_to-length.js","webpack://antd/./node_modules/core-js/library/modules/_to-object.js","webpack://antd/./node_modules/core-js/library/modules/_to-primitive.js","webpack://antd/./node_modules/core-js/library/modules/_uid.js","webpack://antd/./node_modules/core-js/library/modules/_wks-define.js","webpack://antd/./node_modules/core-js/library/modules/_wks-ext.js","webpack://antd/./node_modules/core-js/library/modules/_wks.js","webpack://antd/./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack://antd/./node_modules/core-js/library/modules/core.get-iterator.js","webpack://antd/./node_modules/core-js/library/modules/core.is-iterable.js","webpack://antd/./node_modules/core-js/library/modules/es6.array.from.js","webpack://antd/./node_modules/core-js/library/modules/es6.array.iterator.js","webpack://antd/./node_modules/core-js/library/modules/es6.object.assign.js","webpack://antd/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://antd/./node_modules/core-js/library/modules/es6.string.iterator.js","webpack://antd/./node_modules/core-js/library/modules/es6.symbol.js","webpack://antd/./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack://antd/./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack://antd/./node_modules/core-js/library/modules/web.dom.iterable.js","webpack://antd/./node_modules/dom-align/dist-web/index.js","webpack://antd/./node_modules/dom-closest/index.js","webpack://antd/./node_modules/dom-matches/index.js","webpack://antd/./node_modules/dom-scroll-into-view/dist-web/index.js","webpack://antd/./node_modules/enquire.js/src/MediaQuery.js","webpack://antd/./node_modules/enquire.js/src/MediaQueryDispatch.js","webpack://antd/./node_modules/enquire.js/src/QueryHandler.js","webpack://antd/./node_modules/enquire.js/src/Util.js","webpack://antd/./node_modules/enquire.js/src/index.js","webpack://antd/./node_modules/is-mobile/index.js","webpack://antd/./node_modules/json2mq/index.js","webpack://antd/./node_modules/lodash/_DataView.js","webpack://antd/./node_modules/lodash/_Hash.js","webpack://antd/./node_modules/lodash/_ListCache.js","webpack://antd/./node_modules/lodash/_Map.js","webpack://antd/./node_modules/lodash/_MapCache.js","webpack://antd/./node_modules/lodash/_Promise.js","webpack://antd/./node_modules/lodash/_Set.js","webpack://antd/./node_modules/lodash/_SetCache.js","webpack://antd/./node_modules/lodash/_Stack.js","webpack://antd/./node_modules/lodash/_Symbol.js","webpack://antd/./node_modules/lodash/_Uint8Array.js","webpack://antd/./node_modules/lodash/_WeakMap.js","webpack://antd/./node_modules/lodash/_apply.js","webpack://antd/./node_modules/lodash/_arrayAggregator.js","webpack://antd/./node_modules/lodash/_arrayEach.js","webpack://antd/./node_modules/lodash/_arrayFilter.js","webpack://antd/./node_modules/lodash/_arrayIncludes.js","webpack://antd/./node_modules/lodash/_arrayIncludesWith.js","webpack://antd/./node_modules/lodash/_arrayLikeKeys.js","webpack://antd/./node_modules/lodash/_arrayMap.js","webpack://antd/./node_modules/lodash/_arrayPush.js","webpack://antd/./node_modules/lodash/_arraySome.js","webpack://antd/./node_modules/lodash/_asciiSize.js","webpack://antd/./node_modules/lodash/_asciiToArray.js","webpack://antd/./node_modules/lodash/_assignMergeValue.js","webpack://antd/./node_modules/lodash/_assignValue.js","webpack://antd/./node_modules/lodash/_assocIndexOf.js","webpack://antd/./node_modules/lodash/_baseAggregator.js","webpack://antd/./node_modules/lodash/_baseAssign.js","webpack://antd/./node_modules/lodash/_baseAssignIn.js","webpack://antd/./node_modules/lodash/_baseAssignValue.js","webpack://antd/./node_modules/lodash/_baseClone.js","webpack://antd/./node_modules/lodash/_baseCreate.js","webpack://antd/./node_modules/lodash/_baseEach.js","webpack://antd/./node_modules/lodash/_baseFindIndex.js","webpack://antd/./node_modules/lodash/_baseFlatten.js","webpack://antd/./node_modules/lodash/_baseFor.js","webpack://antd/./node_modules/lodash/_baseForOwn.js","webpack://antd/./node_modules/lodash/_baseGet.js","webpack://antd/./node_modules/lodash/_baseGetAllKeys.js","webpack://antd/./node_modules/lodash/_baseGetTag.js","webpack://antd/./node_modules/lodash/_baseHas.js","webpack://antd/./node_modules/lodash/_baseHasIn.js","webpack://antd/./node_modules/lodash/_baseIndexOf.js","webpack://antd/./node_modules/lodash/_baseIsArguments.js","webpack://antd/./node_modules/lodash/_baseIsEqual.js","webpack://antd/./node_modules/lodash/_baseIsEqualDeep.js","webpack://antd/./node_modules/lodash/_baseIsMap.js","webpack://antd/./node_modules/lodash/_baseIsMatch.js","webpack://antd/./node_modules/lodash/_baseIsNaN.js","webpack://antd/./node_modules/lodash/_baseIsNative.js","webpack://antd/./node_modules/lodash/_baseIsRegExp.js","webpack://antd/./node_modules/lodash/_baseIsSet.js","webpack://antd/./node_modules/lodash/_baseIsTypedArray.js","webpack://antd/./node_modules/lodash/_baseIteratee.js","webpack://antd/./node_modules/lodash/_baseKeys.js","webpack://antd/./node_modules/lodash/_baseKeysIn.js","webpack://antd/./node_modules/lodash/_baseMatches.js","webpack://antd/./node_modules/lodash/_baseMatchesProperty.js","webpack://antd/./node_modules/lodash/_baseMerge.js","webpack://antd/./node_modules/lodash/_baseMergeDeep.js","webpack://antd/./node_modules/lodash/_basePick.js","webpack://antd/./node_modules/lodash/_basePickBy.js","webpack://antd/./node_modules/lodash/_baseProperty.js","webpack://antd/./node_modules/lodash/_basePropertyDeep.js","webpack://antd/./node_modules/lodash/_baseRepeat.js","webpack://antd/./node_modules/lodash/_baseRest.js","webpack://antd/./node_modules/lodash/_baseSet.js","webpack://antd/./node_modules/lodash/_baseSetToString.js","webpack://antd/./node_modules/lodash/_baseSlice.js","webpack://antd/./node_modules/lodash/_baseTimes.js","webpack://antd/./node_modules/lodash/_baseToString.js","webpack://antd/./node_modules/lodash/_baseUnary.js","webpack://antd/./node_modules/lodash/_baseUniq.js","webpack://antd/./node_modules/lodash/_baseUnset.js","webpack://antd/./node_modules/lodash/_cacheHas.js","webpack://antd/./node_modules/lodash/_castPath.js","webpack://antd/./node_modules/lodash/_castSlice.js","webpack://antd/./node_modules/lodash/_cloneArrayBuffer.js","webpack://antd/./node_modules/lodash/_cloneBuffer.js","webpack://antd/./node_modules/lodash/_cloneDataView.js","webpack://antd/./node_modules/lodash/_cloneRegExp.js","webpack://antd/./node_modules/lodash/_cloneSymbol.js","webpack://antd/./node_modules/lodash/_cloneTypedArray.js","webpack://antd/./node_modules/lodash/_copyArray.js","webpack://antd/./node_modules/lodash/_copyObject.js","webpack://antd/./node_modules/lodash/_copySymbols.js","webpack://antd/./node_modules/lodash/_copySymbolsIn.js","webpack://antd/./node_modules/lodash/_coreJsData.js","webpack://antd/./node_modules/lodash/_createAggregator.js","webpack://antd/./node_modules/lodash/_createAssigner.js","webpack://antd/./node_modules/lodash/_createBaseEach.js","webpack://antd/./node_modules/lodash/_createBaseFor.js","webpack://antd/./node_modules/lodash/_createFind.js","webpack://antd/./node_modules/lodash/_createPadding.js","webpack://antd/./node_modules/lodash/_createSet.js","webpack://antd/./node_modules/lodash/_customOmitClone.js","webpack://antd/./node_modules/lodash/_defineProperty.js","webpack://antd/./node_modules/lodash/_equalArrays.js","webpack://antd/./node_modules/lodash/_equalByTag.js","webpack://antd/./node_modules/lodash/_equalObjects.js","webpack://antd/./node_modules/lodash/_flatRest.js","webpack://antd/./node_modules/lodash/_freeGlobal.js","webpack://antd/./node_modules/lodash/_getAllKeys.js","webpack://antd/./node_modules/lodash/_getAllKeysIn.js","webpack://antd/./node_modules/lodash/_getMapData.js","webpack://antd/./node_modules/lodash/_getMatchData.js","webpack://antd/./node_modules/lodash/_getNative.js","webpack://antd/./node_modules/lodash/_getPrototype.js","webpack://antd/./node_modules/lodash/_getRawTag.js","webpack://antd/./node_modules/lodash/_getSymbols.js","webpack://antd/./node_modules/lodash/_getSymbolsIn.js","webpack://antd/./node_modules/lodash/_getTag.js","webpack://antd/./node_modules/lodash/_getValue.js","webpack://antd/./node_modules/lodash/_hasPath.js","webpack://antd/./node_modules/lodash/_hasUnicode.js","webpack://antd/./node_modules/lodash/_hashClear.js","webpack://antd/./node_modules/lodash/_hashDelete.js","webpack://antd/./node_modules/lodash/_hashGet.js","webpack://antd/./node_modules/lodash/_hashHas.js","webpack://antd/./node_modules/lodash/_hashSet.js","webpack://antd/./node_modules/lodash/_initCloneArray.js","webpack://antd/./node_modules/lodash/_initCloneByTag.js","webpack://antd/./node_modules/lodash/_initCloneObject.js","webpack://antd/./node_modules/lodash/_isFlattenable.js","webpack://antd/./node_modules/lodash/_isIndex.js","webpack://antd/./node_modules/lodash/_isIterateeCall.js","webpack://antd/./node_modules/lodash/_isKey.js","webpack://antd/./node_modules/lodash/_isKeyable.js","webpack://antd/./node_modules/lodash/_isMasked.js","webpack://antd/./node_modules/lodash/_isPrototype.js","webpack://antd/./node_modules/lodash/_isStrictComparable.js","webpack://antd/./node_modules/lodash/_listCacheClear.js","webpack://antd/./node_modules/lodash/_listCacheDelete.js","webpack://antd/./node_modules/lodash/_listCacheGet.js","webpack://antd/./node_modules/lodash/_listCacheHas.js","webpack://antd/./node_modules/lodash/_listCacheSet.js","webpack://antd/./node_modules/lodash/_mapCacheClear.js","webpack://antd/./node_modules/lodash/_mapCacheDelete.js","webpack://antd/./node_modules/lodash/_mapCacheGet.js","webpack://antd/./node_modules/lodash/_mapCacheHas.js","webpack://antd/./node_modules/lodash/_mapCacheSet.js","webpack://antd/./node_modules/lodash/_mapToArray.js","webpack://antd/./node_modules/lodash/_matchesStrictComparable.js","webpack://antd/./node_modules/lodash/_memoizeCapped.js","webpack://antd/./node_modules/lodash/_nativeCreate.js","webpack://antd/./node_modules/lodash/_nativeKeys.js","webpack://antd/./node_modules/lodash/_nativeKeysIn.js","webpack://antd/./node_modules/lodash/_nodeUtil.js","webpack://antd/./node_modules/lodash/_objectToString.js","webpack://antd/./node_modules/lodash/_overArg.js","webpack://antd/./node_modules/lodash/_overRest.js","webpack://antd/./node_modules/lodash/_parent.js","webpack://antd/./node_modules/lodash/_root.js","webpack://antd/./node_modules/lodash/_safeGet.js","webpack://antd/./node_modules/lodash/_setCacheAdd.js","webpack://antd/./node_modules/lodash/_setCacheHas.js","webpack://antd/./node_modules/lodash/_setToArray.js","webpack://antd/./node_modules/lodash/_setToString.js","webpack://antd/./node_modules/lodash/_shortOut.js","webpack://antd/./node_modules/lodash/_stackClear.js","webpack://antd/./node_modules/lodash/_stackDelete.js","webpack://antd/./node_modules/lodash/_stackGet.js","webpack://antd/./node_modules/lodash/_stackHas.js","webpack://antd/./node_modules/lodash/_stackSet.js","webpack://antd/./node_modules/lodash/_strictIndexOf.js","webpack://antd/./node_modules/lodash/_stringSize.js","webpack://antd/./node_modules/lodash/_stringToArray.js","webpack://antd/./node_modules/lodash/_stringToPath.js","webpack://antd/./node_modules/lodash/_toKey.js","webpack://antd/./node_modules/lodash/_toSource.js","webpack://antd/./node_modules/lodash/_unicodeSize.js","webpack://antd/./node_modules/lodash/_unicodeToArray.js","webpack://antd/./node_modules/lodash/cloneDeep.js","webpack://antd/./node_modules/lodash/constant.js","webpack://antd/./node_modules/lodash/debounce.js","webpack://antd/./node_modules/lodash/eq.js","webpack://antd/./node_modules/lodash/find.js","webpack://antd/./node_modules/lodash/findIndex.js","webpack://antd/./node_modules/lodash/flatten.js","webpack://antd/./node_modules/lodash/get.js","webpack://antd/./node_modules/lodash/has.js","webpack://antd/./node_modules/lodash/hasIn.js","webpack://antd/./node_modules/lodash/identity.js","webpack://antd/./node_modules/lodash/isArguments.js","webpack://antd/./node_modules/lodash/isArray.js","webpack://antd/./node_modules/lodash/isArrayLike.js","webpack://antd/./node_modules/lodash/isArrayLikeObject.js","webpack://antd/./node_modules/lodash/isBuffer.js","webpack://antd/./node_modules/lodash/isFunction.js","webpack://antd/./node_modules/lodash/isLength.js","webpack://antd/./node_modules/lodash/isMap.js","webpack://antd/./node_modules/lodash/isNil.js","webpack://antd/./node_modules/lodash/isObject.js","webpack://antd/./node_modules/lodash/isObjectLike.js","webpack://antd/./node_modules/lodash/isPlainObject.js","webpack://antd/./node_modules/lodash/isRegExp.js","webpack://antd/./node_modules/lodash/isSet.js","webpack://antd/./node_modules/lodash/isSymbol.js","webpack://antd/./node_modules/lodash/isTypedArray.js","webpack://antd/./node_modules/lodash/keys.js","webpack://antd/./node_modules/lodash/keysIn.js","webpack://antd/./node_modules/lodash/last.js","webpack://antd/./node_modules/lodash/memoize.js","webpack://antd/./node_modules/lodash/merge.js","webpack://antd/./node_modules/lodash/noop.js","webpack://antd/./node_modules/lodash/now.js","webpack://antd/./node_modules/lodash/omit.js","webpack://antd/./node_modules/lodash/padEnd.js","webpack://antd/./node_modules/lodash/padStart.js","webpack://antd/./node_modules/lodash/partition.js","webpack://antd/./node_modules/lodash/pick.js","webpack://antd/./node_modules/lodash/property.js","webpack://antd/./node_modules/lodash/set.js","webpack://antd/./node_modules/lodash/stubArray.js","webpack://antd/./node_modules/lodash/stubFalse.js","webpack://antd/./node_modules/lodash/throttle.js","webpack://antd/./node_modules/lodash/toFinite.js","webpack://antd/./node_modules/lodash/toInteger.js","webpack://antd/./node_modules/lodash/toNumber.js","webpack://antd/./node_modules/lodash/toPlainObject.js","webpack://antd/./node_modules/lodash/toString.js","webpack://antd/./node_modules/lodash/uniqBy.js","webpack://antd/./node_modules/mutationobserver-shim/dist/mutationobserver.min.js","webpack://antd/./node_modules/object-assign/index.js","webpack://antd/./node_modules/omit.js/es/index.js","webpack://antd/./node_modules/performance-now/lib/performance-now.js","webpack://antd/./node_modules/process/browser.js","webpack://antd/./node_modules/raf/index.js","webpack://antd/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://antd/./node_modules/shallow-equal/arrays/index.js","webpack://antd/./node_modules/shallowequal/index.js","webpack://antd/./node_modules/string-convert/camel2hyphen.js","webpack://antd/./node_modules/tinycolor2/tinycolor.js","webpack://antd/./node_modules/vue-ref/index.js","webpack://antd/./node_modules/warning/warning.js","webpack://antd/(webpack)/buildin/global.js","webpack://antd/(webpack)/buildin/module.js","webpack://antd/external {\"root\":\"moment\",\"commonjs2\":\"moment\",\"commonjs\":\"moment\",\"amd\":\"moment\"}","webpack://antd/external {\"root\":\"Vue\",\"commonjs2\":\"vue\",\"commonjs\":\"vue\",\"amd\":\"vue\"}"],"names":["methods","setState","state","callback","newState","$data","$props","getDerivedStateFromProps","s","getOptionProps","$forceUpdate","$nextTick","__emit","args","slice","call","arguments","eventName","event","$listeners","length","Array","isArray","i","l","props","autoMount","PropTypes","bool","def","autoDestroy","visible","forceRender","parent","any","getComponent","func","isRequired","getContainer","children","mounted","renderComponent","updated","beforeDestroy","removeContainer","container","_component","$destroy","parentNode","removeChild","ready","self","$refs","el","componentEl","document","createElement","appendChild","com","component","$root","constructor","data","_com","setComponent","render","antDecorator","Vue","directive","install","KeyCode","MAC_ENTER","BACKSPACE","TAB","NUM_CENTER","ENTER","SHIFT","CTRL","ALT","PAUSE","CAPS_LOCK","ESC","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN","PRINT_SCREEN","INSERT","DELETE","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","QUESTION_MARK","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","META","WIN_KEY_RIGHT","CONTEXT_MENU","NUM_ZERO","NUM_ONE","NUM_TWO","NUM_THREE","NUM_FOUR","NUM_FIVE","NUM_SIX","NUM_SEVEN","NUM_EIGHT","NUM_NINE","NUM_MULTIPLY","NUM_PLUS","NUM_MINUS","NUM_PERIOD","NUM_DIVISION","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","NUMLOCK","SEMICOLON","DASH","EQUALS","COMMA","PERIOD","SLASH","APOSTROPHE","SINGLE_QUOTE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","WIN_KEY","MAC_FF_META","WIN_IME","isTextModifyingKeyEvent","e","keyCode","altKey","ctrlKey","metaKey","isCharacterKey","window","navigation","userAgent","indexOf","name","didUpdate","createContainer","_container","cloneElement","directives","value","openCount","windowIsUndefined","cacheOverflow","wrapperClassName","string","setWrapperClassName","watch","val","prevGetContainer","getContainerIsFunc","toString","removeCurrentContainer","getParent","querySelectorAll","HTMLElement","body","getDomContainer","className","savePortal","c","switchScrollingEffect","Object","keys","setStyle","overflow","overflowX","overflowY","portal","childProps","getOpenCount","use","ref","antInput","antPortal","inBrowser","UA","navigator","toLowerCase","isIE9","makeMap","str","expectsLowerCase","map","create","list","split","isTextInputType","onCompositionStart","target","composing","onCompositionEnd","trigger","type","createEvent","initEvent","dispatchEvent","addEventListener","activeElement","vmodel","inserted","binding","vnode","tag","modifiers","lazy","PresetColorTypes","tuple","createChainedFunction","chainedFunction","apply","START_EVENT_NAME_MAP","transitionstart","transition","WebkitTransition","MozTransition","OTransition","msTransition","animationstart","animation","WebkitAnimation","MozAnimation","OAnimation","msAnimation","END_EVENT_NAME_MAP","transitionend","animationend","startEvents","endEvents","detectEvents","testEl","style","process","EVENT_NAME_MAP","events","baseEventName","hasOwnProperty","baseEvents","styleName","push","node","eventListener","removeEventListener","TransitionEvents","addStartEventListener","setTimeout","forEach","startEvent","removeStartEventListener","addEndEventListener","endEvent","removeEndEventListener","isCssAnimationSupported","Event","capitalPrefixes","prefixes","getStyleProperty","getComputedStyle","ret","getPropertyValue","fixBrowserByTimeout","transitionDelay","parseFloat","transitionDuration","animationDelay","animationDuration","time","Math","max","rcEndAnimTimeout","rcEndListener","clearBrowserBugTimeout","clearTimeout","cssAnimation","transitionName","endCallback","nameIsObj","activeClassName","active","end","start","nodeClasses","classes","prototype","rcAnimTimeout","cancelAnimationTimeout","remove","add","requestAnimationTimeout","stop","setTransition","p","property","v","undefined","prefix","easeInOutCubic","t","b","d","cc","inWeex","WXEnvironment","platform","weexPlatform","isIE","test","isEdge","isAndroid","isIOS","isChrome","isPhantomJS","isFF","match","availablePrefixs","requestAnimationFramePolyfill","lastTime","currTime","Date","getTime","timeToCall","id","getRequestAnimationFrame","requestAnimationFrame","bind","filter","key","cancelRequestAnimationFrame","cancelAnimationFrame","getScroll","top","prop","method","isWindow","documentElement","cached","getScrollBarSize","fresh","inner","width","height","outer","outerStyle","position","left","pointerEvents","visibility","widthContained","offsetWidth","widthScroll","clientWidth","noop","getTransitionProps","opt","beforeEnter","enter","afterEnter","leave","afterLeave","appear","nativeOn","transitionProps","css","on","done","animate","interopDefault","m","isFlexSupported","isNumeric","isNaN","isFinite","isValid","TimeType","validator","isNil","moment","TimesType","findIndex","TimeOrTimesType","checkValidate","componentName","propName","valueFormat","values","warning","isMoment","stringToMoment","momentToString","format","show","requestAnimationFrameId","appearRequestAnimationFrameId","raf","cancel","offsetHeight","opacity","nextTick","componentUpdated","getType","fn","camelizeRE","camelize","replace","_","toUpperCase","parseStyleText","cssText","camel","res","listDelimiter","propertyDelimiter","item","tmp","k","trim","hasProp","instance","$options","propsData","slotHasProp","slot","componentOptions","filterProps","getScopedSlots","ele","scopedSlots","getSlots","$vnode","slots","isEmptyElement","child","getSlot","options","$scopedSlots","$slots","getAllChildren","getSlotOptions","fnOptions","Ctor","entries","getComponentFromProp","execute","$createElement","h","temp","context","getPropsData","slotScope","slotsProp","attrs","getAllProps","getValueByProp","getAttrs","getKey","getEvents","listeners","getDataEvents","getListeners","getClass","tempCls","staticClass","cls","classNames","getStyle","staticStyle","getComponentName","opts","text","isStringElement","filterEmpty","initDefaultProps","propTypes","defaultProps","Error","mergeProps","isPlainObject","isValidElement","element","getDisplayName","WrappedComponent","wrapWithConnect","tempProps","required","__propsSymbol__","array","ProxyWrappedComponent","model","getProxyWrappedInstance","wrappedInstance","wrapProps","Symbol","componentWillReceiveProps","slotsKey","ids","wrapperRaf","delayFrames","myId","restFrames","internalCallback","pid","caf","frame","delay","now","timeout","enquire","matchMediaPolyfill","media","mediaQuery","matches","addListener","removeListener","matchMedia","require","responsiveArray","responsiveMap","xs","sm","md","lg","xl","xxl","subscribers","subUid","screens","responsiveObserve","dispatch","pointMap","subscribe","register","token","unsubscribe","unregister","screen","unmatch","destroy","scrollTo","y","duration","scrollTop","startTime","frameFunc","timestamp","nextScrollTop","pageXOffset","oldStyle","styleKeys","storeShape","shape","getState","store","provide","storeContext","defaultMapStateToProps","connect","mapStateToProps","shouldSubscribe","finalMapStateToProps","omit","Connect","inject","preProps","subscribed","trySubscribe","tryUnsubscribe","handleChange","nextSubscribed","shallowEqual","getWrappedInstance","proxyComponent","initialState","partial","listener","index","splice","isStyleSupport","styleNameList","some","bodyIsOverflowing","scrollHeight","innerHeight","clientHeight","innerWidth","close","scrollBarSize","throttleByAnimationFrame","requestId","later","throttled","throttleByAnimationFrameDecorator","descriptor","definingProperty","configurable","get","boundFn","defineProperty","writable","inlineStyle","border","background","padding","lineHeight","display","TransButton","noStyle","onKeyDown","preventDefault","onKeyUp","$emit","setRef","btn","div","focus","blur","keydown","keyup","triggerEvent","tupleNum","cloneVNode","deep","cloned","elm","asyncFactory","ns","isStatic","isComment","fnContext","fnScopeId","isCloned","cloneVNodes","vnodes","len","n","nodeProps","domProps","tempStyle","VuePropTypes","toType","Function","currentDefaults","Boolean","String","number","Number","object","integer","isInteger","symbol","custom","validatorFn","warnMsg","TypeError","valid","warn","_vueTypes_name","oneOf","arr","msg","join","allowedTypes","reduce","instanceOf","instanceConstructor","oneOfType","hasCustomValidators","nativeChecks","concat","isFunction","typesStr","validateType","arrayOf","every","objectOf","obj","requiredKeys","valueKeys","req","_vueTypes_isLoose","enumerable","typeDefaults","set","ObjProto","hasOwn","FN_MATCH_REGEXP","getNativeType","has","floor","withDefault","withRequired","silent","typeToCheck","expectedType","namePrefix","hasConsole","console","message","styleForPesudo","isHidden","offsetParent","isNotGrey","color","$el","nodeType","bindAnimationEvent","configProvider","ConfigConsumerProps","clickWaveTimeoutId","onClick","waveColor","insertExtraNode","extraNode","attributeName","getAttributeName","removeAttribute","setAttribute","csp","nonce","borderColor","innerHTML","contains","onTransitionStart","onTransitionEnd","animationStart","resetEffect","animationName","getAttribute","tagName","animationStartId","Element","getDefaultTarget","AffixProps","offsetTop","offset","offsetBottom","prefixCls","AffixStatus","None","Prepare","Affix","mixins","BaseMixin","affixStyle","placeholderStyle","status","lastAffix","prevTarget","beforeMount","updatePosition","lazyUpdatePosition","addObserveTarget","measure","newTarget","removeObserveTarget","getOffsetTop","getOffsetBottom","fixedNode","placeholderNode","targetNode","targetRect","getTargetRect","placeholderReact","fixedTop","getFixedTop","fixedBottom","getFixedBottom","bottom","prepareMeasure","getPrefixCls","Base","getBoundingClientRect","targetBottomOffset","TRIGGER_EVENTS","observerEntities","getObserverEntities","affix","entity","find","affixList","eventHandlers","targetAffix","observerEntity","hasAffix","oriObserverEntity","handler","AlertProps","closable","closeText","description","afterClose","showIcon","iconType","banner","icon","Alert","closing","closed","handleClose","dom","animationEnd","customizePrefixCls","iconTheme","alertCls","closeIcon","iconNode","getDefaultContainer","getClientRects","rect","ownerDocument","clientTop","sharpMatcherRegx","AnchorProps","bounds","showInkInFixed","wrapperClass","wrapperStyle","getCurrentAnchor","targetOffset","inheritAttrs","links","_sPrefixCls","activeLink","antAnchor","registerLink","includes","link","unregisterLink","handleScrollTo","antAnchorContext","scrollContainer","scrollEvent","handleScroll","currentContainer","updateInk","getCurrentActiveLink","linkSections","sharpLinkMatch","exec","getElementById","maxSection","prev","curr","setCurrentActiveLink","targetElement","eleOffsetTop","animating","currentActiveLink","linkNode","getElementsByClassName","inkNode","inkClass","anchorClass","fixed","maxHeight","anchorContent","AnchorLinkProps","href","title","oldVal","handleClick","titleClassName","Anchor","Link","AnchorLink","chaining","fns","disabled","placeholder","$attrs","newEvent","AutoCompleteProps","AbstractSelectProps","SelectValue","defaultValue","dataSource","dropdownMenuStyle","optionLabelProp","dropdownMatchSelectWidth","AutoComplete","showSearch","choiceTransitionName","autoFocus","backfill","filterOption","defaultActiveFirstOption","Option","OptGroup","savePopupRef","popupRef","getInputElement","select","size","childArray","selectProps","mode","Select","SECRET_COMBOBOX_MODE_DO_NOT_USE","notFoundContent","src","srcSet","alt","loadError","isImgExist","isMounted","scale","setScale","avatarChildren","avatarNode","childrenWidth","nodeWidth","lastChildrenWidth","lastNodeWidth","handleImgLoadError","errorFlag","sizeCls","classString","sizeStyle","fontSize","childrenNode","transformString","childrenStyle","msTransform","WebkitTransform","transform","sizeChildrenStyle","Avatar","BackTopProps","visibilityHeight","BackTop","getTarget","getCurrentScrollTop","pageYOffset","scrollToTop","defaultElement","divProps","click","backTopBtn","BadgeProps","count","showZero","overflowCount","dot","scrollNumberPrefixCls","numberStyle","isPresetColor","getNumberedDispayCount","badgeCount","displayCount","getDispayCount","isDot","getScrollNumberTitle","getStyleWithOffset","right","parseInt","marginTop","getBadgeClassName","hasStatus","isZero","numberedDispayCount","isEmpty","renderStatusText","hidden","renderDispayComponent","customNode","renderBadgeNumber","scrollNumberCls","statusStyle","customizeScrollNumberPrefixCls","scrollNumber","statusText","statusCls","styleWithOffset","statusTextColor","getNumberArray","num","reverse","current","ScrollNumberProps","displayComponent","animateStarted","sCount","lastCount","onAnimated","getPositionByNum","currentCount","abs","currentDigit","lastDigit","renderNumberList","childrenToReturn","renderCurrentNumber","removeTransition","renderNumberElement","Tag","restProps","newProps","boxShadow","Badge","base","antDirective","Route","path","breadcrumbName","loose","BreadcrumbProps","routes","params","separator","itemRender","getBreadcrumbName","route","paramsKeys","RegExp","replacement","defaultItemRender","paths","isLastItem","getPath","addChildPath","childPath","originalPaths","genForRoutes","overlay","crumbs","__ANT_BREADCRUMB_ITEM","__ANT_BREADCRUMB_SEPARATOR","renderBreadcrumbNode","breadcrumbItem","Breadcrumb","Item","BreadcrumbItem","Separator","BreadcrumbSeparator","ButtonGroupProps","sizeMap","large","small","rxTwoCNChar","isTwoCNChar","buttonTypes","__ANT_BUTTON","sLoading","loading","hasTwoCNChar","computed","ghost","block","autoInsertSpace","autoInsertSpaceInButton","preVal","delayTimeout","fixTwoCNChar","buttonNode","buttonText","textContent","isNeedInserted","insertSpace","needInserted","htmlType","buttonProps","kids","Button","Group","ButtonGroup","getMonthsLocale","clone","localeData","months","month","monthsShort","HeaderProps","locale","fullscreen","boolean","yearSelectOffset","yearSelectTotal","validRange","headerRender","getYearSelectElement","year","suffix","getCalenderHeaderNode","onYearChange","getMonthSelectElement","rangeStart","rangeEnd","currentYear","onMonthChange","newValue","newYear","newMonth","onInternalTypeChange","onTypeChange","calenderHeaderNode","getMonthYearSelections","yearReactNode","monthReactNode","getTypeSwitch","onValueChange","headerRenderCustom","onChange","typeSwitch","zerofixed","isMomentArray","CalendarMode","CalendarProps","disabledDate","Calendar","sValue","sMode","onHeaderValueChange","setValue","onHeaderTypeChange","onPanelChange","onSelect","way","prevValue","getDateRange","startDate","endDate","inRange","isBetween","getDefaultLocale","result","enUS","lang","monthCellRender2","monthCellRender","dateCellRender2","dateCellRender","date","renderCalendar","localeCode","dateFullCellRender","monthFullCellRender","fullCalendarProps","showHeader","en_US","TabPane","Tabs","extra","bordered","bodyStyle","headStyle","hoverable","actions","tabList","tabBarExtraContent","activeTabKey","defaultActiveTabKey","widerPadding","getAction","actionList","action","onTabChange","isContainGrid","containGrid","__ANT_CARD_GRID","loadingBlockStyle","loadingBlock","hasActiveTabKey","tabsProps","change","head","tabs","tab","titleDom","extraDom","cover","coverDom","actionDom","avatar","avatarDom","descriptionDom","MetaDetail","Card","Meta","Grid","SlickCarousel","CarouselEffect","CarouselProps","effect","dots","vertical","autoplay","easing","beforeChange","afterChange","accessibility","nextArrow","prevArrow","pauseOnHover","adaptiveHeight","arrows","autoplaySpeed","centerMode","centerPadding","cssEase","dotsClass","draggable","fade","focusOnSelect","infinite","initialSlide","lazyLoad","rtl","slide","slidesToShow","slidesToScroll","speed","swipe","swipeToSlide","touchMove","touchThreshold","variableWidth","useCSS","slickGoTo","responsive","dotPosition","Carousel","onWindowResized","debounce","leading","innerSlider","slick","getDotPosition","autoPlay","next","slickNext","slickPrev","goTo","dontAnimate","SlickCarouselProps","CascaderOptionType","label","FieldNamesType","CascaderExpandTrigger","ShowSearchType","sort","matchInputWidth","limit","CascaderProps","displayRender","popupStyle","popupClassName","popupPlacement","allowClear","loadData","expandTrigger","changeOnSelect","inputPrefixCls","getPopupContainer","popupVisible","fieldNames","suffixIcon","defaultLimit","defaultFilterOption","inputValue","names","option","defaultSortFilteredOption","a","elem","getFilledFieldNames","flattenTree","ancestor","flattenOptions","childrenName","defaultDisplayRender","labels","Cascader","cachedOptions","inputFocused","sPopupVisible","picker","highlightKeyword","keyword","defaultRenderFilteredOption","selectedOptions","__IS_FILTERED_OPTION","unwrappedValue","unwrappedSelectedOptions","handlePopupVisibleChange","handleInputFocus","handleInputBlur","handleInputClick","stopPropagation","nativeEvent","stopImmediatePropagation","handleKeyDown","handleInputChange","getLabel","arrayTreeFilter","o","level","childrenKeyName","clearSelection","generateFilteredOptions","renderEmpty","showSearchRender","filtered","matchCount","input","getContextPopupContainer","customizeInputPrefixCls","otherProps","clearIcon","arrowCls","pickerCls","tempInputProps","dropdownMenuColumnStyle","isNotFound","resultListMatchInputWidth","inputProps","readOnly","autoComplete","inputIcon","expandIcon","loadingIcon","cascaderProps","popupVisibleChange","__ANT_CHECKBOX","defaultChecked","checked","isGroup","indeterminate","checkboxGroupContext","checkboxGroup","registerValue","cancelValue","targetChecked","vcCheckbox","mouseenter","mouseleave","restListeners","checkboxProps","toggleOption","checkboxClass","registeredValues","getOptions","optionIndex","indexA","indexB","groupPrefixCls","Checkbox","CheckboxGroup","Col","collapseProps","openAnimation","expandIconPosition","renderExpandIcon","panelProps","isActive","collapseClassName","rcCollapeProps","showArrow","collapsePanelClassName","rcCollapePanelProps","header","Collapse","Panel","CollapsePanel","CommentProps","PropsTypes","author","content","datetime","Comment","renderNested","authorContent","contentDom","comment","getWatch","_proxyVm","_data","ConfigProvider","pageHeader","transformCellText","_self","renderEmptyComponent","defaultRenderEmpty","suffixCls","renderProvider","legacyLocale","ANT_MARK","__","RenderEmpty","functional","injections","renderHtml","Empty","PRESENTED_IMAGE_SIMPLE","getShowDateFromValue","newEnd","isSame","pickerValueAdapter","isEmptyArray","fixLocale","RangePickerProps","showToday","pickerValue","defaultPickerValue","sShowDate","sOpen","open","sHoverValue","shallowequal","hidePanel","showTime","clearHoverValue","diff","formatDate","handleOpenChange","handleShowDateChange","showDate","handleHoverChange","hoverValue","handleRangeMouseLeave","handleCalendarInputSelect","handleRangeClick","onMouseEnter","onMouseLeave","renderFooter","ranges","_prefixCls","tagPrefixCls","_tagPrefixCls","renderExtraFooter","customFooter","operations","range","rangeNode","calendarChange","ok","panelChange","customizeTagPrefixCls","disabledTime","inputReadOnly","dateRender","calendarClassName","pickerChangeHandler","calendarProps","timePicker","changedValue","startPlaceholder","rangePlaceholder","endPlaceholder","rangeCalendarProps","dateInputPlaceholder","valueChange","hoverChange","inputSelect","calendar","pickerStyle","startValue","endValue","pickerInputClass","vcDatePickerProps","openChange","pickerClass","formatValue","WeekPickerProps","_value","_open","prevState","weekDateRender","selectedValue","dateNode","week","createPicker","TheCalendar","handleCalendarChange","monthCellContentRender","MonthCalendar","pickerProps","minWidth","theCalendarProps","tabIndex","onOpenChange","DatePicker","wrapPicker","VcCalendar","DatePickerProps","MonthPicker","MonthPickerProps","RangePicker","WeekPicker","PickerProps","dropdownClassName","getCalendarContainer","align","SinglePickerProps","CalendarLocale","timePickerLocale","TimePickerLocale","DEFAULT_FORMAT","dateTime","LOCALE_FORMAT_MAPPING","getColumns","showHour","showMinute","showSecond","use12Hours","column","Picker","pickerType","handleFocus","handleBlur","handleMouseEnter","handleMouseLeave","dateString","handleOk","transformValue","renderPicker","mergedPickerType","mergedFormat","timeFormat","vcTimePickerProps","generateShowHourMinuteSecond","columns","timePickerCls","timePickerPanelProps","esc","ColProps","colon","layout","ctx","span","labelProps","colSpan","DescriptionsItemProps","toArray","DescriptionsItem","DescriptionsProps","generateChildrenRows","rows","leftSpans","itemNodes","itemProps","itemNode","lastItem","lastSpanSame","defaultColumnMap","Descriptions","getColumn","breakpoint","renderRow","renderCol","colItem","idx","cloneChildren","cloneContentChildren","childrenItem","ResponsiveObserve","childrenArray","Divider","dashed","orientation","orientationPrefix","Drawer","destroyOnClose","maskClosable","mask","maskStyle","wrapStyle","headerStyle","drawerStyle","zIndex","placement","wrapClassName","handle","afterVisibleChange","keyboard","destroyClose","preVisible","_push","parentDrawer","pull","onDestroyTransitionEnd","isDestroyOnClose","getDestroyOnClose","getPushTransform","getRcDrawerStyle","renderHeader","headerClassName","renderCloseIcon","renderBody","containerStyle","rest","haveMask","offsetStyle","vcDrawerProps","showMask","classnames","ButtonTypesProps","DropdownProps","getDropdownProps","DropdownButtonProps","onVisibleChange","dropdownProps","visibleChange","buttonGroupProps","Dropdown","mouseEnterDelay","mouseLeaveDelay","getTransitionName","renderOverlay","overlayNode","overlayProps","selectable","focusable","fixedModeOverlay","dropdownTrigger","triggerActions","alignPoint","DropdownButton","overlayClassName","overlayStyle","openClassName","minOverlayWidthMatchTrigger","PRESENTED_IMAGE_DEFAULT","TransferLocale","EmptyProps","image","imageStyle","contentLocale","des","imageNode","Image","DefaultEmptyImg","SimpleEmptyImg","FormProps","labelCol","wrapperCol","labelAlign","hideRequiredMark","rules","validateMessages","validateOnRuleChange","ValidationRule","whitespace","min","pattern","isRegExp","Form","FormItem","created","fields","FormContext","validate","addField","field","removeField","onSubmit","submit","resetFields","resetField","clearValidate","promise","Promise","resolve","reject","invalidFields","validateField","cb","formClassName","getPropByPath","strict","tempObj","keyArr","FormItemProps","htmlFor","help","hasFeedback","autoLink","validateStatus","__ANT_NEW_FORM_ITEM","validateState","validateMessage","validateDisabled","fieldValue","getRules","rule","initialValue","cloneDeep","getFilteredRule","AsyncValidator","messages","firstFields","errors","formRules","selfRules","requiredRule","onFieldBlur","onFieldChange","formProps","firstChildren","originalEvents","originalBlur","originalChange","FormDecoratorDirective","FormCreateOption","onFieldsChange","onValuesChange","mapPropsToFields","withRef","WrappedFormUtils","getFieldsValue","getFieldValue","setFieldsValue","setFields","validateFields","validateFieldsAndScroll","getFieldError","getFieldsError","isFieldValidating","isFieldTouched","isFieldsTouched","getFieldDecorator","form","autoFormCreate","selfUpdate","createFormField","createDOMForm","fieldNameProp","fieldMetaProp","FIELD_META_PROP","fieldDataProp","FIELD_DATA_PROP","createForm","templateContext","formItemContexts","Map","collectFormItemContext","beforeUpdate","cleanUpUselessFields","DomForm","decoratorFormProps","domForm","inst","intersperseSpace","fieldDecoratorId","fieldDecoratorOptions","comeFromSlot","itemVnode","isSlot","$children","__ANT_FORM_ITEM","isFormItemChildren","helpShow","itemSelfUpdate","collectContext","getControls","slotDefault","isSlotScope","getHelpMessage","onlyControl","getOnlyControl","getField","recursively","controls","getChildAttr","getId","getMeta","getValidateStatus","validating","onLabelClick","formItemNode","control","querySelector","onHelpAnimEnd","_key","meta","renderHelp","renderExtra","renderValidateWrapper","c1","c2","c3","renderWrapper","contextWrapperCol","mergedWrapperCol","colProps","renderLabel","contextLabelAlign","contextLabelCol","contextColon","mergedLabelCol","mergedLabelAlign","labelClsBasic","labelColClassName","labelColClass","labelColStyle","labelColId","labelChildren","computedColon","haveColon","labelClassName","renderChildren","renderFormItem","itemClassName","decoratorOption","decoratorChildren","$form","stringOrNumber","ColSize","order","objectOrNumber","flex","rowContext","parseFlex","sizeClassObj","sizeProps","propSize","gutter","getGutter","paddingLeft","paddingRight","paddingTop","paddingBottom","RowProps","justify","results","normalizedGutter","g","rowStyle","marginLeft","marginRight","marginBottom","customCache","Set","scriptUrl","extraCommonProps","script","Iconfont","Icon","slotsMap","iconProps","VueIcon","allIcons","setTwoToneColor","defaultTheme","dangerousTheme","renderIcon","Component","viewBox","spin","theme","twoToneColor","rotate","svgClassString","svgStyle","innerSvgProps","svgBaseProps","renderInnerNode","computedType","themeInName","getThemeFromTypeName","withThemeSuffix","removeTypeTheme","alias","iconTabIndex","iProps","role","createFromIconfontCN","getTwoToneColor","primaryColor","setTwoToneColors","colors","getTwoToneColors","fill","fillTester","outlineTester","twoToneTester","newType","ENV","components","FormModel","Input","InputNumber","Layout","List","LocaleProvider","Menu","Mentions","Modal","Pagination","Popconfirm","Popover","Progress","Radio","Rate","Row","Slider","Spin","Statistic","Steps","Switch","Table","Transfer","Tree","TreeSelect","TimePicker","Timeline","Tooltip","Upload","Skeleton","Result","PageHeader","Space","$message","$notification","notification","$info","info","$success","success","$error","error","$warning","$confirm","confirm","$destroyAll","destroyAll","version","InputNumberProps","step","formatter","parser","decimalSeparator","precision","inputNumberRef","others","inputNumberClass","upIcon","downIcon","vcInputNumberprops","upHandler","downHandler","hasPrefixSuffix","ClearableInputType","ClearableLabeledInput","inputType","handleReset","addonBefore","addonAfter","renderClearIcon","renderSuffix","renderLabeledIcon","affixWrapperCls","getInputClassName","renderInputWithLabel","labeledElement","addonClassName","addonBeforeNode","addonAfterNode","mergedWrapperClassName","mergedGroupClassName","renderTextAreaWithClearIcon","renderClearableLabeledInput","compact","fixControlledValue","resolveOnChange","currentTarget","originalInputValue","stateValue","clearPasswordValueAttribute","removePasswordTimeout","renderInput","hasAttribute","isComposing","textareaProps","ActionMap","hover","visibilityToggle","getIcon","iconTrigger","inputClassName","RESIZE_STATUS_NONE","RESIZE_STATUS_RESIZING","RESIZE_STATUS_RESIZED","TextAreaProps","autosize","autoSize","ResizableTextArea","textareaStyles","resizeStatus","resizeTextarea","nextFrameActionId","resizeFrameId","handleResize","resizeOnNextFrame","textArea","minRows","maxRows","calculateNodeHeight","fixFirefoxAutoScroll","currentStart","selectionStart","currentEnd","selectionEnd","setSelectionRange","renderTextArea","enterButton","onSearch","isMobile","tablet","renderLoading","renderAddonAfter","btnClassName","enterButtonAsElement","button","isAntdButton","extendOptions","search","pressEnter","resizableTextArea","resizeProps","HIDDEN_TEXTAREA_STYLE","SIZING_STYLE","computedStyleCache","hiddenTextarea","calculateNodeStyling","useCache","nodeRef","boxSizing","paddingSize","borderSize","sizingStyle","nodeInfo","uiTextNode","minHeight","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","singleRowHeight","antInputDirective","Search","TextArea","Password","maxLength","dimensionMaxMap","SiderProps","collapsible","collapsed","defaultCollapsed","reverseArrow","zeroWidthTriggerStyle","collapsedWidth","generateId","__ANT_LAYOUT_SIDER","uniqueId","mql","sCollapsed","below","belowShow","layoutSiderContext","siderHook","responsiveHandler","addSider","removeSider","setCollapsed","toggle","belowShowChange","rawWidth","siderWidth","zeroWidthTrigger","iconObj","expanded","defaultTrigger","triggerDom","divStyle","maxWidth","siderCls","Sider","Header","Footer","Content","BasicProps","hasSider","generator","BasicComponent","basicComponentProps","Basic","BasicLayout","siders","currentId","divCls","ListItemProps","grid","ListGridType","ListItemMetaProps","__ANT_LIST_ITEM_META","getGrid","listContext","isItemContainsTextNodeAndNotSingular","isFlexMode","itemLayout","actionsContent","itemChildren","mainContent","ColumnCount","ColumnType","ListSize","ListProps","loadMore","pagination","PaginationConfig","rowKey","renderItem","footer","defaultPaginationProps","pageSize","page","paginationCurrent","total","onPaginationChange","triggerPaginationEvent","onPaginationShowSizeChange","paginationObj","defaultCurrent","paginationSize","defaultPageSize","renderItem2","isSomethingAfterLastItem","emptyText","loadingProp","spinning","isLoading","paginationProps","largestPage","ceil","paginationContent","showSizeChange","splitDataSource","childrenContent","items","childrenList","paginationPosition","defaultLocale","getLocale","defaultLocaleData","antLocale","localeFromContext","getLocaleCode","exist","setMomentLocale","_ANT_MARK__","changeConfirmLocale","ColorPicker","global","filterTitle","filterConfirm","filterReset","selectAll","selectInvert","sortTitle","expand","collapse","okText","cancelText","justOkText","titles","searchPlaceholder","itemUnit","itemsUnit","uploading","removeFile","uploadError","previewFile","downloadFile","Text","edit","copy","copied","back","VcMentions","loadingFilterOption","getMentions","config","prefixList","hitPrefix","startStr","prefixStr","mentionsProps","focused","onFocus","onBlur","getNotFoundContent","getFilterOption","vcMentions","mergedClassName","getInlineCollapsed","isMenuItem","menuItem","rootPrefixCls","inlineCollapsed","tooltipTitle","tooltipProps","siderCollapsed","toolTipProps","isSubMenu","VcSubMenu","menuPropsContext","subMenu","antdMenuTheme","MenuMode","menuProps","commonPropsType","selectedKeys","defaultSelectedKeys","openKeys","defaultOpenKeys","openTransitionName","multiple","inlineIndent","isRootMenu","SubMenu","ItemGroup","propsUpdating","switchingModeFromInline","sOpenKeys","collapsedChange","leaveAnimationExecutedWhenInlineCollapsed","inlineOpenKeys","restoreModeVerticalFromInline","handleTransitionEnd","widthCollapsed","propertyName","classNameValue","animVal","iconScaled","handleSelect","handleDeselect","setOpenKeys","getRealMenuMode","getMenuOpenAnimation","menuMode","menuOpenAnimation","menuClassName","deselect","hideMenu","defaultDuration","defaultTop","messageInstance","maxCount","getMessageInstance","Notification","newInstance","notice","closePromise","onClose","switchIconNode","removeNotice","then","filled","rejected","isArgsProps","api","ButtonType","ActionButtonProps","actionFn","closeModal","timeoutId","onCancel","onOk","centered","okButtonProps","cancelButtonProps","okType","contentPrefixCls","okCancel","runtimeLocale","getConfirmLocale","autoFocusButton","maskTransitionName","cancelButton","triggerCancel","mousePosition","getClickPosition","x","pageX","pageY","modalProps","confirmLoading","focusTriggerAfterClose","destroyFns","sVisible","handleCancel","cancelBtnProps","okBtnProps","defaultFooter","closeIconToRender","dialogProps","currentConfig","Omit","confirmDialogInstance","confirmDialogProps","update","newConfig","param","parentContext","cdProps","modalConfirm","confirmFn","destroyAllFn","pop","newLocale","notificationInstance","defaultBottom","defaultPlacement","defaultGetContainer","defaultCloseIcon","setNotificationConfig","getPlacementStyle","getNotificationInstance","cacheKey","typeToIcon","outerPrefixCls","PageHeaderProps","backIcon","subTitle","breadcrumb","tags","renderBack","onBack","renderBreadcrumb","renderTitle","headingPrefixCls","backIconDom","breadcrumbDom","SelectProps","VcSelect","selectOptionsProps","selelctProps","PaginationProps","hideOnSinglePage","showSizeChanger","pageSizeOptions","buildOptionText","showQuickJumper","showTotal","simple","selectPrefixCls","showLessItems","getIconsProps","prevIcon","nextIcon","jumpPrevIcon","jumpNextIcon","renderPagination","contextLocale","customizeSelectPrefixCls","customLocale","isSmall","selectComponentClass","MiniSelect","mini","abstractTooltipProps","btnProps","defaultVisible","onConfirm","setVisible","getPopupDomNode","tooltip","popconfirmLocale","statusColorMap","normal","exception","getPercentage","percent","successPercent","ptg","validProgress","successPtg","getStrokeColor","progressStatus","strokeColor","Circle","strokeWidth","trailColor","strokeLinecap","gapPosition","gapDegree","circleSize","circleStyle","circleWidth","gapPos","gapDeg","isGradient","sortGradient","tempArr","gradients","formatKey","handleGradient","from","to","direction","sortedGradients","backgroundImage","Line","backgroundProps","percentStyle","borderRadius","successPercentStyle","successSegment","ProgressStatuses","ProgressType","ProgressSize","ProgressProps","showInfo","getPercentNumber","getProgressStatus","renderProcessInfo","textFormatter","percentNumber","progressInfo","progress","lineProps","circleProps","progressProps","buttonStyle","updatingValue","radioGroupContext","radioOptions","onRadioChange","ev","lastValue","radioGroup","radioProps","wrapperClassString","RateProps","allowHalf","tooltips","character","characterRender","refRate","rateProps","IconMap","ExceptionMap","noFound","serverError","unauthorized","ExceptionStatus","ResultProps","SVGComponent","iconString","PRESENTED_IMAGE_403","PRESENTED_IMAGE_404","PRESENTED_IMAGE_500","NoFound","ServerError","Unauthorized","showAction","dropdownStyle","defaultOpen","autoClearSearchValue","dropdownRender","Value","firstActiveValue","maxTagCount","maxTagPlaceholder","maxTagTextLength","optionFilterProp","labelInValue","tokenSeparators","removeIcon","menuItemSelectedIcon","SelectPropTypes","isCombobox","vcSelect","renderSuffixIcon","modeConfig","combobox","finalRemoveIcon","finalClearIcon","finalMenuItemSelectedIcon","restOption","skeletonAvatarProps","SkeletonAvatarProps","shapeCls","widthUnit","skeletonParagraphProps","SkeletonParagraphProps","Paragraph","getWidth","rowList","skeletonTitleProps","SkeletonTitleProps","Title","zWidth","SkeletonProps","paragraph","getComponentProps","getAvatarBasicProps","hasTitle","hasParagraph","getTitleBasicProps","hasAvatar","getParagraphBasicProps","basicProps","avatarProps","contentNode","$title","titleProps","paragraphNode","paragraphProps","SliderProps","tooltipPrefixCls","marks","included","tipFormatter","tooltipVisible","tooltipPlacement","getTooltipPopupContainer","visibles","toggleTooltipVisible","handleWithTooltip","dragging","isTipFormatter","handleProps","sliderRef","customizeTooltipPrefixCls","vcRangeProps","vcSliderProps","SpaceSizeType","spaceSize","middle","SpaceProps","mergedAlign","someSpaceClass","marginDirection","SpinSize","SpinProps","tip","indicator","defaultIndicator","shouldDelay","setDefaultIndicator","shouldBeDelayed","originalUpdateSpinning","updateSpinning","debouncifyUpdateSpinning","sSpinning","cancelExistingSpin","getChildren","renderIndicator","dotClassName","spinClassName","spinElement","containerClassName","REFRESH_INTERVAL","valueOf","StatisticProps","countdownId","syncTimer","stopTimer","startTimer","setInterval","statistic","clearInterval","formatCountdown","valueRenderHtml","valueRender","groupSeparator","valueNode","cells","negative","int","decimal","padEnd","valueStyle","Countdown","timeUnits","formatTimeStr","leftDuration","escapeRegex","keepList","templateText","replacedText","unit","padStart","getStepsProps","iconPrefix","initial","labelPlacement","progressDot","Step","VcSteps","customizeIconPrefixCls","icons","finish","stepsProps","__ANT_SWITCH","checkedChildren","unCheckedChildren","refSwitchNode","switchProps","ColumnProps","__ANT_TABLE_COLUMN_GROUP","handelClick","SelectionBoxProps","getCheckState","defaultSelection","rowIndex","selectionDirty","selectedRowKeys","checkSelection","getCheckboxPropsByItem","getRecordKey","byDefaultChecked","getIndeterminateState","someCheckedNotByDefaultChecked","someCheckedByDefaultChecked","SelectionCheckboxAllProps","defaultSelections","hideDefaultSelections","setCheckState","handleSelectAllChange","renderMenus","selections","selection","selectionPrefixCls","customSelections","newSelections","menu","getRowSelection","rowSelection","getColumnKey","dataIndex","isSameColumn","other","defaultPagination","onShowSizeChange","emptyObject","createComponents","bodyRow","row","createBodyRow","isTheSameComponents","components1","components2","getFilteredValueColumns","flatFilter","filteredValue","getFiltersFromColumns","filters","colKey","col","isFiltersChanged","columnKey","Column","ColumnGroup","TableProps","useFixedHeader","indentSize","sortDirections","childrenColumnName","expandedRowRender","CheckboxPropsCache","createStore","getDefaultSortOrder","sFilters","getDefaultFilters","sPagination","getDefaultPagination","pivot","sComponents","filterDataCnt","newPagination","previousState","getCheckboxProps","filteredValueColumns","filtersFromColumns","newFilters","sortColumn","sSortColumn","sortOrder","sSortOrder","getSortOrderColumns","sortState","getSortStateFromColumns","getDefaultSelection","getFlatData","record","hasPagination","definedFilters","defaultFilteredValueColumns","defaultFilteredValue","defaultFilters","soFar","definedSortState","defaultSortedColumn","defaultSortOrder","sortedColumn","getMaxCurrent","recordKey","getSorterFn","sorter","getCurrentPageData","getLocalData","MAX_VALUE","flatArray","getFlatCurrentPageData","currentState","sorterFn","recursiveSort","findColumn","onFilter","onRow","customRow","setSelectedRowKeys","selectionInfo","selectWay","changeRowKeys","selectedRows","onSelectMultiple","changeRows","onSelectAll","onSelectInvert","generatePopupContainerFunc","scroll","table","vcTable","getTableNode","scrollToFirstRow","scrollToFirstRowOnChange","getBodyTable","handleFilter","nextFilters","currentColumnKeys","treeMap","filtersToSetState","prepareParamsArguments","sSelectionDirty","realIndex","shiftKey","sign","dist","j","handleRadioSelect","handleSelectRow","selectionKey","onSelectFunc","changeableRowKeys","customSelectionStartIndex","handlePageChange","otherArguments","handleShowSizeChange","nextPagination","toggleSortOrder","newSortOrder","methodIndex","isSortColumn","currentColumn","currentDataSource","myKey","expandable","needIndentSpaced","onExpand","renderSelectionBox","selectionBoxProps","renderRowSelection","selectionColumnClass","selectionColumn","customRender","columnWidth","columnTitle","INTERNAL_COL_DEFINE","checkboxAllDisabled","unshift","renderColumnsDropdown","dropdownPrefixCls","filterDropdown","sortButton","customHeaderCell","colFilters","isAscend","isDescend","ascend","descend","onHeaderCellClick","renderColumnTitle","renderTable","contextGetPopupContainer","expandIconAsCell","realGetPopupContainer","mergedLocale","columnsWithRowSelection","newColumn","expandIconColumnIndex","vcTableProps","customizeDropdownPrefixCls","customizeTransformCellText","tct","paginationPatchClass","spinProps","BodyRowProps","Store","BodyRow","selected","FilterMenuProps","filterDropdownVisible","sSelectedKeys","sKeyPathOfSelectedItem","sValueKeys","generateValueMaps","_propsSymbol","nextProps","setNeverShown","getDropdownVisible","neverShown","rootNode","filterBelongToScrollBody","closest","setSelectedKeys","onFilterDropdownVisibleChange","handleClearFilters","handleConfirm","confirmFilter2","confirmFilter","handleMenuItemClick","keyPath","keyPathOfSelectedItem","hasSubMenu","propSelectedKeys","containSelected","subMenuCls","renderMenuItem","renderFilterIcon","filterIcon","dropdownIconClass","filterMultiple","originSelectedKeys","dropdownMenuClass","clearFilters","menus","normalize","elements","restSlots","updateColumns","cols","slotTitle","slotFooter","tProps","getPaginationProps","getSpinProps","ColumnFilterItem","customCell","ellipsis","TableLocale","RowSelectionType","TableRowSelection","rowClassName","defaultExpandAllRows","defaultExpandedRowKeys","expandedRowKeys","expandRowByClick","customHeaderRow","tableLayout","loop","newItem","tree","mapper","acc","maps","TabBar","tabBarStyle","tabPosition","tabBarPosition","animated","renderTabBar","panels","activeKey","tabBarGutter","inkBarAnimated","inkBar","isVertical","prevIconType","nextIconType","renderProps","extraContent","RenderTabBar","ScrollableInkTabBar","__ANT_TAB_PANE","TabContent","defaultActiveKey","hideAdd","destroyInactiveTabPane","NO_FLEX","tabNode","removeTab","targetKey","createNewTab","onTabClick","onPrevClick","onNextClick","tabPaneAnimated","tabPane","childrenWithClose","renderTabBarSlot","tabBarProps","contentCls","renderTabContent","PresetColorRegex","_visible","defaultPrevented","handleIconClick","getTagStyle","backgroundColor","getTagClassName","CheckableTag","TimePickerProps","hideDisabledOptions","disabledHours","disabledMinutes","disabledSeconds","focusOnOpen","hourStep","minuteStep","secondStep","allowEmpty","clearText","defaultOpenValue","addon","getDefaultFormat","getAllowClear","handleOpenClose","renderInputIcon","clockIcon","clearIconPrefixCls","renderTimePicker","pickerClassName","tempAddon","pickerAddon","panel","timeProps","TimelineProps","pending","pendingDot","pendingNode","pendingItem","timeLineItems","getPositionCls","eleProps","truthyItems","itemsCount","lastCls","pendingClass","readyClass","timelineProps","TimeLineItemProps","liProps","TimelineItem","splitObject","picked","omitted","isNoTitle","getPlacements","builtinPlacements","arrowPointAtCenter","autoAdjustOverflow","verticalArrowShift","getDisabledCompatibleChildren","spanStyle","cursor","spanCls","getOverlay","onPopupAlign","domNode","placements","points","transformOrigin","childCls","getTooltipContainer","popupAlign","triggerType","destroyTooltipOnHide","ToolTip","autoAdjustOverflowEnabled","adjustX","adjustY","autoAdjustOverflowDisabled","getOverflowOptions","arrowWidth","horizontalArrowShift","placementMap","topLeft","leftTop","topRight","rightTop","bottomRight","rightBottom","bottomLeft","leftBottom","rcPlacements","ignoreShake","renderedText","renderedEl","listItem","lazyProps","throttle","TransferDirection","TransferItem","TransferProps","targetKeys","listStyle","operationStyle","showSelectAll","leftFilter","rightFilter","sourceSelectedKeys","targetSelectedKeys","updateState","getSelectedKeysName","getTitles","transferLocale","oldLocale","separatedDataSource","newSourceSelectedKeys","newTargetSelectedKeys","moveTo","moveKeys","newMoveKeys","newTargetKeys","oppositeDirection","handleSelectChange","moveToLeft","moveToRight","onItemSelectAll","checkAll","originalSelectedKeys","mergedCheckedKeys","handleSelectAll","filteredDataSource","handleLeftSelectAll","handleRightSelectAll","onLeftItemSelectAll","onRightItemSelectAll","searchChange","handleLeftFilter","handleRightFilter","handleClear","handleLeftClear","handleRightClear","onItemSelect","selectedKey","holder","selectedItem","handleLeftSelect","handleRightSelect","onLeftItemSelect","onRightItemSelect","handleLeftScroll","handleRightScroll","handleListStyle","separateDataSource","leftDataSource","rightDataSource","indexOfKey","renderTransfer","leftActive","rightActive","defaultRender","isRenderResultPlainObject","TransferListProps","titleText","checkedKeys","renderList","renderListNode","bodyContent","customize","defaultRenderList","timer","triggerScrollTimer","filterValue","listContentWrapper","listContentWrapperDom","getCheckStatus","filteredItems","getFilteredItems","filteredRenderItems","renderedItem","renderItemHtml","matchFilter","getListBody","bodyDom","_handleClear","_handleFilter","listBody","bodyNode","getCheckBox","checkStatus","checkedAll","checkAllCheckbox","_handleSelect","transferNode","listNode","renderResult","isRenderResultPlain","filterNull","footerDom","listCls","listFooter","TransferOperationProps","leftArrowText","rightArrowText","ListBody","itemsLength","lazyId","bubbles","mountId","onScroll","globalDisabled","TransferSearchProps","handleClear2","TreeNode","SHOW_ALL","SHOW_PARENT","SHOW_CHILD","TreeSelectProps","treeCheckable","vcTreeSelect","renderSwitcherIcon","isLeaf","updateTreeData","treeData","defaultFields","replaceFields","newLabel","newTitle","treeNodeProps","dataRef","checkable","VcTreeSelectProps","switcherIcon","TreeData","filterTreeNode","searchValue","showCheckedStrategy","treeCheckStrictly","treeDataSimpleMode","treeDefaultExpandAll","treeExpandedKeys","treeIcon","treeDefaultExpandedKeys","treeNodeFilterProp","treeNodeLabelProp","TreeProps","expandAction","defaultExpandAll","defaultExpandParent","expandedKeys","defaultExpandedKeys","convertTreeToEntities","keyEntities","_selectedKeys","_expandedKeys","getFullKeyListByTreeData","getFullKeyList","conductExpandParent","onDebounceExpand","expandFolderNode","setUncontrolledState","onDoubleClick","eventKey","ctrlPick","shiftPick","newSelectedKeys","lastSelectedKey","cachedSelectedKeys","selectedNodes","convertDirectoryKeysToNodes","calcRangeKeys","internalTree","onNodeExpand","doubleclick","treeProps","dblclick","showLine","autoExpandParent","checkStrictly","halfChecked","defaultCheckedKeys","filterAntTreeNode","loadedKeys","treeNodes","blockNode","switcherCls","vcTreeProps","DirectoryTree","Record","Start","End","traverseNodesKey","rootChildren","nodeList","getNodeChildren","processNode","startKey","endKey","matchKey","restKeys","nodes","UploadProps","draggerProps","Dragger","accept","beforeUpload","showUploadList","listType","supportServerRender","progressTimer","sFileList","fileList","defaultFileList","dragState","clearProgressTimer","onStart","file","targetItem","fileToObject","nextFileList","fileIndex","uid","File","env","TEST_IE","autoUpdateProgress","onSuccess","response","xhr","JSON","parse","getFileItem","onProgress","onError","onReject","handleRemove","onRemove","removedFileList","removeFileItem","upload","abort","handleManualRemove","uploadRef","onFileDrop","reBeforeUpload","stateFileList","uniqBy","getPercent","genPercentAdd","curPercent","renderUploadList","propLocale","showRemoveIcon","showPreviewIcon","showDownloadIcon","uploadListProps","pick","vcUploadProps","uploadList","dragCls","uploadButtonCls","uploadButton","UploadListProps","progressAttr","previewImage","FileReader","originFileObj","Blob","thumbUrl","previewDataUrl","handlePreview","preview","handleDownload","download","url","thumbnail","isImageUrl","loadingProgress","infoUploadingClass","linkProps","downloadIcon","downloadOrDelete","listItemNameClass","previewIcon","iconAndPreview","listContainerNameClass","listClassNames","animationDirection","transitionGroupProps","UploadFileStatus","UploadFile","UploadChangeParam","ShowUploadListInterface","UploadLocale","directory","headers","customRequest","withCredentials","openFileDialogOnClick","transformFile","UploadState","lastModified","lastModifiedDate","removed","extname","filename","filenameWithoutSuffix","isImageFileType","extension","MEASURE_SIZE","canvas","getContext","img","onload","drawWidth","drawHeight","offsetX","offsetY","drawImage","dataURL","toDataURL","URL","createObjectURL","getElement","getPoint","point","childrenProps","monitorBufferTime","monitorWindowResize","aligned","prevProps","forceAlign","startMonitorWindowResize","reAlign","source","sourceRect","lastElement","currentElement","lastPoint","currentPoint","isSamePoint","preRect","isSimilarValue","stopMonitorWindowResize","clonedeep","resizeHandler","bufferMonitor","buffer","clear","alignElement","restoreFocus","Align","ms","bufferFn","clientX","clientY","val1","val2","int1","int2","getMomentObjectIfValid","enUs","defaultSelectedValue","showDateInput","showWeekNumber","showOk","renderSidebar","focusablePanel","inputMode","CommonMixin","CalendarMixin","sSelectedValue","getNowByCurrentStateValue","saveFocusElement","DateInput","getInstance","nodeName","goTime","goStartMonth","goEndMonth","onClear","isAllowedDate","onDateInputChange","onDateInputSelect","onDateTableSelect","timePickerProps","timePickerDefaultValue","syncTime","onToday","getTodayTime","dateInput","rootInstance","getRootDOMNode","openTimePicker","closeTimePicker","showTimePicker","disabledTimeConfig","getTimeConfig","timePickerEle","timePickerOriginProps","dateInputElement","getFormat","renderRoot","FullCalendar","defaultType","showTypeSwitch","headerComponents","headerComponent","sType","onMonthSelect","setType","TheHeader","CalendarHeader","headerProps","typeChange","dateCellContentRender","handlePanelChange","preSOpen","focusTimeout","focusCalendar","onCalendarKeyDown","closeCalendar","onCalendarSelect","cause","openCalendar","onCalendarOk","onCalendarClear","onCalendarBlur","setOpen","getCalendarElement","calendarEvents","extraProps","calendarInstance","componentInstance","childrenState","isArraysEqual","getValueFromSelectedValue","subtract","normalizeAnchor","init","normalizedValue","generateOptions","extraOptionGen","onInputSelect","originalValue","compare","sShowTimePicker","fireSelectValueChange","RangeCalendar","seperator","showClear","prevSelectedValue","firstSelectedValue","sPanelTriggerSource","onDatePanelEnter","hasSelectedValue","fireHoverValueChange","onDatePanelLeave","nextSelectedValue","updateHoverPoint","currentHoverTime","nextHoverTime","nextHoverValue","onDayHover","miss","includesTime","ht","t1","t2","fireValueChange","oriValueIndex","onOpenTimePicker","onCloseTimePicker","isAllowedDateAndTime","onStartInputChange","oargs","onEndInputChange","onStartInputSelect","onEndInputSelect","onStartValueChange","leftValue","onEndValueChange","rightValue","onStartPanelChange","newMode","onEndPanelChange","getStartValue","panelTriggerSource","getEndValue","getEndDisableTime","userSettingDisabledTime","hours","hour","minutes","minute","second","oldDisabledMinutes","olddisabledSeconds","disabledStartTime","disabledEndTime","isMonthYearPanelShow","v1","v2","direct","disabledStartMonth","isAfter","disabledEndMonth","isBefore","baseProps","dayHover","placeholder1","placeholder2","showOkButton","todayTime","thisMonth","thisYear","isTodayInView","nextMonthOfStart","isClosestMonths","leftPartProps","disabledMonth","enablePrev","enableNext","inputChange","rightPartProps","timePickerDisabledTime","TodayButtonNode","todayButtonProps","backToToday","today","TimePickerButtonNode","timePickerButtonProps","timePickerDisabled","OkButtonNode","okDisabled","extraFooter","CalendarFooter","footerEl","nowEl","okBtn","timePickerBtn","footerBtn","goMonth","goYear","showIf","condition","nextMonth","previousMonth","nextYear","previousYear","yearPanelReferer","monthSelect","onYearSelect","referer","onDecadeSelect","changeYear","monthYearElement","monthBeforeYear","selectClassName","timeClassName","yearSelect","showYearPanel","yearFormat","showMonthPanel","monthFormat","day","dayFormat","my","showDecadePanel","dateSelect","timeSelect","localeNow","disabledToday","isDisabled","disabledTodayClass","getTodayTimeStr","DATE_ROW_COUNT","DATE_COL_COUNT","cachedSelectionStart","cachedSelectionEnd","dateInputInstance","invalid","hasFocus","onInputChange","oldStr","parsed","validateDate","saveDateInput","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","isBeforeCurrentMonthYear","isAfterCurrentMonthYear","rangeValue","endOf","dateHtml","getTitleString","cx","veryShortWeekdays","weekDays","showWeekNumberEl","dateColIndex","weekdaysMin","weekdaysShort","weekDaysEls","xindex","bodyProps","ROW","COL","chooseDecade","nextCentury","previousCentury","startYear","preYear","endYear","decades","colIndex","startDecade","endDecade","decadesEls","decadeIndex","tds","dStartDecade","decadeData","dEndDecade","isLast","isNext","classNameMap","clickHandler","yearSelectElement","monthSelectElement","getMonthName","changeTypeToDate","changeTypeToMonth","switchCls","typeSwitcher","weekSelect","decadeSelect","dateFormat","dateTimeFormat","previousDecade","nextDecade","MomentType","setSelectedValue","focusElement","MonthPanel","cellRender","setAndSelectValue","yearPanelShow","MonthTable","chooseMonth","currentMonth","monthsEls","testValue","monthData","cellEl","currentValue","CalendarPart","shouldShowTimePicker","rangeClassName","tableProps","outline","defaultDisabledTime","utcOffset","millisecond","isTimeValidByConfig","invalidTime","seconds","isTimeValid","startOf","timeList","chooseYear","years","decadePanelShow","yeasEls","yearData","BUILT_IN_PLACEMENTS","sActiveValue","oldValue","shallowEqualArrays","newValues","getPopupDOMNode","getFieldName","defaultFieldNames","getFieldNames","getCurrentLevelOptions","getActiveOptions","activeValue","setPopupVisible","setProps","handleMenuSelect","targetOption","menuIndex","triggerNode","getRootDomNode","activeOptions","handleItemDoubleClick","currentLevel","currentOptions","currentIndex","nextIndex","emptyMenuClassName","menusProps","itemDoubleClick","triggerProps","popupTransitionName","menuItems","scrollActiveItemToView","getOption","onItemDoubleClick","expandProps","mousedown","menuItemCls","expandIconNode","hasChildren","delayOnSelect","isActiveOption","getMenuItemRef","loadingIconNode","getShowOptions","activeOption","delayTimer","optionsLength","itemComponent","sChecked","eventShiftKey","globalProps","substr","_toArray","currentActiveKey","accordion","destroyInactivePanel","currentOpenAnimations","openAnimationFactory","stateActiveKey","onClickItem","setActiveKey","getNewChild","headerClass","panelEvents","itemClick","panelKey","getItems","newChildren","handleItemClick","handleKeyPress","which","headerCls","itemCls","_isActive","IDialogPropTypes","getDialogPropTypes","uuid","w","setTransformOrigin","pos","doc","defaultView","parentWindow","destroyPopup","dialogContext","updatedCallback","inTransition","titleId","wrap","getDialogWrap","openTime","tryFocus","dialogNode","dialog","elOffset","lastOutSideFocusNode","sentinelStart","onAnimateLeave","onDialogMouseDown","dialogMouseDown","onMaskMouseUp","onMaskClick","onKeydown","sentinelEnd","getDialogElement","tempFooter","dialogStyle","dialogClass","dest","closer","sentinelStyle","dialogElement","dialogTransitionProps","getZIndexStyle","getWrapStyle","getMaskStyle","getMaskElement","maskElement","maskTransition","getMaskTransitionName","maskProps","maskTransitionProps","maskAnimation","DialogWrap","ILazyRenderBoxPropTypes","hiddenClassName","currentDrawer","IDrawerProps","ease","firstEnter","levelDom","maskDom","handlerdom","mousePos","sFirstEnter","drawerId","random","round","orignalOpen","passiveSupported","passive","getOpen","getDefault","isOpenChange","getParentAndLevelDom","setLevelDomTransform","onMaskTouchEnd","onTouchEnd","onIconTouchEnd","onWrapperTransitionEnd","contentWrapper","getCurrentDrawerSome","getSelfContainer","dataToArray","openTransition","placementName","levelMove","transitionEnd","trnasitionEnd","levelValue","$levelMove","transformArguments","$value","placementPos","eventArray","domArray","widthTransition","trannsformTransition","removeMoveHandler","removeStartHandler","transitionStr","heightTransition","getChildToRender","wrapperClassname","isHorizontal","contentValue","handlerChildren","handlerDefalut","handlerSlot","handlerSlotVnode","domContProps","directivesMaskDom","directivesContentWrapper","directivesContentDom","getTouchParentScroll","root","differX","differY","isY","isX","scrollY","scrollX","scrollWidth","scrollLeft","currentT","currentL","touches","startPos","changedTouches","$forceRender","IProps","IDrawerChildProps","vars","transitionEndObject","html","getElementsByTagName","eventType","attachEvent","detachEvent","arg","Document","hideAction","childOriginEvents","getMinOverlayWidthMatchTrigger","getOverlayElement","overlayElement","getMenuElement","extraOverlayProps","getMenuElementOrLambda","getOpenClassName","alignInstance","triggerHideAction","popupAnimation","afterPopupVisibleChange","topCenter","bottomCenter","DEFAULT_TRIGGER","createBaseForm","mapProps","identity","formPropName","formName","decorate","wrappedComponentRef","fieldsStore","createFieldsStore","instances","cachedBind","clearedFieldMetaCache","formItems","renderFields","domFields","submitting","updateFields","onCollectCommon","fieldMeta","getFieldMeta","originalProps","getValueFromEvent","valuesAll","getAllValues","valuesAllSet","getForm","touched","onCollect","name_","setFieldsAsDirty","newField","dirty","hasRules","onCollectValidate","validateFieldsInternal","validateFirst","getCacheBind","cache","oriFn","fieldOption","formItem","getFieldProps","fieldElem","valuePropName","defaultValuePropName","getFieldValuePropValue","newEvents","triggerEvents","usersFieldOption","isValidNestedFieldName","validateTrigger","inputListeners","inputAttrs","validateRules","normalizeValidateRules","validateTriggers","getValidateTriggers","setFieldMeta","saveRef","getFieldInstance","actionRules","flattenArray","maybeNestedFields","flattenRegisteredFields","changedFields","getNestedAllFields","formContext","allUpdate","changedValues","fieldsMeta","newFields","isRegistered","allValues","preserve","clearField","recoverClearedField","fieldList","getAllFieldsName","removedList","allRules","allFields","alreadyErrors","force","f","isEmptyObject","errorsGroup","errorFieldName","fieldName","ruleFieldName","restPath","fieldErrors","expired","nowAllFields","nowField","eq","getParams","oldCb","getValidFieldsFullName","getValidFieldsName","isSubmitting","wrappedComponentProps","argumentContainer","computedStyle","currentStyle","word","letter","getScrollableContainer","mixin","formMixin","newCb","validNames","firstNode","firstTop","scrollIntoView","onlyScrollIfNeeded","partOf","internalFlattenFields","flattenFields","isFormField","FieldsStore","validFieldsName","nowFields","nowValues","getValueFromFields","nowValue","maybePartialName","maybePartialNames","fullName","partialName","startsWith","getValueProps","fieldsName","getNotCollectedFields","member","getter","fullNames","isArrayValue","suffixNameStartIndex","setFieldsInitialValue","flattenedInitialValues","initialValues","getNestedFields","getNestedField","getErrorStrs","getFieldMember","isFieldsValidating","Field","Container","treeTraverse","isLeafNode","errorMessage","subTree","subTreeKey","pre","lastIndexOf","InputHandler","touchableProps","defaultParser","SPEED","DELAY","pow","isValidProps","isEqual","inputNumberProps","focusOnUpDown","useTouch","validValue","getValidValue","toNumber","toPrecisionAsStep","updatedFunc","nextInputValue","pressingUpOrDown","inputting","rawInput","nextValue","inputElem","inputRef","cursorStart","partRestoreByAfter","cursorAfter","lastKeyCode","fixCaret","ratio","getRatio","up","down","recordCursorPosition","getCurrentValidValue","originValue","getInputDisplayValue","isNotCompleteNumber","newValueInString","toFixed","changed","getPrecision","valueString","getMaxPrecision","ratioPrecision","stepPrecision","currentValuePrecision","getPrecisionFactor","inputDisplayValue","inputDisplayValueFormat","formatWrapper","cursorEnd","cursorBefore","substring","restoreByAfter","fullStr","prevCursorPos","charAt","partStr","numberIsTooLarge","upStep","rat","precisionFactor","downStep","stepFn","recursive","outOfRange","autoStepTimer","upDisabledClass","downDisabledClass","editable","upEvents","downEvents","touchstart","touchend","mouseup","isUpDisabled","isDownDisabled","mouseover","mouseout","contentProps","upHandlerProps","unselectable","downHandlerProps","LazyLoad","lazyLoadProps","elementType","offsetHorizontal","offsetLeft","offsetRight","offsetVertical","threshold","lazyLoadHandler","_mounted","eventNode","getEventNode","flush","resizeHander","scrollHander","detachListeners","parentScroll","getOffset","_offsetAll","_offsetVertical","_offsetHorizontal","inViewport","elStyles","elClasses","getElementPosition","customOffset","containerPosition","elementPosition","styleVal","scrollParent","TouchFeedback","ITouchProps","activeStyle","onTouchStart","onTouchMove","onTouchCancel","onMouseDown","onMouseUp","touchmove","touchcancel","OptionProps","mentionsContext","activeIndex","setActiveIndex","selectOption","PlaceMent","getDropdownPrefix","getDropdownElement","popupElement","vcMentionsProps","measuring","measureLocation","measureText","measurePrefix","isFocus","textarea","triggerChange","optionLen","newActiveIndex","stopMeasure","prevMeasureText","validateSearch","selectionStartText","getBeforeSelectionText","getLastMeasureIndex","measureIndex","location","validateMeasure","matchOption","startMeasure","onInputFocus","onInputBlur","onDropdownFocus","onDropdownBlur","focusId","mentionValue","replaceWithMeasure","targetText","selectionLocation","setInputSelection","targetMeasureText","defaultValidateSearch","lower","char","lastMatch","lastIndex","reduceText","firstChar","restText","targetTextLen","measureConfig","beforeMeasureText","connectedStartText","lowerCase","canUseDOM","MENUITEM_OVERFLOWED_CLASSNAME","FLOAT_PRECISION_ADJUST","DOMWrap","resizeObserver","mutationObserver","originalTotalWidth","overflowedItems","menuItemSizes","lastVisibleIndex","setChildrenWidthAndResize","menuUl","ResizeObserver","observe","MutationObserver","disconnect","attributes","childList","getMenuItemNodes","ul","getOverflowedSubMenuItem","keyPrefix","renderPlaceholder","overflowedIndicator","menuAllProps","subMenuProps","ulChildrenNodes","lastOverflowedIndicatorPlaceholder","menuItemNodes","overflowedIndicatorWidth","cur","currentSumWidth","liWidth","childNode","overflowed","tagProps","getActiveKey","updateMiniStore","selectInfo","innerMenu","processSingle","oneChanged","onDeselect","getOpenTransitionName","subPopupMenuProps","itemIcon","parentMenu","attribute","isSelected","manualRef","subMenuKey","MenuItem","prevActive","callRef","domEvent","getActiveClassName","getSelectedClassName","getDisabledClassName","mouseEvent","connected","MenuItemGroup","isMenuItemGroup","renderInnerMenuItem","listClassName","guid","popupPlacementMap","horizontal","updateDefaultActiveFirst","defaultActiveFirst","menuId","getMenuIdFromSubMenuEventKey","triggerSubMenuAction","forceSubMenuRender","subMenuOpenDelay","subMenuCloseDelay","popupOffset","isOpen","handleUpdated","minWidthTimeout","mouseenterTimeout","adjustWidth","menuInstance","onTitleClick","triggerOpenChange","handled","onPopupVisibleChange","subMenuInstance","onTitleMouseEnter","onTitleMouseLeave","onSubMenuClick","addKeyPath","saveMenuInstance","isChildrenSelected","loopMenuItemRecursively","subMenuTitle","popupMenu","internalMenuId","haveRendered","haveOpened","transitionAppear","animProps","isInlineMode","mouseEvents","titleClickEvents","titleMouseEvents","ariaOwns","allDisabled","updateActiveKey","getEventKey","instanceArrayKeyIndexMap","instanceArray","originalActiveKey","found","loopMenuItem","getKeyFromChildrenIndex","noActiveKey","SubPopupMenu","prevActiveKey","getFlatInstanceArray","activeItem","onItemHover","onDestroy","ci","renderCommonMenuItem","childListeners","newChildProps","itemHover","isMobileDevice","domWrapProps","menuEventKey","styleProperty","applePhone","appleIpod","appleTablet","androidPhone","androidTablet","amazonPhone","amazonTablet","windowsPhone","windowsTablet","otherBlackberry","otherBlackberry10","otherOpera","otherChrome","otherFirefox","regex","ua","apple","phone","ipod","device","amazon","android","windows","blackberry","blackberry10","opera","firefox","chrome","defaultResult","restartCloseTimer","startCloseTimer","clearCloseTimer","willDestroy","closeTimer","componentClass","seed","getUuid","notices","noticeIndex","updatedNotices","updateKey","shift","noticeNodes","noticeProps","newNotificationInstance","properties","NUMPAD_ZERO","NUMPAD_NINE","ARROW_UP","ARROW_DOWN","changeSize","quickGo","goButton","goInputText","defaultBuildOptionText","items_per_page","relatedTarget","go","KEYCODE","changeSelect","goInput","gotoButton","jump_to_confirm","jump_to","showTitle","calculatePage","statePageSize","showPrevNextJumpers","LOCALE","hasOnChange","hasCurrent","stateCurrent","stateCurrentInputValue","newCurrent","paginationNode","lastCurrentNode","getJumpPrevPage","getJumpNextPage","getItemIcon","allPages","shouldDisplayQuickJumper","handleKeyUp","changePageSize","preCurrent","currentPage","hasPrev","hasNext","jumpPrev","jumpNext","runIfEnter","charCode","restParams","runIfEnterPrev","runIfEnterNext","runIfEnterJumpPrev","runIfEnterJumpNext","handleGoTO","pagerList","firstPager","lastPager","pageBufferSize","prevPage","nextPage","prev_page","next_page","pagerProps","keypress","prevItemTitle","prev_3","prev_5","nextItemTitle","next_3","next_5","jumpPrevClassString","jumpNextClassString","totalText","prevDisabled","nextDisabled","circlePropTypes","circleDefaultProps","gradientSeed","stripPercentToNumber","symArray","getPathStyles","radius","beginPositionX","beginPositionY","endPositionX","endPositionY","pathString","PI","pathStyle","stroke","strokeDasharray","strokeDashoffset","gradientId","getStokeList","percentList","strokeColorList","stackPtg","pathProps","trailWidth","gradient","pathFirst","enhancer","center","viewBoxString","prevTimeStamp","mixedType","cleanedValue","onHover","getStarValue","isReset","changeValue","getStarDOM","starEle","leftDis","getOffsetLeft","rateRef","stars","starProps","getClassName","starValue","star","getClientPosition","docElem","box","clientLeft","VueResizeObserver","onComponentUpdated","destroyObserver","elementChanged","onResize","fixedWidth","fixedHeight","ariaId","backfillValue","lastVisible","rafInstance","lastInputValue","prevVisible","firstActiveItem","scrollIntoViewOpts","alignWithTop","menuRef","renderMenu","menuDeselect","menuSelect","popupScroll","getSelectKeys","activeKeyProps","clonedMenuItems","foundFirst","popupFocus","preventDefaultEvent","isSelectOptGroup","isSelectOption","dropdownAlign","SELECT_EMPTY_VALUE_KEY","saveInputRef","saveInputMirrorRef","saveTopCtrlRef","saveSelectTriggerRef","saveRootRef","saveSelectionRef","_focused","_mouseDown","_options","_empty","optionsInfo","getOptionsInfoFromProps","isDisabledExist","getValueFromProps","_inputValue","getInputValueForCombobox","_optionsInfo","_backfillValue","_skipBuildOptionsInfo","_ariaId","generateUUID","_mirrorInputValue","getDerivedState","isMultipleOrTags","inputNode","getInputDOMNode","mirrorNode","getInputMirrorDOMNode","forcePopupAlign","clearFocusTime","clearBlurTime","clearComboboxTime","dropdownContainer","getOptionsFromChildren","useDefaultValue","getMapKey","getLabelFromOption","getPropValue","preState","singleValue","getValuePropValue","getValue","oldOptionsInfo","includesSeparators","getValueByInput","fireChange","setOpenState","needFocus","setInputValue","onDropdownVisibleChange","timeoutFocus","updateFocusClassName","onInputKeydown","maybeFocus","isRealOpen","getRealOpenState","removeSelected","openIfHasChildren","comboboxTimer","selectTriggerRef","getInnerMenu","handleBackfill","onMenuSelect","skipTrigger","findIndexInValueBySingleValue","fireSearch","fireSelect","onMenuDeselect","menuItemDomNode","onArrowClick","onPlaceholderClick","onPopupFocus","onClearSelection","onChoiceAnimationLeave","getOptionInfoBySingleValue","defaultLabel","valueLabel","getLabelFromPropsValue","defaultValueLabel","defaultInfo","getOptionBySingleValue","getOptionsBySingleValue","getValueByLabel","oldLable","getVLBySingleValue","getLabelBySingleValue","getVLForOnChange","vlsS","vls","vl","getDropdownContainer","getPlaceholderElement","UNSELECTABLE_ATTRIBUTE","UNSELECTABLE_STYLE","inputClick","inputBlur","arrow","blurTimer","isSingleMode","firstOption","findFirstMenuItem","tmpValue","inputFocus","rootRef","isMultipleOrTagsOrCombobox","_getInputElement","defaultInput","inputElement","inputCls","inputEvents","inputKeydown","topCtrlRef","inputMirrorRef","getPopupMenuComponent","nextState","hasNewValue","splitBySeparators","selectionRef","markMouseDown","markMouseLeave","_filterOption","defaultFilter","defaultFilterFn","filterFn","focusTimer","isChildDisabled","canMultiple","_valueOptions","childValue","triggerRef","renderFilterOptions","childrenKeys","empty","renderFilterOptionsFromChildren","sel","childChildren","innerItems","childValueSub","subChild","validateOptionValue","renderTopControlNode","innerNode","showSelectedValue","toTitle","selectedValueNodes","limitedCountValue","maxTagPlaceholderEl","omittedValues","choiceClassName","topCtrlContainerClick","renderArrow","defaultIcon","renderClear","selectionRefClick","selectionRefFocus","selectionRefBlur","ctrlNode","filterOptions","realOpen","selectionProps","extraSelectionProps","rootCls","dropdownWidth","saveDropdownMenuRef","saveTriggerRef","setDropdownWidth","cancelRafInstance","dropdownMenuRef","getDropdownPrefixCls","dropdownMenuProps","menuNode","getDropdownTransitionName","dropdownVisibleChange","widthProp","ProxySelect","newChild","isMultiple","itemValue","itemKey","userSelect","WebkitUserSelect","separators","reg","r","PrevArrow","currentSlide","slideCount","prevClasses","prevHandler","prevArrowProps","customProps","NextArrow","nextClasses","nextHandler","canGoNext","nextArrowProps","unslick","edgeFriction","verticalSwiping","asNavFor","pauseOnDotsHover","pauseOnFocus","slidesPerRow","swipeEvent","useTransform","waitForAnimate","getDotCount","spec","appendDots","customPaging","dotCount","leftBound","rightBound","dotOptions","autoplaying","currentDirection","currentLeft","edgeDragged","initialized","lazyLoadedList","listHeight","listWidth","scrolling","slideHeight","slideWidth","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","trackStyle","trackWidth","track","callbackTimers","clickable","debouncedResize","listRefHandler","trackRefHandler","adaptHeight","getHeight","setTrackStyle","resizeWindow","listRef","trackRef","handleAutoPlay","pause","animationEndCallback","updatedState","initializedState","slideIndex","targetLeft","getTrackLeft","getTrackCSS","ssrInit","trackLeft","childrenWidths","preClones","getPreClones","postClones","getPostClones","childWidth","currentWidth","childrenCount","checkImagesLoad","images","imagesCount","loadedCount","onclick","prevClickHandler","onerror","progressiveLazyLoad","slidesToLoad","lazyLoadTimer","slideHandler","firstBatch","changeSlide","targetSlide","keyHandler","dir","selectHandler","disableBodyScroll","returnValue","ontouchmove","enableBodyScroll","swipeStart","swipeMove","swipeEnd","triggerSlideHandler","play","playType","autoplayTimer","pauseType","onDotsOver","onDotsLeave","onTrackOver","onTrackLeave","onSlideFocus","onSlideBlur","getOnDemandLazySlides","ro","onfocus","onblur","trackProps","extractObject","dotProps","arrowProps","prevArrowCustom","nextArrowCustom","verticalHeightStyle","centerPaddingStyle","listProps","mousemove","innerSliderProps","_responsiveMediaHandlers","innerSliderRefHandler","query","slickPause","slickPlay","breakpoints","breakpt","bQuery","json2mq","settings","resp","newSlide","sliderProps","getSlideClasses","slickActive","slickCenter","centerOffset","slickCloned","slickCurrent","getSlideStyle","fallbackKey","renderSlides","slides","preCloneSlides","postCloneSlides","startIndex","lazyStartIndex","endIndex","lazyEndIndex","childOnClickOptions","childStyle","slideClass","slideClasses","preCloneNo","onDemandSlides","getRequiredLazySlides","requiredSlides","lazySlidesOnLeft","lazySlidesOnRight","getSwipeDirection","swipeAngle","xDist","yDist","atan2","canGo","newObject","centerPaddingAdj","animationSlide","finalSlide","animationLeft","finalLeft","getTrackAnimateCSS","previousInt","slideOffset","unevenOffset","indexOffset","siblingDirection","onEdge","curLeft","swipeLength","sqrt","verticalSwipeLength","positionOffset","swipeDirection","touchSwipeLength","onSwipe","minSwipe","getSlideCount","checkNavigable","getNavigableIndexes","counter","indexes","navigables","prevNavigable","swipedSlide","slickList","slidesTraversed","dataset","checkSpecKeys","keysArray","trackHeight","trackChildren","getTotalSlides","verticalOffset","slidesToOffset","targetSlideIndex","trackElem","childNodes","slidesOnRight","slidesOnLeft","clickFocused","onMouseUpListener","handleMouseUp","setClickFocus","clickFocus","handleMousedown","positionStyle","ariaProps","_tabIndex","trimAlignValue","allowCross","pushable","thershold","valInRange","utils","valNotConflict","rangeProps","Range","displayName","recent","sHandle","setChangeValue","nextBounds","isNotControlled","controlledState","calcValueByPos","startPosition","closestBound","getClosestBound","prevMovedHandleIndex","getBoundNeedMoving","onEnd","removeDocumentEvents","onMove","onKeyboard","valueMutator","mutatedValue","isFromKeyboardEvent","boundNeedMoving","isAtTheSamePoint","getLowerBound","getUpperBound","getPoints","_getPointsCache","pointsObject","nextHandle","pushSurroundingHandles","handlesRefs","diffToNext","pushHandle","amount","pushHandleOnePoint","pointIndex","nextPointIndex","ensureValueNotConflict","getTrack","offsets","trackClassName","renderSlider","defaultHandle","handleStyle","handleGenerator","calcOffset","handleClassName","handles","saveHandle","tracks","createSlider","mergedProps","minimumTrackStyle","_trackStyle","Marks","upperBound","lowerBound","clickLabel","marksKeys","markPoint","markPointIsObject","markLabel","markClassName","bottomStyle","leftStyle","markStyle","calcPoints","dotStyle","activeDotStyle","isActived","pointClassName","Track","positonStyle","elStyle","maximumTrackStyle","railStyle","isPointDiffEven","dragOffset","handlePosition","addDocumentMouseEvents","addDocumentTouchEvents","onMouseMove","onClickMarkLabel","getSliderStart","slider","getSliderLength","coords","onTouchMoveListener","onTouchUpListener","onMouseMoveListener","calcValue","pixelOffset","sliderClassName","markProps","isEventFromHandle","isValueOutOfRange","isNotTouchEvent","getClosestPoint","maxSteps","steps","closestStep","diffs","stepString","getMousePosition","zoom","visualViewport","getTouchPosition","getHandleCenterPosition","ensureValueInRange","ensureValuePrecision","closestPoint","pauseEvent","calculateNextValue","increase","decrease","indexToGet","stringify","keyToGet","getKeyboardValueMutator","isString","itemWidth","adjustMarginRight","stepNumber","stepIndex","tailContent","renderIconNode","iconClassName","iconDot","stepProps","stepItemStyle","accessibilityProps","stepClick","calcStepOffsetWidth","flexSupported","lastStepOffsetWidth","calcTimeout","onStepClick","vcStepsRef","lastChild","isNav","filteredChildren","adjustedlabelPlacement","switchPropTypes","stateChecked","setChecked","switchClassName","spanProps","tableNode","ref_bodyTable","isTableColumnGroup","BaseTable","tableClassName","hasHead","hasBody","expander","getRowKey","isAnyColumnsFixed","handleRowHover","isHover","currentHoverKey","renderRows","renderData","indent","ancestorKeys","columnManager","rowClick","onRowClick","rowDoubleclick","onRowDoubleClick","rowContextmenu","onRowContextMenu","rowMouseenter","onRowMouseEnter","rowMouseleave","onRowMouseLeave","onHoverProps","leafColumns","leftLeafColumns","rightLeafColumns","rowPrefixCls","expandableRowProps","expandedChange","handleExpandChange","tableRowProps","expandableRow","getBodyWrapper","tableStyle","tableWidthScrollX","sum","BodyWrapper","wrapper","handleBodyScroll","handleWheel","innerBodyStyle","scrollbarWidth","measureScrollbar","baseTable","refName","useTabIndex","additionalProps","mergedKey","rowSpan","ColumnManager","_cached","_cache","groupedColumns","_leafColumns","leftColumns","rightColumns","_groupColumns","currentRow","parentColumn","grouped","setRowSpan","expandClassName","ExpandableRow","handleDestroy","hasExpandIcon","columnIndex","tempExpandIconAsCell","tempExpandIconColumnIndex","handleRowClick","renderExpandIconCell","childrenData","ExpandableTableProps","expandedRowClassName","ExpandableTable","finalExpandedRowKeys","expandedRowsHeight","latestExpandedRows","expandedRowIndex","renderExpandIndentCell","iconColumn","renderExpandedRow","parentKey","cell","colCount","nextAncestorKeys","nextIndent","handleBodyScrollLeft","scrollbarWidthOfHeader","rowRef","preData","merge","_components","reset","hasScrollX","resetScrollX","fixedColumnsHeadRowsHeight","fixedColumnsBodyRowsHeight","setScrollPosition","debouncedWindowResize","handleWindowResize","resizeEvent","ref_headTable","scrollPosition","setScrollPositionClassName","scrollToLeft","scrollToRight","isTableLayoutFixed","syncFixedTableRowHeight","tableRect","headRows","bodyRows","lastScrollLeft","handleBodyScrollTop","ref_fixedColumnsBodyLeft","ref_fixedColumnsBodyRight","lastScrollTop","wd","deltaY","bodyTable","fixedColumnsBodyLeft","fixedColumnsBodyRight","saveTableNodeRef","renderMainTable","scrollable","renderEmptyText","renderLeftFixedTable","renderRightFixedTable","headTable","emptyClassName","hasLeftFixed","isAnyColumnsLeftFixed","hasRightFixed","isAnyColumnsRightFixed","expandableTableProps","isInvalidRenderCellText","onCellClick","BodyCell","tdProps","indentText","textAlign","cellClassName","getHeaderRows","cellIsLast","HeaderWrapper","TableHeaderRow","HeaderRow","HeaderCell","rowProps","customStyle","cellProps","headerCellProps","getRowHeight","headerHeight","TableRow","hovered","expandedRow","shouldRender","saveRowRef","rowPropFunc","onContextMenu","setExpandedRowHeight","setRowHeight","customClass","customClassName","rowPropEvents","bodyRowProps","contextmenu","scrollbarVerticalSize","scrollbarHorizontalSize","scrollbarMeasure","scrollDiv","scrollProp","wait","immediate","debounceFunc","persist","callNow","front","componentDidUpdate","styles","getRef","wrapNode","inkBarNode","activeTab","inkBarNodeStyle","getActiveIndex","transformSupported","isTransform3dSupported","setTransform","getLeft","getTop","renderTabBarNode","scrollAnimated","navWrapper","tabBarPositionChange","setOffset","updatedCal","setNextPrev","scrollToActiveTab","isNextPrevShown","navNode","navTabsContainer","navNodeWH","getScrollWH","containerWH","getOffsetWH","navWrapNodeWH","minOffset","realOffset","setNext","setPrev","getOffsetLT","checkNextPrev","navOffset","navStyle","prevTransitionEnd","navWrap","needToSroll","lastNextPrevShown","activeTabWH","wrapOffset","activeTabOffset","prevClick","navWrapNode","nextClick","showNextPrev","prevButton","nextButton","navClassName","navClasses","prevElement","nextElement","topOrBottom","tabBarExtraContentStyle","float","rst","marginProperty","animatedWithMargin","getTabPanes","animatedStyle","getMarginStyle","getTransformPropValue","getTransformByIndex","sentinelContext","_isActived","isRender","setPanelSentinelStart","setPanelSentinelEnd","panelSentinelStart","panelSentinelEnd","getDefaultActiveKey","activeKeyIsValid","_activeKey","sentinelId","tabBar","tabClick","onNavKeyDown","eventKeyCode","nextKey","getNextActiveKey","previousKey","setSentinelStart","setSentinelEnd","updateSentinelContext","tabContent","contents","webkitTransform","mozTransform","atob","webkitTransition","MozTransform","translate","setPxStyle","getDataAttr","toNum","getTypeValue","wrapperNode","formatOption","disabledOptions","Combobox","hourOptions","minuteOptions","secondOptions","isAM","onItemChange","propValue","ampm","onEnterSelectPanel","onEsc","getHourSelect","hourOptionsAdj","hourAdj","getMinuteSelect","getSecondSelect","getAMPMSelect","AMPMOptions","currentSelectPanel","getProtoValue","disabledHourOptions","disabledMinuteOptions","disabledSecondOptions","getInput","toNearestValidTime","selectionRange","onAmPmChange","onCurrentSelectPanelChange","disabledHours2","validDefaultOpenValue","difference","perTick","selectedIndex","scrollToSelected","topOption","onKeyDown2","fmtString","getPanelElement","getPopupClassName","selectColumnCount","renderClearButton","arrowContent","tipId","getPopupElement","defaultPopupVisible","destroyPopupOnHide","_prevProps","_loadedKeys","expandedKeyList","_expandedKeyList","cachedExpandedKeyList","_cachedExpandedKeyList","valueList","valueEntities","filteredTreeNodes","upperSearchValue","_keyList","BasePopup","searchHalfCheckedKeys","treeLine","renderSearch","treeRef","createRef","onTreeExpand","onLoad","getTree","getLoadData","treeNode","filterVal","renderNotFound","keyList","onPopupKeyDown","onTreeNodeSelect","onTreeNodeCheck","$notFound","$treeNodes","$tree","treeAllProps","check","load","selectorPropTypes","selectorValueList","modeName","BaseSelector","renderSelection","domRef","onSelectorFocus","onSelectorBlur","onSelectorClear","onSelectorKeyDown","myTabIndex","SinglePopup","SearchInput","searchRef","_renderPlaceholder","_renderSearch","needAlign","mirrorSearchValue","mirrorInputRef","alignInputWidth","isDidMount","onSearchInputChange","onSearchInputKeyDown","needSyncKeys","prefixAria","selectorRef","generateAriaId","_valueList","_searchHalfCheckedKeys","_missValueList","_selectorValueList","_valueEntities","_posEntities","_keyEntities","_searchValue","_init","_treeNodes","_filteredTreeNodes","onComponentKeyDown","onMultipleSelectorRemove","popup","domTreeNodes","popupNode","triggerContainer","findPopupContainer","searchNode","processState","updater","valueRefresh","treeDataChanged","treeDataModeChanged","convertDataToTree","simpleMapper","pId","rootPId","parseSimpleTreeData","entitiesMap","posEntities","formatInternalValue","missValueList","filteredValueList","latestValueList","valueLabels","wrapperValue","conductCheck","wrappedValue","formatSelectorValue","filterTreeNodeFn","nodeValue","getFilterTree","SelectNode","getHalfCheckedKeys","nodeEventInfo","isSearchValueControlled","removeValue","triggerEntity","newValueList","isPosRelated","extraInfo","triggerValue","deselectInfo","filteredEntityList","checkedNodes","checkedNodesPositions","allCheckedNodes","flatToHierarchy","newMissValueList","isLabelInValue","onValueTrigger","isAdd","nodeExtraInfo","checkedNodeList","oriKeyList","cleanEntity","isSet","setPopupRef","needSync","byTrigger","documentClickClose","$trigger","delayForcePopupAlign","prevSelectorValueList","preValue","connectValueList","labelList","passProps","choiceAnimationLeave","popupProps","treeExpanded","Popup","MultiplePopup","$popup","Selector","MultipleSelector","SingleSelector","$selector","selectTriggerProps","isTreeNode","scopedSlotsTemp","SelectTrigger","dropdownPopupAlign","stretch","Selection","TREE_SELECT_EMPTY_VALUE_KEY","generateSelector","currentPlaceholder","myValueList","restValueList","restNodeSelect","warnDeprecatedLabel","prefixClass","hasClass","positionList","entrances","posMap","parsedList","parentPos","parentEntity","resetAriaId","keyNodes","rootNodeList","pos1","pos2","fields1","fields2","minLen","filterFunc","mapFilteredNodeToData","hierarchyList","targetValueList","traverse","processProps","vcConvertDataToTree","initWrapper","processEntity","currentEntity","vcConvertTreeToEntities","parentValue","rcConductCheck","module","exports","_checkedKeys","_halfCheckedKeys","_loadingKeys","_treeNode","_dragOverNodeKey","_dropPosition","_dragNodesKeys","vcTree","calcSelectedKeys","checkedKeyEntity","parseCheckedKeys","halfCheckedKeys","conductKeys","onNodeDragStart","dragNode","getDragNodesKeys","arrDel","onNodeDragEnter","selectHandle","dropPosition","calcDropPosition","delayedDragEnterLogic","newExpandedKeys","arrAdd","onNodeDragOver","onNodeDragLeave","onNodeDragEnd","onNodeDrop","posArr","posToArr","dropResult","dragNodesKeys","dropToGap","onNodeClick","onNodeDoubleClick","onNodeSelect","targetSelected","eventObj","onNodeCheck","oriCheckedKeys","oriHalfCheckedKeys","checkedObj","onNodeLoad","loadingKeys","currentLoadedKeys","currentLoadingKeys","newLoadedKeys","newLoadingKeys","targetExpanded","loadPromise","onNodeMouseEnter","onNodeMouseLeave","onNodeContextMenu","registerTreeNode","isKeyChecked","renderTreeNode","dragOverNodeKey","getPosition","warnOnlyTreeNode","loaded","dragOver","dragOverGapTop","dragOverGapBottom","mapChildren","ICON_OPEN","ICON_CLOSE","defaultTitle","__ANT_TREE_NODE","disableCheckbox","dragNodeHighlight","vcTreeNode","syncLoadData","onSelectorClick","isSelectable","onCheck","onSelectorDoubleClick","isCheckable","onDragStart","dataTransfer","setData","onDragEnter","onDragOver","onDragLeave","onDragEnd","onDrop","originList","targetList","getNodeState","isLeaf2","treeDisabled","treeSelectable","renderSwitcher","renderCheckbox","$custom","renderSelector","wrapClass","$icon","currentIcon","currentTitle","ProxyTree","DRAG_SIDE_RANGE","DRAG_MIN_GAP","onlyTreeNodeWarned","isCheckDisabled","traverseTreeNodes","subNode","subIndex","internalProcessProps","processor","childrenNodes","onProcessFinished","keyProps","isCheck","conductUp","everyChildChecked","someChildChecked","childKey","childChecked","childHalfChecked","conductDown","conduct","checkedKeyList","halfCheckedKeyList","getDataAndAria","getClassNameFromAlign","domEl","stretchChecked","targetWidth","targetHeight","setStretchSize","onAlign","popupDomNode","currentAlignClassName","$ele","popupInstance","getTargetElement","getAlignTarget","popupInnerProps","useTransition","transitionEvent","beforeLeave","returnEmptyString","returnDocument","ALL_HANDLERS","getPopupClassNameFromAlign","focusDelay","blurDelay","getDocument","vcTriggerContext","fireEvents","prevPopupVisible","deactivated","triggerAfterPopupVisibleChange","clearDelayTimer","clearOutsideHandler","mouseDownTimeout","currentDocument","clickOutsideHandler","isClickToHide","isContextmenuToShow","onDocumentClick","touchOutsideHandler","contextmenuOutsideHandler1","onContextmenuClose","contextmenuOutsideHandler2","onMouseenter","delaySetPopupVisible","setPoint","onMouseleave","onPopupMouseenter","onPopupMouseleave","isFocusToShow","focusTime","onMousedown","preClickTime","onTouchstart","preTouchTime","isBlurToHide","onContextmenu","preTime","isClickToShow","nextVisible","onPopupMouseDown","hasPopupMouseDown","handleGetPopupClassFromAlign","getAlignPopupClassName","getPopupAlign","getAlignFromPlacement","savePopup","mouseProps","isMouseEnterToShow","isMouseLeaveToHide","popupContainer","mountNode","delayS","createTwoChains","Trigger","isPointsEq","a1","a2","isAlignPoint","placementStr","baseAlign","upLoadPropTypes","componentTag","AjaxUploader","reqs","getUid","_isMounted","files","uploadFiles","fileInputRef","traverseFileTree","attrAccept","_file","partition","successFiles","errorFiles","postFiles","post","before","processedFileType","processedFile","log","originFile","request","defaultRequest","requestOption","transformedFile","err","drop","dragover","IFRAME_STYLE","IframeUploader","getIframeDocument","endUpload","getFormInputNode","startUpload","getIframeNode","iframeRef","contentDocument","getFormNode","getFormDataNode","getFileForMultiple","getIframeHTML","domain","domainScript","domainInput","initIframeSrc","initIframe","iframeNode","win","contentWindow","write","onchange","updateIframeWH","formNode","dataSpan","inputs","createDocumentFragment","iframeStyle","uploadProps","multipart","AjaxUpload","IframeUpload","uploaderRef","componentProps","ComponentUploader","endsWith","acceptedFiles","acceptedFilesArray","fileName","mimeType","baseMimeType","validType","getError","getBody","responseText","XMLHttpRequest","onprogress","formData","FormData","append","setRequestHeader","send","loopFiles","dirReader","createReader","sequence","readEntries","entryList","isFinished","isAccepted","_traverseFileTree","isFile","fullPath","webkitRelativePath","defineProperties","isDirectory","entryItem","webkitGetAsEntry","addEventListenerWrap","addDOMEventListener","classList","originClass","addClass","removeClass","warned","note","resetWarned","warningOnce","noteOnce","packageInfo","camelCase","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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,4F;;;;;;;;;;;;;;;;;;;;ACzFA;;AAEe;AACbA,WAAS;AACPC,YADO,sBACwB;AAAA,UAAtBC,KAAsB,uEAAd,EAAc;AAAA,UAAVC,QAAU;;AAC7B,UAAIC,WAAW,OAAOF,KAAP,KAAiB,UAAjB,GAA8BA,MAAM,KAAKG,KAAX,EAAkB,KAAKC,MAAvB,CAA9B,GAA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;AACA,4CAA4C;AAC5C;AACA,8CAA8C,cAAc;AAC5D,iCAAiC,mBAAO,CAAC,qEAAY;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACtDA;AAAA;AAAA;AAAA;AAAqD;AAC8C;;AAEnG;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,8CAAO;AAC1B;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,oEAAoE,aAAa;AACjF;AACA;;AAEA;AACA,2BAA2B,yDAAU;AACrC,KAAK;AACL,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,oEAAQ,GAAG;AAC5B;AACA,SAAS;AACT;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,2DAA2D,gEAAiB;AAC5E,GAAG;AACH;AACA,WAAW,oEAAQ,GAAG;AACtB,GAAG;AACH;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,0CAA0C,gEAAiB;AAC3D;AACA;AACA,QAAQ,+DAAgB;AACxB;AACA,KAAK;AACL;AACA;AACA,uCAAuC,KAAK;AAC5C;AACA;AACA;AACA;AACA,MAAM,kDAAG;AACT;AACA;AACA;AACA,eAAe,oEAAQ,GAAG;AAC1B;AACA,OAAO;AACP;AACA,WAAW,uDAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEe,mEAAI,E;;;;;;;;;;;;ACxGnB;AAAA;AAAqC;;AAEtB,uHAAI,E;;;;;;;;;;;;ACFnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqD;AACc;AACN;AACE;;AAExD;AACP,kCAAkC,aAAoB;AACtD;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEO;AACP;AACA,IAAI,2EAAe;;AAEnB;AACA;;AAEA,EAAE,wEAAY;AACd;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAEM;AACP;AACA,wBAAwB,kBAAkB,oEAAQ,GAAG,+BAA+B;AACpF;AACA,KAAK;AACL;AACA,qBAAqB,oEAAQ;AAC7B;AACA,GAAG;AACH,WAAW,oEAAQ,GAAG;AACtB,GAAG;AACH;AACA,GAAG;AACH;;AAEO;AACP;AACA,SAAS,mEAAa;AACtB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;;AC1Ga;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA,gBAAgB,qCAAqC;AACrD;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;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;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;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;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;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;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;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;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;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;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;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;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;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;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;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;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;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;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;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;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACluED;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,oC;;;;;;;;;;;;AC9DA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA,CAAC;;AAED,sCAAsC,uCAAuC,kBAAkB;;AAE/F,uBAAuB,mBAAO,CAAC,uFAAmB;;AAElD;;AAEA,oBAAoB,mBAAO,CAAC,4DAAe;;AAE3C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;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;;;;;;;;;;;;;AC5BD;AAAA;AACA;AACA,mBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,2EAA2E;AAC3E;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA,oCAAoC;;AAEpC,qDAAqD,aAAoB;AACzE;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,qEAAqE,aAAa;AAClF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,4BAA4B,yBAAyB,6BAA6B,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,gCAAgC,GAAG;AAC7J,0IAA0I,IAAI,qBAAqB,EAAE,uMAAuM,GAAG,sBAAsB,IAAI;AACzY,qBAAqB,EAAE,UAAU,EAAE;AACnC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;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;;AAEA;AACA;AACA;AACA,KAAK;;AAEL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sFAAsF;;AAEtF;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;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,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC;AAChC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC,aAAa;AAChD;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW;AACX;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AA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EA;;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;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AAC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CT,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;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;ACrCD;AACA,eAAe,mBAAO,CAAC,0EAAc;AACrC,UAAU,mBAAO,CAAC,4EAAe;AACjC,kBAAkB,mBAAO,CAAC,kFAAkB;AAC5C,eAAe,mBAAO,CAAC,4EAAe;AACtC,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,4EAAe;AACtC;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,gEAAS;AACnB,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;ACxCA,eAAe,mBAAO,CAAC,0EAAc;AACrC,qBAAqB,mBAAO,CAAC,oFAAmB;AAChD,kBAAkB,mBAAO,CAAC,gFAAiB;AAC3C;;AAEA,YAAY,mBAAO,CAAC,8EAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;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,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,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;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,oDAAoD;AACvF;;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;AACA,mEAAmE;;AAEnE,uEAAuE;;AAEvE,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,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;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;;;;;;;;;;;;ACxzCA;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;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;;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;;AAEA;AACA;AACA;AACA,mFAAmF;;AAEnF;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;;AAEA;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;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;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;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,uBAAuB;AACvB;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC,EAAE;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;;AAED;AACA,wBAAwB;;AAExB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;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;;AAEA;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;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEe,6EAAc,EAAC;AAC9B;;;;;;;;;;;;ACpoBA,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;;;;;;;;;;;;;ACDY;;AAEZ;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;AClCA,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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;;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACxBA,kBAAkB,mBAAO,CAAC,6DAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChBA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,kBAAkB,mBAAO,CAAC,2DAAe;AACzC,cAAc,mBAAO,CAAC,mDAAW;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;AAC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CA;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;;;;;;;;;;;;ACrKA,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,2DAAe;AACxC,qBAAqB,mBAAO,CAAC,mEAAmB;;AAEhD;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,aAAa;AAC1B;AACA;;AAEA;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;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A;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7DA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACXA,iBAAiB,mBAAO,CAAC,yDAAc;AACvC,eAAe,mBAAO,CAAC,uDAAa;AACpC,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9CA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,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,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,eAAe,mBAAO,CAAC,qDAAY;AACnC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;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,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC3DA,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,0BAA0B,mBAAO,CAAC,6EAAwB;AAC1D,eAAe,mBAAO,CAAC,qDAAY;AACnC,cAAc,mBAAO,CAAC,mDAAW;AACjC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9B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AO,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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClDA,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;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;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;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;;;;;;;;;;;;ACnFA,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;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;;;;;;;;;;;;ACzFA,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;;;;;;;;;;;;ACfA,qBAAqB,mBAAO,CAA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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;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,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,kBAAkB,mBAAO,CAAC,6DAAgB;;AAE1C;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,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,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC3CA;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,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,gBAAgB,mBAAO,CAAC,uDAAa;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA,MAAM,+CAA+C;AACrD,MAAM,gDAAgD;AACtD,MAAM;AACN;AACA;AACA,8BAA8B,mBAAmB,EAAE;AACnD;AACA;AACA;AACA,kBAAkB,2BAA2B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzCA,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,gBAAgB,mBAAO,CAAC,uDAAa;;AAErC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA,MAAM,qCAAqC;AAC3C,MAAM,qCAAqC;AAC3C,MAAM;AACN;AACA;AACA,mCAAmC,2BAA2B,EAAE;AAChE;AACA;AACA;AACA,uBAAuB,kCAAkC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtDA,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,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;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,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,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,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,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;;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,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,gBAAgB,mBAAO,CAAC,uDAAa;AACrC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtCA,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,gBAAgB,mBAAO,CAAC,uDAAa;AACrC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtCA,uBAAuB,mBAAO,CAAC,uEAAqB;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA,MAAM,gDAAgD;AACtD,MAAM,+CAA+C;AACrD,MAAM;AACN;AACA;AACA,mCAAmC,iBAAiB,EAAE;AACtD;AACA;AACA;AACA,uBAAuB,4BAA4B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,cAAc,iBAAiB,EAAE;;AAElC;;;;;;;;;;;;AC1CA,eAAe,mBAAO,CAAC,uDAAa;AACpC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;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,4BAA4B;AAC5B,CAAC;;AAED;;;;;;;;;;;;ACxBA,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,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;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;;;;;;;;;;;;ACpEA,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;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;;AAEA;;;;;;;;;;;;ACzCA,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;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;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACnCA,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,cAAc,UAAU,SAAS,cAAc,cAAc,sBAAsB,mBAAmB,4BAA4B,IAAI,cAAc,OAAO,mJAAmJ,GAAG,2CAA2C,SAAS,gBAAgB,aAAa,mBAAmB,eAAe;AACle,iCAAiC,2CAA2C,GAAG,yBAAyB,6BAA6B,6BAA6B,gBAAgB,eAAe,gBAAgB,+CAA+C,oBAAoB,YAAY,+BAA+B,IAAI,wDAAwD,2FAA2F,YAAY,2BAA2B;AAC7f,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,GAAG;AACzb,YAAY,SAAS,IAAI,cAAc,IAAI,oCAAoC,SAAS,IAAI,mBAAmB,SAAS,aAAa,gBAAgB,iBAAiB,WAAW,qBAAqB,SAAS,kBAAkB,YAAY,WAAW,oBAAoB,SAAS,oBAAoB,KAAK,WAAW,qCAAqC,SAAS,aAAa,aAAa,sBAAsB,WAAW;AACla,gDAAgD,cAAc,WAAW,8BAA8B,0DAA0D,QAAQ,SAAS,GAAG,GAAG,QAAQ,aAAa,EAAE,gBAAgB,wBAAwB,0BAA0B,WAAW,cAAc,SAAS,uBAAuB,UAAU,qBAAqB,cAAc,kCAAkC,cAAc,mDAAmD,SAAS;AACne;;;;;;;;;;;;;AClBA;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;AAAA;AAAA;AAAqD;AACrD;AACA,oBAAoB,oEAAQ,GAAG;AAC/B,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA;;AAEe,mEAAI,E;;;;;;;;;;;ACVnB;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,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;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/5BR;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;AC1BA;;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;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,8BAA8B;AACpD,sBAAsB,8BAA8B;AACpD,sBAAsB,8BAA8B;;AAEpD;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,mBAAmB,OAAO;AACzD,+BAA+B,mBAAmB,OAAO;AACzD,+BAA+B,mBAAmB,OAAO;AACzD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;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,eAAe;AACf;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;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;;AAEA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;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;AACA,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wCAAwC;AAC3D,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uCAAuC;AAC1D,mBAAmB,wCAAwC;AAC3D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+DAA+D,WAAW;AAC1E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2DAA2D,wBAAwB;;AAEnF;AACA;AACA,2CAA2C,wBAAwB;AACnE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,8EAA8E,4BAA4B,gBAAgB;AAC1H,8EAA8E,2BAA2B,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,0BAA0B;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;;AAGA;AACA;;AAEA,KAAK,kBAAkB,YAAY,kBAAkB;AACrD;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4BAA4B,YAAY;;AAExC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE;AACjE,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE;AACjE,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACjF,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACjF;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,UAAU,OAAO,UAAU,OAAO,SAAS;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA,IAAI,KAA6B;AACjC;AACA;AACA;AACA,SAAS,IAA0C;AACnD,IAAI,mCAAO,aAAa,kBAAkB;AAAA,oGAAC;AAC3C;AACA;AACA,KAAK,EAEJ;;AAED,CAAC;;;;;;;;;;;;;AC1qCY;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;AC1CA;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,oD;;;;;;;;;;;ACAA,iD","file":"antd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"moment\"), require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"moment\", \"vue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"antd\"] = factory(require(\"moment\"), require(\"vue\"));\n\telse\n\t\troot[\"antd\"] = factory(root[\"moment\"], root[\"Vue\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE_moment__, __WEBPACK_EXTERNAL_MODULE_vue__) {\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 = 0);\n","var map = {\n\t\"./affix/style/index.js\": \"./components/affix/style/index.js\",\n\t\"./alert/style/index.js\": \"./components/alert/style/index.js\",\n\t\"./anchor/style/index.js\": \"./components/anchor/style/index.js\",\n\t\"./auto-complete/style/index.js\": \"./components/auto-complete/style/index.js\",\n\t\"./avatar/style/index.js\": \"./components/avatar/style/index.js\",\n\t\"./back-top/style/index.js\": \"./components/back-top/style/index.js\",\n\t\"./badge/style/index.js\": \"./components/badge/style/index.js\",\n\t\"./base/style/index.js\": \"./components/base/style/index.js\",\n\t\"./breadcrumb/style/index.js\": \"./components/breadcrumb/style/index.js\",\n\t\"./button/style/index.js\": \"./components/button/style/index.js\",\n\t\"./calendar/style/index.js\": \"./components/calendar/style/index.js\",\n\t\"./card/style/index.js\": \"./components/card/style/index.js\",\n\t\"./carousel/style/index.js\": \"./components/carousel/style/index.js\",\n\t\"./cascader/style/index.js\": \"./components/cascader/style/index.js\",\n\t\"./checkbox/style/index.js\": \"./components/checkbox/style/index.js\",\n\t\"./col/style/index.js\": \"./components/col/style/index.js\",\n\t\"./collapse/style/index.js\": \"./components/collapse/style/index.js\",\n\t\"./color-picker/style/index.js\": \"./components/color-picker/style/index.js\",\n\t\"./comment/style/index.js\": \"./components/comment/style/index.js\",\n\t\"./config-provider/style/index.js\": \"./components/config-provider/style/index.js\",\n\t\"./date-picker/style/index.js\": \"./components/date-picker/style/index.js\",\n\t\"./descriptions/style/index.js\": \"./components/descriptions/style/index.js\",\n\t\"./divider/style/index.js\": \"./components/divider/style/index.js\",\n\t\"./drawer/style/index.js\": \"./components/drawer/style/index.js\",\n\t\"./dropdown/style/index.js\": \"./components/dropdown/style/index.js\",\n\t\"./empty/style/index.js\": \"./components/empty/style/index.js\",\n\t\"./form-model/style/index.js\": \"./components/form-model/style/index.js\",\n\t\"./form/style/index.js\": \"./components/form/style/index.js\",\n\t\"./grid/style/index.js\": \"./components/grid/style/index.js\",\n\t\"./icon/style/index.js\": \"./components/icon/style/index.js\",\n\t\"./input-number/style/index.js\": \"./components/input-number/style/index.js\",\n\t\"./input/style/index.js\": \"./components/input/style/index.js\",\n\t\"./layout/style/index.js\": \"./components/layout/style/index.js\",\n\t\"./list/style/index.js\": \"./components/list/style/index.js\",\n\t\"./locale-provider/style/index.js\": \"./components/locale-provider/style/index.js\",\n\t\"./mentions/style/index.js\": \"./components/mentions/style/index.js\",\n\t\"./menu/style/index.js\": \"./components/menu/style/index.js\",\n\t\"./message/style/index.js\": \"./components/message/style/index.js\",\n\t\"./modal/style/index.js\": \"./components/modal/style/index.js\",\n\t\"./notification/style/index.js\": \"./components/notification/style/index.js\",\n\t\"./page-header/style/index.js\": \"./components/page-header/style/index.js\",\n\t\"./pagination/style/index.js\": \"./components/pagination/style/index.js\",\n\t\"./popconfirm/style/index.js\": \"./components/popconfirm/style/index.js\",\n\t\"./popover/style/index.js\": \"./components/popover/style/index.js\",\n\t\"./progress/style/index.js\": \"./components/progress/style/index.js\",\n\t\"./radio/style/index.js\": \"./components/radio/style/index.js\",\n\t\"./rate/style/index.js\": \"./components/rate/style/index.js\",\n\t\"./result/style/index.js\": \"./components/result/style/index.js\",\n\t\"./row/style/index.js\": \"./components/row/style/index.js\",\n\t\"./select/style/index.js\": \"./components/select/style/index.js\",\n\t\"./skeleton/style/index.js\": \"./components/skeleton/style/index.js\",\n\t\"./slider/style/index.js\": \"./components/slider/style/index.js\",\n\t\"./space/style/index.js\": \"./components/space/style/index.js\",\n\t\"./spin/style/index.js\": \"./components/spin/style/index.js\",\n\t\"./statistic/style/index.js\": \"./components/statistic/style/index.js\",\n\t\"./steps/style/index.js\": \"./components/steps/style/index.js\",\n\t\"./switch/style/index.js\": \"./components/switch/style/index.js\",\n\t\"./table/style/index.js\": \"./components/table/style/index.js\",\n\t\"./tabs/style/index.js\": \"./components/tabs/style/index.js\",\n\t\"./tag/style/index.js\": \"./components/tag/style/index.js\",\n\t\"./time-picker/style/index.js\": \"./components/time-picker/style/index.js\",\n\t\"./timeline/style/index.js\": \"./components/timeline/style/index.js\",\n\t\"./tooltip/style/index.js\": \"./components/tooltip/style/index.js\",\n\t\"./transfer/style/index.js\": \"./components/transfer/style/index.js\",\n\t\"./tree-select/style/index.js\": \"./components/tree-select/style/index.js\",\n\t\"./tree/style/index.js\": \"./components/tree/style/index.js\",\n\t\"./upload/style/index.js\": \"./components/upload/style/index.js\",\n\t\"./version/style/index.js\": \"./components/version/style/index.js\"\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 ^\\\\.\\\\/[^_][\\\\w-]+\\\\/style\\\\/index\\\\.js?$\";","import { getOptionProps } from './props-util';\n\nexport default {\n methods: {\n setState(state = {}, callback) {\n let newState = typeof state === 'function' ? state(this.$data, this.$props) : state;\n if (this.getDerivedStateFromProps) {\n const s = this.getDerivedStateFromProps(getOptionProps(this), {\n ...this.$data,\n ...newState,\n });\n if (s === null) {\n return;\n } else {\n newState = { ...newState, ...(s || {}) };\n }\n }\n Object.assign(this.$data, newState);\n this.$forceUpdate();\n this.$nextTick(() => {\n callback && callback();\n });\n },\n __emit() {\n // 直接调用listeners,底层组件不需要vueTool记录events\n const args = [].slice.call(arguments, 0);\n const eventName = args[0];\n const event = this.$listeners[eventName];\n if (args.length && event) {\n if (Array.isArray(event)) {\n for (let i = 0, l = event.length; i < l; i++) {\n event[i](...args.slice(1));\n }\n } else {\n event(...args.slice(1));\n }\n }\n },\n },\n};\n","import PropTypes from './vue-types';\n\nexport default {\n props: {\n autoMount: PropTypes.bool.def(true),\n autoDestroy: PropTypes.bool.def(true),\n visible: PropTypes.bool,\n forceRender: PropTypes.bool.def(false),\n parent: PropTypes.any,\n getComponent: PropTypes.func.isRequired,\n getContainer: PropTypes.func.isRequired,\n children: PropTypes.func.isRequired,\n },\n\n mounted() {\n if (this.autoMount) {\n this.renderComponent();\n }\n },\n\n updated() {\n if (this.autoMount) {\n this.renderComponent();\n }\n },\n\n beforeDestroy() {\n if (this.autoDestroy) {\n this.removeContainer();\n }\n },\n methods: {\n removeContainer() {\n if (this.container) {\n this._component && this._component.$destroy();\n this.container.parentNode.removeChild(this.container);\n this.container = null;\n this._component = null;\n }\n },\n\n renderComponent(props = {}, ready) {\n const { visible, forceRender, getContainer, parent } = this;\n const self = this;\n if (visible || parent._component || parent.$refs._component || forceRender) {\n let el = this.componentEl;\n if (!this.container) {\n this.container = getContainer();\n el = document.createElement('div');\n this.componentEl = el;\n this.container.appendChild(el);\n }\n // self.getComponent 不要放在 render 中,会因为响应式数据问题导致,多次触发 render\n const com = { component: self.getComponent(props) };\n if (!this._component) {\n this._component = new this.$root.constructor({\n el,\n parent: self,\n data: {\n _com: com,\n },\n mounted() {\n this.$nextTick(() => {\n if (ready) {\n ready.call(self);\n }\n });\n },\n updated() {\n this.$nextTick(() => {\n if (ready) {\n ready.call(self);\n }\n });\n },\n methods: {\n setComponent(_com) {\n this.$data._com = _com;\n },\n },\n render() {\n return this.$data._com.component;\n },\n });\n } else {\n this._component.setComponent(com);\n }\n }\n },\n },\n\n render() {\n return this.children({\n renderComponent: this.renderComponent,\n removeContainer: this.removeContainer,\n });\n },\n};\n","export function antDecorator(Vue) {\n return Vue.directive('decorator', {});\n}\n\nexport default {\n // just for tag\n install: Vue => {\n antDecorator(Vue);\n },\n};\n","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\n\nconst KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n /**\n * TAB\n */\n TAB: 9,\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac\n /**\n * ENTER\n */\n ENTER: 13,\n /**\n * SHIFT\n */\n SHIFT: 16,\n /**\n * CTRL\n */\n CTRL: 17,\n /**\n * ALT\n */\n ALT: 18,\n /**\n * PAUSE\n */\n PAUSE: 19,\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n /**\n * ESC\n */\n ESC: 27,\n /**\n * SPACE\n */\n SPACE: 32,\n /**\n * PAGE_UP\n */\n PAGE_UP: 33, // also NUM_NORTH_EAST\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34, // also NUM_SOUTH_EAST\n /**\n * END\n */\n END: 35, // also NUM_SOUTH_WEST\n /**\n * HOME\n */\n HOME: 36, // also NUM_NORTH_WEST\n /**\n * LEFT\n */\n LEFT: 37, // also NUM_WEST\n /**\n * UP\n */\n UP: 38, // also NUM_NORTH\n /**\n * RIGHT\n */\n RIGHT: 39, // also NUM_EAST\n /**\n * DOWN\n */\n DOWN: 40, // also NUM_SOUTH\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n /**\n * INSERT\n */\n INSERT: 45, // also NUM_INSERT\n /**\n * DELETE\n */\n DELETE: 46, // also NUM_DELETE\n /**\n * ZERO\n */\n ZERO: 48,\n /**\n * ONE\n */\n ONE: 49,\n /**\n * TWO\n */\n TWO: 50,\n /**\n * THREE\n */\n THREE: 51,\n /**\n * FOUR\n */\n FOUR: 52,\n /**\n * FIVE\n */\n FIVE: 53,\n /**\n * SIX\n */\n SIX: 54,\n /**\n * SEVEN\n */\n SEVEN: 55,\n /**\n * EIGHT\n */\n EIGHT: 56,\n /**\n * NINE\n */\n NINE: 57,\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63, // needs localization\n /**\n * A\n */\n A: 65,\n /**\n * B\n */\n B: 66,\n /**\n * C\n */\n C: 67,\n /**\n * D\n */\n D: 68,\n /**\n * E\n */\n E: 69,\n /**\n * F\n */\n F: 70,\n /**\n * G\n */\n G: 71,\n /**\n * H\n */\n H: 72,\n /**\n * I\n */\n I: 73,\n /**\n * J\n */\n J: 74,\n /**\n * K\n */\n K: 75,\n /**\n * L\n */\n L: 76,\n /**\n * M\n */\n M: 77,\n /**\n * N\n */\n N: 78,\n /**\n * O\n */\n O: 79,\n /**\n * P\n */\n P: 80,\n /**\n * Q\n */\n Q: 81,\n /**\n * R\n */\n R: 82,\n /**\n * S\n */\n S: 83,\n /**\n * T\n */\n T: 84,\n /**\n * U\n */\n U: 85,\n /**\n * V\n */\n V: 86,\n /**\n * W\n */\n W: 87,\n /**\n * X\n */\n X: 88,\n /**\n * Y\n */\n Y: 89,\n /**\n * Z\n */\n Z: 90,\n /**\n * META\n */\n META: 91, // WIN_KEY_LEFT\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n /**\n * F1\n */\n F1: 112,\n /**\n * F2\n */\n F2: 113,\n /**\n * F3\n */\n F3: 114,\n /**\n * F4\n */\n F4: 115,\n /**\n * F5\n */\n F5: 116,\n /**\n * F6\n */\n F6: 117,\n /**\n * F7\n */\n F7: 118,\n /**\n * F8\n */\n F8: 119,\n /**\n * F9\n */\n F9: 120,\n /**\n * F10\n */\n F10: 121,\n /**\n * F11\n */\n F11: 122,\n /**\n * F12\n */\n F12: 123,\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n /**\n * SEMICOLON\n */\n SEMICOLON: 186, // needs localization\n /**\n * DASH\n */\n DASH: 189, // needs localization\n /**\n * EQUALS\n */\n EQUALS: 187, // needs localization\n /**\n * COMMA\n */\n COMMA: 188, // needs localization\n /**\n * PERIOD\n */\n PERIOD: 190, // needs localization\n /**\n * SLASH\n */\n SLASH: 191, // needs localization\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192, // needs localization\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222, // needs localization\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219, // needs localization\n /**\n * BACKSLASH\n */\n BACKSLASH: 220, // needs localization\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221, // needs localization\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n};\n\n/*\n whether text and modified key is entered at the same time.\n */\nKeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {\n const keyCode = e.keyCode;\n if (\n (e.altKey && !e.ctrlKey) ||\n e.metaKey ||\n // Function keys don't generate text\n (keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12)\n ) {\n return false;\n }\n\n // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n default:\n return true;\n }\n};\n\n/*\n whether character is entered.\n */\nKeyCode.isCharacterKey = function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n }\n\n // Safari sends zero key code for non-latin characters.\n if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n default:\n return false;\n }\n};\n\nexport default KeyCode;\n","import PropTypes from './vue-types';\nimport { cloneElement } from './vnode';\n\nexport default {\n name: 'Portal',\n props: {\n getContainer: PropTypes.func.isRequired,\n children: PropTypes.any.isRequired,\n didUpdate: PropTypes.func,\n },\n mounted() {\n this.createContainer();\n },\n updated() {\n const { didUpdate } = this.$props;\n if (didUpdate) {\n this.$nextTick(() => {\n didUpdate(this.$props);\n });\n }\n },\n\n beforeDestroy() {\n this.removeContainer();\n },\n methods: {\n createContainer() {\n this._container = this.$props.getContainer();\n this.$forceUpdate();\n },\n removeContainer() {\n if (this._container && this._container.parentNode) {\n this._container.parentNode.removeChild(this._container);\n }\n },\n },\n\n render() {\n if (this._container) {\n return cloneElement(this.$props.children, {\n directives: [\n {\n name: 'ant-portal',\n value: this._container,\n },\n ],\n });\n }\n return null;\n },\n};\n","import PropTypes from './vue-types';\nimport switchScrollingEffect from './switchScrollingEffect';\nimport setStyle from './setStyle';\nimport Portal from './Portal';\n\nlet openCount = 0;\nconst windowIsUndefined = !(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n// https://github.com/ant-design/ant-design/issues/19340\n// https://github.com/ant-design/ant-design/issues/19332\nlet cacheOverflow = {};\n\nexport default {\n name: 'PortalWrapper',\n props: {\n wrapperClassName: PropTypes.string,\n forceRender: PropTypes.bool,\n getContainer: PropTypes.any,\n children: PropTypes.func,\n visible: PropTypes.bool,\n },\n data() {\n const { visible } = this.$props;\n openCount = visible ? openCount + 1 : openCount;\n return {};\n },\n updated() {\n this.setWrapperClassName();\n },\n watch: {\n visible(val) {\n openCount = val ? openCount + 1 : openCount - 1;\n },\n getContainer(getContainer, prevGetContainer) {\n const getContainerIsFunc =\n typeof getContainer === 'function' && typeof prevGetContainer === 'function';\n if (\n getContainerIsFunc\n ? getContainer.toString() !== prevGetContainer.toString()\n : getContainer !== prevGetContainer\n ) {\n this.removeCurrentContainer(false);\n }\n },\n },\n beforeDestroy() {\n const { visible } = this.$props;\n // 离开时不会 render, 导到离开时数值不变,改用 func 。。\n openCount = visible && openCount ? openCount - 1 : openCount;\n this.removeCurrentContainer(visible);\n },\n methods: {\n getParent() {\n const { getContainer } = this.$props;\n if (getContainer) {\n if (typeof getContainer === 'string') {\n return document.querySelectorAll(getContainer)[0];\n }\n if (typeof getContainer === 'function') {\n return getContainer();\n }\n if (typeof getContainer === 'object' && getContainer instanceof window.HTMLElement) {\n return getContainer;\n }\n }\n return document.body;\n },\n\n getDomContainer() {\n if (windowIsUndefined) {\n return null;\n }\n if (!this.container) {\n this.container = document.createElement('div');\n const parent = this.getParent();\n if (parent) {\n parent.appendChild(this.container);\n }\n }\n this.setWrapperClassName();\n return this.container;\n },\n\n setWrapperClassName() {\n const { wrapperClassName } = this.$props;\n if (this.container && wrapperClassName && wrapperClassName !== this.container.className) {\n this.container.className = wrapperClassName;\n }\n },\n\n savePortal(c) {\n // Warning: don't rename _component\n // https://github.com/react-component/util/pull/65#discussion_r352407916\n this._component = c;\n },\n\n removeCurrentContainer() {\n this.container = null;\n this._component = null;\n },\n\n /**\n * Enhance ./switchScrollingEffect\n * 1. Simulate document body scroll bar with\n * 2. Record body has overflow style and recover when all of PortalWrapper invisible\n * 3. Disable body scroll when PortalWrapper has open\n *\n * @memberof PortalWrapper\n */\n switchScrollingEffect() {\n if (openCount === 1 && !Object.keys(cacheOverflow).length) {\n switchScrollingEffect();\n // Must be set after switchScrollingEffect\n cacheOverflow = setStyle({\n overflow: 'hidden',\n overflowX: 'hidden',\n overflowY: 'hidden',\n });\n } else if (!openCount) {\n setStyle(cacheOverflow);\n cacheOverflow = {};\n switchScrollingEffect(true);\n }\n },\n },\n\n render() {\n const { children, forceRender, visible } = this.$props;\n let portal = null;\n const childProps = {\n getOpenCount: () => openCount,\n getContainer: this.getDomContainer,\n switchScrollingEffect: this.switchScrollingEffect,\n };\n if (forceRender || visible || this._component) {\n portal = (\n <Portal\n getContainer={this.getDomContainer}\n children={children(childProps)}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.savePortal,\n },\n ],\n }}\n ></Portal>\n );\n }\n return portal;\n },\n};\n","import ref from 'vue-ref';\nimport { antInput } from './antInputDirective';\nimport { antDecorator } from './FormDecoratorDirective';\nimport { antPortal } from './portalDirective';\n\nexport default {\n install: Vue => {\n Vue.use(ref, { name: 'ant-ref' });\n antInput(Vue);\n antDecorator(Vue);\n antPortal(Vue);\n },\n};\n","/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\nexport const inBrowser = typeof window !== 'undefined';\nexport const UA = inBrowser && window.navigator.userAgent.toLowerCase();\nexport const isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nfunction makeMap(str, expectsLowerCase) {\n const map = Object.create(null);\n const list = str.split(',');\n for (let i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? val => map[val.toLowerCase()] : val => map[val];\n}\nconst isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\nfunction onCompositionStart(e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd(e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) return;\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger(el, type) {\n const e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', () => {\n const el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nexport function antInput(Vue) {\n return Vue.directive('ant-input', {\n inserted(el, binding, vnode) {\n if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n if (!binding.modifiers || !binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n });\n}\n\nexport default {\n install: Vue => {\n antInput(Vue);\n },\n};\n","import { tuple } from './type';\n\nexport const PresetColorTypes = tuple(\n 'pink',\n 'red',\n 'yellow',\n 'orange',\n 'cyan',\n 'green',\n 'blue',\n 'purple',\n 'geekblue',\n 'magenta',\n 'volcano',\n 'gold',\n 'lime',\n);\n","/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @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","const 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\nconst 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\nconst startEvents = [];\nconst endEvents = [];\n\nfunction detectEvents() {\n const testEl = document.createElement('div');\n const 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 (const baseEventName in EVENT_NAME_MAP) {\n if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {\n const baseEvents = EVENT_NAME_MAP[baseEventName];\n for (const 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\nconst TransitionEvents = {\n // Start events\n startEvents,\n\n addStartEventListener(node, eventListener) {\n if (startEvents.length === 0) {\n window.setTimeout(eventListener, 0);\n return;\n }\n startEvents.forEach(startEvent => {\n addEventListener(node, startEvent, eventListener);\n });\n },\n\n removeStartEventListener(node, eventListener) {\n if (startEvents.length === 0) {\n return;\n }\n startEvents.forEach(startEvent => {\n removeEventListener(node, startEvent, eventListener);\n });\n },\n\n // End events\n endEvents,\n\n addEndEventListener(node, eventListener) {\n if (endEvents.length === 0) {\n window.setTimeout(eventListener, 0);\n return;\n }\n endEvents.forEach(endEvent => {\n addEventListener(node, endEvent, eventListener);\n });\n },\n\n removeEndEventListener(node, eventListener) {\n if (endEvents.length === 0) {\n return;\n }\n endEvents.forEach(endEvent => {\n removeEventListener(node, endEvent, eventListener);\n });\n },\n};\n\nexport default TransitionEvents;\n","// https://github.com/yiminghe/css-animation 1.5.0\n\nimport Event from './Event';\nimport classes from 'component-classes';\nimport { requestAnimationTimeout, cancelAnimationTimeout } from '../requestAnimationTimeout';\n\nconst isCssAnimationSupported = Event.endEvents.length !== 0;\nconst capitalPrefixes = [\n 'Webkit',\n 'Moz',\n 'O',\n // ms is special .... !\n 'ms',\n];\nconst 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 const style = window.getComputedStyle(node, null);\n let ret = '';\n for (let 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 const transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;\n const transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;\n const animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;\n const animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;\n const time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);\n // sometimes, browser bug\n node.rcEndAnimTimeout = setTimeout(() => {\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\nconst cssAnimation = (node, transitionName, endCallback) => {\n const nameIsObj = typeof transitionName === 'object';\n const className = nameIsObj ? transitionName.name : transitionName;\n const activeClassName = nameIsObj ? transitionName.active : `${transitionName}-active`;\n let end = endCallback;\n let start;\n let active;\n const 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 = e => {\n if (e && e.target !== node) {\n return;\n }\n\n if (node.rcAnimTimeout) {\n cancelAnimationTimeout(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 = requestAnimationTimeout(() => {\n node.rcAnimTimeout = null;\n\n nodeClasses.add(className);\n nodeClasses.add(activeClassName);\n\n if (active) {\n requestAnimationTimeout(active, 0);\n }\n fixBrowserByTimeout(node);\n // 30ms for firefox\n }, 30);\n\n return {\n stop() {\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n },\n };\n};\n\ncssAnimation.style = (node, style, callback) => {\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n\n node.rcEndListener = e => {\n if (e && e.target !== node) {\n return;\n }\n\n if (node.rcAnimTimeout) {\n cancelAnimationTimeout(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 = requestAnimationTimeout(() => {\n for (const 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 = (node, p, value) => {\n let property = p;\n let v = value;\n if (value === undefined) {\n v = property;\n property = '';\n }\n property = property || '';\n capitalPrefixes.forEach(prefix => {\n node.style[`${prefix}Transition${property}`] = v;\n });\n};\n\ncssAnimation.isCssAnimationSupported = isCssAnimationSupported;\n\nexport { isCssAnimationSupported };\n\nexport default cssAnimation;\n","export function easeInOutCubic(t, b, c, d) {\n const cc = c - b;\n t /= d / 2;\n if (t < 1) {\n return (cc / 2) * t * t * t + b;\n }\n return (cc / 2) * ((t -= 2) * t * t + 2) + b;\n}\n","/* eslint-disable no-undef */\n// Browser environment sniffing\nexport const inBrowser = typeof window !== 'undefined';\nexport const inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nexport const weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nexport const UA = inBrowser && window.navigator.userAgent.toLowerCase();\nexport const isIE = UA && /msie|trident/.test(UA);\nexport const isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nexport const isEdge = UA && UA.indexOf('edge/') > 0;\nexport const isAndroid = (UA && UA.indexOf('android') > 0) || weexPlatform === 'android';\nexport const isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || weexPlatform === 'ios';\nexport const isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nexport const isPhantomJS = UA && /phantomjs/.test(UA);\nexport const isFF = UA && UA.match(/firefox\\/(\\d+)/);\n","const availablePrefixs = ['moz', 'ms', 'webkit'];\n\nfunction requestAnimationFramePolyfill() {\n let lastTime = 0;\n return function(callback) {\n const currTime = new Date().getTime();\n const timeToCall = Math.max(0, 16 - (currTime - lastTime));\n const id = window.setTimeout(function() {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return id;\n };\n}\n\nexport default function getRequestAnimationFrame() {\n if (typeof window === 'undefined') {\n return () => {};\n }\n if (window.requestAnimationFrame) {\n // https://github.com/vuejs/vue/issues/4465\n return window.requestAnimationFrame.bind(window);\n }\n\n const prefix = availablePrefixs.filter(key => `${key}RequestAnimationFrame` in window)[0];\n\n return prefix ? window[`${prefix}RequestAnimationFrame`] : requestAnimationFramePolyfill();\n}\n\nexport function cancelRequestAnimationFrame(id) {\n if (typeof window === 'undefined') {\n return null;\n }\n if (window.cancelAnimationFrame) {\n return window.cancelAnimationFrame(id);\n }\n const prefix = availablePrefixs.filter(\n key => `${key}CancelAnimationFrame` in window || `${key}CancelRequestAnimationFrame` in window,\n )[0];\n\n return prefix\n ? (\n window[`${prefix}CancelAnimationFrame`] || window[`${prefix}CancelRequestAnimationFrame`]\n ).call(this, id)\n : clearTimeout(id);\n}\n","export default function getScroll(target, top) {\n if (typeof window === 'undefined') {\n return 0;\n }\n\n const prop = top ? 'pageYOffset' : 'pageXOffset';\n const method = top ? 'scrollTop' : 'scrollLeft';\n const isWindow = target === window;\n\n let ret = isWindow ? target[prop] : target[method];\n // ie6,7,8 standard mode\n if (isWindow && typeof ret !== 'number') {\n ret = window.document.documentElement[method];\n }\n\n return ret;\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 animate from './css-animation';\nconst noop = () => {};\nconst getTransitionProps = (transitionName, opt = {}) => {\n const { beforeEnter, enter, afterEnter, leave, afterLeave, appear = true, tag, nativeOn } = opt;\n const transitionProps = {\n props: {\n appear,\n css: false,\n },\n on: {\n beforeEnter: beforeEnter || noop,\n enter:\n enter ||\n ((el, done) => {\n animate(el, `${transitionName}-enter`, done);\n }),\n afterEnter: afterEnter || noop,\n leave:\n leave ||\n ((el, done) => {\n animate(el, `${transitionName}-leave`, done);\n }),\n afterLeave: afterLeave || noop,\n },\n nativeOn,\n };\n // transition-group\n if (tag) {\n transitionProps.tag = tag;\n }\n return transitionProps;\n};\n\nexport default getTransitionProps;\n","// https://github.com/moment/moment/issues/3650\nexport default function interopDefault(m) {\n return m.default || m;\n}\n","export default function isFlexSupported() {\n if (typeof window !== 'undefined' && window.document && window.document.documentElement) {\n const { documentElement } = window.document;\n return (\n 'flex' in documentElement.style ||\n 'webkitFlex' in documentElement.style ||\n 'Flex' in documentElement.style ||\n 'msFlex' in documentElement.style\n );\n }\n return false;\n}\n","const isNumeric = value => {\n return !isNaN(parseFloat(value)) && isFinite(value);\n};\nexport default isNumeric;\n","const isValid = value => {\n return value !== undefined && value !== null && value !== '';\n};\nexport default isValid;\n","import interopDefault from './interopDefault';\nimport * as moment from 'moment';\nimport warning from './warning';\nimport isNil from 'lodash/isNil';\n\nexport const TimeType = {\n validator(value) {\n return typeof value === 'string' || isNil(value) || moment.isMoment(value);\n },\n};\n\nexport const TimesType = {\n validator(value) {\n if (Array.isArray(value)) {\n return (\n value.length === 0 ||\n value.findIndex(val => typeof val !== 'string') === -1 ||\n value.findIndex(val => !isNil(val) && !moment.isMoment(val)) === -1\n );\n }\n return false;\n },\n};\n\nexport const TimeOrTimesType = {\n validator(value) {\n if (Array.isArray(value)) {\n return (\n value.length === 0 ||\n value.findIndex(val => typeof val !== 'string') === -1 ||\n value.findIndex(val => !isNil(val) && !moment.isMoment(val)) === -1\n );\n } else {\n return typeof value === 'string' || isNil(value) || moment.isMoment(value);\n }\n },\n};\n\nexport function checkValidate(componentName, value, propName, valueFormat) {\n const values = Array.isArray(value) ? value : [value];\n values.forEach(val => {\n if (!val) return;\n valueFormat &&\n warning(\n interopDefault(moment)(val, valueFormat).isValid(),\n componentName,\n `When set \\`valueFormat\\`, \\`${propName}\\` should provides invalidate string time. `,\n );\n !valueFormat &&\n warning(\n interopDefault(moment).isMoment(val) && val.isValid(),\n componentName,\n `\\`${propName}\\` provides invalidate moment time. If you want to set empty value, use \\`null\\` instead.`,\n );\n });\n}\nexport const stringToMoment = (value, valueFormat) => {\n if (Array.isArray(value)) {\n return value.map(val =>\n typeof val === 'string' && val ? interopDefault(moment)(val, valueFormat) : val || null,\n );\n } else {\n return typeof value === 'string' && value\n ? interopDefault(moment)(value, valueFormat)\n : value || null;\n }\n};\n\nexport const momentToString = (value, valueFormat) => {\n if (Array.isArray(value)) {\n return value.map(val => (interopDefault(moment).isMoment(val) ? val.format(valueFormat) : val));\n } else {\n return interopDefault(moment).isMoment(value) ? value.format(valueFormat) : value;\n }\n};\n","import cssAnimation from './css-animation';\nimport raf from 'raf';\nimport Vue from 'vue';\n\nfunction animate(node, show, done) {\n let height;\n let requestAnimationFrameId;\n let appearRequestAnimationFrameId;\n return cssAnimation(node, 'ant-motion-collapse-legacy', {\n start() {\n if (appearRequestAnimationFrameId) {\n raf.cancel(appearRequestAnimationFrameId);\n }\n if (!show) {\n node.style.height = `${node.offsetHeight}px`;\n node.style.opacity = '1';\n } else {\n height = node.offsetHeight;\n // not get offsetHeight when appear\n // set it into raf get correct offsetHeight\n if (height === 0) {\n appearRequestAnimationFrameId = raf(() => {\n height = node.offsetHeight;\n node.style.height = '0px';\n node.style.opacity = '0';\n });\n } else {\n node.style.height = '0px';\n node.style.opacity = '0';\n }\n }\n },\n active() {\n if (requestAnimationFrameId) {\n raf.cancel(requestAnimationFrameId);\n }\n requestAnimationFrameId = raf(() => {\n node.style.height = `${show ? height : 0}px`;\n node.style.opacity = show ? '1' : '0';\n });\n },\n end() {\n if (appearRequestAnimationFrameId) {\n raf.cancel(appearRequestAnimationFrameId);\n }\n if (requestAnimationFrameId) {\n raf.cancel(requestAnimationFrameId);\n }\n node.style.height = '';\n node.style.opacity = '';\n done && done();\n },\n });\n}\n\nconst animation = {\n enter(node, done) {\n Vue.nextTick(() => {\n animate(node, true, done);\n });\n },\n leave(node, done) {\n return animate(node, false, done);\n },\n};\n\nexport default animation;\n","export function antPortal(Vue) {\n return Vue.directive('ant-portal', {\n inserted(el, binding) {\n const { value } = binding;\n const parentNode = typeof value === 'function' ? value(el) : value;\n if (parentNode !== el.parentNode) {\n parentNode.appendChild(el);\n }\n },\n componentUpdated(el, binding) {\n const { value } = binding;\n const parentNode = typeof value === 'function' ? value(el) : value;\n if (parentNode !== el.parentNode) {\n parentNode.appendChild(el);\n }\n },\n });\n}\n\nexport default {\n install: Vue => {\n antPortal(Vue);\n },\n};\n","import isPlainObject from 'lodash/isPlainObject';\nimport classNames from 'classnames';\nfunction getType(fn) {\n const match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : '';\n}\n\nconst camelizeRE = /-(\\w)/g;\nconst camelize = str => {\n return str.replace(camelizeRE, (_, c) => (c ? c.toUpperCase() : ''));\n};\nconst parseStyleText = (cssText = '', camel) => {\n const res = {};\n const listDelimiter = /;(?![^(]*\\))/g;\n const propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function(item) {\n if (item) {\n const tmp = item.split(propertyDelimiter);\n if (tmp.length > 1) {\n const k = camel ? camelize(tmp[0].trim()) : tmp[0].trim();\n res[k] = tmp[1].trim();\n }\n }\n });\n return res;\n};\n\nconst hasProp = (instance, prop) => {\n const $options = instance.$options || {};\n const propsData = $options.propsData || {};\n return prop in propsData;\n};\nconst slotHasProp = (slot, prop) => {\n const $options = slot.componentOptions || {};\n const propsData = $options.propsData || {};\n return prop in propsData;\n};\nconst filterProps = (props, propsData = {}) => {\n const res = {};\n Object.keys(props).forEach(k => {\n if (k in propsData || props[k] !== undefined) {\n res[k] = props[k];\n }\n });\n return res;\n};\n\nconst getScopedSlots = ele => {\n return (ele.data && ele.data.scopedSlots) || {};\n};\n\nconst getSlots = ele => {\n let componentOptions = ele.componentOptions || {};\n if (ele.$vnode) {\n componentOptions = ele.$vnode.componentOptions || {};\n }\n const children = ele.children || componentOptions.children || [];\n const slots = {};\n children.forEach(child => {\n if (!isEmptyElement(child)) {\n const name = (child.data && child.data.slot) || 'default';\n slots[name] = slots[name] || [];\n slots[name].push(child);\n }\n });\n return { ...slots, ...getScopedSlots(ele) };\n};\nconst getSlot = (self, name = 'default', options = {}) => {\n return (\n (self.$scopedSlots && self.$scopedSlots[name] && self.$scopedSlots[name](options)) ||\n self.$slots[name] ||\n []\n );\n};\n\nconst getAllChildren = ele => {\n let componentOptions = ele.componentOptions || {};\n if (ele.$vnode) {\n componentOptions = ele.$vnode.componentOptions || {};\n }\n return ele.children || componentOptions.children || [];\n};\nconst getSlotOptions = ele => {\n if (ele.fnOptions) {\n // 函数式组件\n return ele.fnOptions;\n }\n let componentOptions = ele.componentOptions;\n if (ele.$vnode) {\n componentOptions = ele.$vnode.componentOptions;\n }\n return componentOptions ? componentOptions.Ctor.options || {} : {};\n};\nconst getOptionProps = instance => {\n if (instance.componentOptions) {\n const componentOptions = instance.componentOptions;\n const { propsData = {}, Ctor = {} } = componentOptions;\n const props = (Ctor.options || {}).props || {};\n const res = {};\n for (const [k, v] of Object.entries(props)) {\n const def = v.default;\n if (def !== undefined) {\n res[k] =\n typeof def === 'function' && getType(v.type) !== 'Function' ? def.call(instance) : def;\n }\n }\n return { ...res, ...propsData };\n }\n const { $options = {}, $props = {} } = instance;\n return filterProps($props, $options.propsData);\n};\n\nconst getComponentFromProp = (instance, prop, options = instance, execute = true) => {\n if (instance.$createElement) {\n const h = instance.$createElement;\n const temp = instance[prop];\n if (temp !== undefined) {\n return typeof temp === 'function' && execute ? temp(h, options) : temp;\n }\n return (\n (instance.$scopedSlots[prop] && execute && instance.$scopedSlots[prop](options)) ||\n instance.$scopedSlots[prop] ||\n instance.$slots[prop] ||\n undefined\n );\n } else {\n const h = instance.context.$createElement;\n const temp = getPropsData(instance)[prop];\n if (temp !== undefined) {\n return typeof temp === 'function' && execute ? temp(h, options) : temp;\n }\n const slotScope = getScopedSlots(instance)[prop];\n if (slotScope !== undefined) {\n return typeof slotScope === 'function' && execute ? slotScope(h, options) : slotScope;\n }\n const slotsProp = [];\n const componentOptions = instance.componentOptions || {};\n (componentOptions.children || []).forEach(child => {\n if (child.data && child.data.slot === prop) {\n if (child.data.attrs) {\n delete child.data.attrs.slot;\n }\n if (child.tag === 'template') {\n slotsProp.push(child.children);\n } else {\n slotsProp.push(child);\n }\n }\n });\n return slotsProp.length ? slotsProp : undefined;\n }\n};\n\nconst getAllProps = ele => {\n let data = ele.data || {};\n let componentOptions = ele.componentOptions || {};\n if (ele.$vnode) {\n data = ele.$vnode.data || {};\n componentOptions = ele.$vnode.componentOptions || {};\n }\n return { ...data.props, ...data.attrs, ...componentOptions.propsData };\n};\n\nconst getPropsData = ele => {\n let componentOptions = ele.componentOptions;\n if (ele.$vnode) {\n componentOptions = ele.$vnode.componentOptions;\n }\n return componentOptions ? componentOptions.propsData || {} : {};\n};\nconst getValueByProp = (ele, prop) => {\n return getPropsData(ele)[prop];\n};\n\nconst getAttrs = ele => {\n let data = ele.data;\n if (ele.$vnode) {\n data = ele.$vnode.data;\n }\n return data ? data.attrs || {} : {};\n};\n\nconst getKey = ele => {\n let key = ele.key;\n if (ele.$vnode) {\n key = ele.$vnode.key;\n }\n return key;\n};\n\nexport function getEvents(child) {\n let events = {};\n if (child.componentOptions && child.componentOptions.listeners) {\n events = child.componentOptions.listeners;\n } else if (child.data && child.data.on) {\n events = child.data.on;\n }\n return { ...events };\n}\n\n// 获取 xxx.native 或者 原生标签 事件\nexport function getDataEvents(child) {\n let events = {};\n if (child.data && child.data.on) {\n events = child.data.on;\n }\n return { ...events };\n}\n\n// use getListeners instead this.$listeners\n// https://github.com/vueComponent/ant-design-vue/issues/1705\nexport function getListeners(context) {\n return (context.$vnode ? context.$vnode.componentOptions.listeners : context.$listeners) || {};\n}\nexport function getClass(ele) {\n let data = {};\n if (ele.data) {\n data = ele.data;\n } else if (ele.$vnode && ele.$vnode.data) {\n data = ele.$vnode.data;\n }\n const tempCls = data.class || {};\n const staticClass = data.staticClass;\n let cls = {};\n staticClass &&\n staticClass.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n if (typeof tempCls === 'string') {\n tempCls.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n } else if (Array.isArray(tempCls)) {\n classNames(tempCls)\n .split(' ')\n .forEach(c => {\n cls[c.trim()] = true;\n });\n } else {\n cls = { ...cls, ...tempCls };\n }\n return cls;\n}\nexport function getStyle(ele, camel) {\n let data = {};\n if (ele.data) {\n data = ele.data;\n } else if (ele.$vnode && ele.$vnode.data) {\n data = ele.$vnode.data;\n }\n let style = data.style || data.staticStyle;\n if (typeof style === 'string') {\n style = parseStyleText(style, camel);\n } else if (camel && style) {\n // 驼峰化\n const res = {};\n Object.keys(style).forEach(k => (res[camelize(k)] = style[k]));\n return res;\n }\n return style;\n}\n\nexport function getComponentName(opts) {\n return opts && (opts.Ctor.options.name || opts.tag);\n}\n\nexport function isEmptyElement(c) {\n return !(c.tag || (c.text && c.text.trim() !== ''));\n}\n\nexport function isStringElement(c) {\n return !c.tag;\n}\n\nexport function filterEmpty(children = []) {\n return children.filter(c => !isEmptyElement(c));\n}\nconst initDefaultProps = (propTypes, defaultProps) => {\n Object.keys(defaultProps).forEach(k => {\n if (propTypes[k]) {\n propTypes[k].def && (propTypes[k] = propTypes[k].def(defaultProps[k]));\n } else {\n throw new Error(`not have ${k} prop`);\n }\n });\n return propTypes;\n};\n\nexport function mergeProps() {\n const args = [].slice.call(arguments, 0);\n const props = {};\n args.forEach((p = {}) => {\n for (const [k, v] of Object.entries(p)) {\n props[k] = props[k] || {};\n if (isPlainObject(v)) {\n Object.assign(props[k], v);\n } else {\n props[k] = v;\n }\n }\n });\n return props;\n}\n\nfunction isValidElement(element) {\n return (\n element &&\n typeof element === 'object' &&\n 'componentOptions' in element &&\n 'context' in element &&\n element.tag !== undefined\n ); // remove text node\n}\n\nexport {\n hasProp,\n filterProps,\n getOptionProps,\n getComponentFromProp,\n getSlotOptions,\n slotHasProp,\n getPropsData,\n getKey,\n getAttrs,\n getValueByProp,\n parseStyleText,\n initDefaultProps,\n isValidElement,\n camelize,\n getSlots,\n getSlot,\n getAllProps,\n getAllChildren,\n};\nexport default hasProp;\n","import PropTypes from './vue-types';\nimport { getOptionProps, getListeners } from './props-util';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.name || 'Component';\n}\nexport default function wrapWithConnect(WrappedComponent) {\n const tempProps = WrappedComponent.props || {};\n const methods = WrappedComponent.methods || {};\n const props = {};\n Object.keys(tempProps).forEach(k => {\n props[k] = { ...tempProps[k], required: false };\n });\n WrappedComponent.props.__propsSymbol__ = PropTypes.any;\n WrappedComponent.props.children = PropTypes.array.def([]);\n const ProxyWrappedComponent = {\n props,\n model: WrappedComponent.model,\n name: `Proxy_${getDisplayName(WrappedComponent)}`,\n methods: {\n getProxyWrappedInstance() {\n return this.$refs.wrappedInstance;\n },\n },\n render() {\n const { $slots = {}, $scopedSlots } = this;\n const props = getOptionProps(this);\n const wrapProps = {\n props: {\n ...props,\n __propsSymbol__: Symbol(),\n componentWillReceiveProps: { ...props },\n children: $slots.default || props.children || [],\n },\n on: getListeners(this),\n };\n if (Object.keys($scopedSlots).length) {\n wrapProps.scopedSlots = $scopedSlots;\n }\n const slotsKey = Object.keys($slots);\n return (\n <WrappedComponent {...wrapProps} ref=\"wrappedInstance\">\n {slotsKey.length\n ? slotsKey.map(name => {\n return <template slot={name}>{$slots[name]}</template>;\n })\n : null}\n </WrappedComponent>\n );\n },\n };\n Object.keys(methods).map(m => {\n ProxyWrappedComponent.methods[m] = function() {\n return this.getProxyWrappedInstance()[m](...arguments);\n };\n });\n return ProxyWrappedComponent;\n}\n","import raf from 'raf';\n\nlet id = 0;\nconst ids = {};\n\n// Support call raf with delay specified frame\nexport default function wrapperRaf(callback, delayFrames = 1) {\n const myId = id++;\n let restFrames = delayFrames;\n\n function internalCallback() {\n restFrames -= 1;\n\n if (restFrames <= 0) {\n callback();\n delete ids[myId];\n } else {\n ids[myId] = raf(internalCallback);\n }\n }\n\n ids[myId] = raf(internalCallback);\n\n return myId;\n}\n\nwrapperRaf.cancel = function(pid) {\n if (pid === undefined) return;\n raf.cancel(ids[pid]);\n delete ids[pid];\n};\nwrapperRaf.ids = ids; // export this for test usage\n","import getRequestAnimationFrame, {\n cancelRequestAnimationFrame as caf,\n} from './getRequestAnimationFrame';\nconst raf = getRequestAnimationFrame();\n\nexport const cancelAnimationTimeout = frame => caf(frame.id);\n\nexport const requestAnimationTimeout = (callback, delay) => {\n const start = Date.now();\n function timeout() {\n if (Date.now() - start >= delay) {\n callback.call();\n } else {\n frame.id = raf(timeout);\n }\n }\n\n const frame = {\n id: raf(timeout),\n };\n\n return frame;\n};\n","// matchMedia polyfill for\n// https://github.com/WickyNilliams/enquire.js/issues/82\nlet enquire;\n\n// TODO: Will be removed in antd 4.0 because we will no longer support ie9\nif (typeof window !== 'undefined') {\n const matchMediaPolyfill = mediaQuery => {\n return {\n media: mediaQuery,\n matches: false,\n addListener() {},\n removeListener() {},\n };\n };\n // ref: https://github.com/ant-design/ant-design/issues/18774\n if (!window.matchMedia) window.matchMedia = matchMediaPolyfill;\n // eslint-disable-next-line global-require\n enquire = require('enquire.js');\n}\n\nexport const responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\n\nexport const responsiveMap = {\n xs: '(max-width: 575px)',\n sm: '(min-width: 576px)',\n md: '(min-width: 768px)',\n lg: '(min-width: 992px)',\n xl: '(min-width: 1200px)',\n xxl: '(min-width: 1600px)',\n};\n\nlet subscribers = [];\nlet subUid = -1;\nlet screens = {};\n\nconst responsiveObserve = {\n dispatch(pointMap) {\n screens = pointMap;\n if (subscribers.length < 1) {\n return false;\n }\n\n subscribers.forEach(item => {\n item.func(screens);\n });\n\n return true;\n },\n subscribe(func) {\n if (subscribers.length === 0) {\n this.register();\n }\n const token = (++subUid).toString();\n subscribers.push({\n token,\n func,\n });\n func(screens);\n return token;\n },\n unsubscribe(token) {\n subscribers = subscribers.filter(item => item.token !== token);\n if (subscribers.length === 0) {\n this.unregister();\n }\n },\n unregister() {\n Object.keys(responsiveMap).map(screen => enquire.unregister(responsiveMap[screen]));\n },\n register() {\n Object.keys(responsiveMap).map(screen =>\n enquire.register(responsiveMap[screen], {\n match: () => {\n const pointMap = {\n ...screens,\n [screen]: true,\n };\n this.dispatch(pointMap);\n },\n unmatch: () => {\n const pointMap = {\n ...screens,\n [screen]: false,\n };\n this.dispatch(pointMap);\n },\n // Keep a empty destroy to avoid triggering unmatch when unregister\n destroy() {},\n }),\n );\n },\n};\n\nexport default responsiveObserve;\n","import raf from 'raf';\nimport getScroll from './getScroll';\nimport { easeInOutCubic } from './easings';\n\n// interface ScrollToOptions {\n// /** Scroll container, default as window */\n// getContainer?: () => HTMLElement | Window;\n// /** Scroll end callback */\n// callback?: () => any;\n// /** Animation duration, default as 450 */\n// duration?: number;\n// }\n\nexport default function scrollTo(y, options = {}) {\n const { getContainer = () => window, callback, duration = 450 } = options;\n\n const container = getContainer();\n const scrollTop = getScroll(container, true);\n const startTime = Date.now();\n\n const frameFunc = () => {\n const timestamp = Date.now();\n const time = timestamp - startTime;\n const nextScrollTop = easeInOutCubic(time > duration ? duration : time, scrollTop, y, duration);\n if (container === window) {\n window.scrollTo(window.pageXOffset, nextScrollTop);\n } else {\n container.scrollTop = nextScrollTop;\n }\n if (time < duration) {\n raf(frameFunc);\n } else if (typeof callback === 'function') {\n callback();\n }\n };\n raf(frameFunc);\n}\n","/**\n * Easy to set element style, return previous style\n * IE browser compatible(IE browser doesn't merge overflow style, need to set it separately)\n * https://github.com/ant-design/ant-design/issues/19393\n *\n */\nfunction setStyle(style, options = {}) {\n const { element = document.body } = options;\n const oldStyle = {};\n\n const styleKeys = Object.keys(style);\n\n // IE browser compatible\n styleKeys.forEach(key => {\n oldStyle[key] = element.style[key];\n });\n\n styleKeys.forEach(key => {\n element.style[key] = style[key];\n });\n\n return oldStyle;\n}\n\nexport default setStyle;\n","import PropTypes from '../vue-types';\n\nexport const storeShape = PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n setState: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired,\n});\n","import { storeShape } from './PropTypes';\nexport default {\n name: 'StoreProvider',\n props: {\n store: storeShape.isRequired,\n },\n provide() {\n return {\n storeContext: this.$props,\n };\n },\n render() {\n return this.$slots.default[0];\n },\n};\n","import shallowEqual from 'shallowequal';\nimport omit from 'omit.js';\nimport { getOptionProps, getListeners } from '../props-util';\nimport PropTypes from '../vue-types';\nimport proxyComponent from '../proxyComponent';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.name || 'Component';\n}\n\nconst defaultMapStateToProps = () => ({});\nexport default function connect(mapStateToProps) {\n const shouldSubscribe = !!mapStateToProps;\n const finalMapStateToProps = mapStateToProps || defaultMapStateToProps;\n return function wrapWithConnect(WrappedComponent) {\n const tempProps = omit(WrappedComponent.props || {}, ['store']);\n const props = {\n __propsSymbol__: PropTypes.any,\n };\n Object.keys(tempProps).forEach(k => {\n props[k] = { ...tempProps[k], required: false };\n });\n const Connect = {\n name: `Connect_${getDisplayName(WrappedComponent)}`,\n props,\n inject: {\n storeContext: { default: () => ({}) },\n },\n data() {\n this.store = this.storeContext.store;\n this.preProps = omit(getOptionProps(this), ['__propsSymbol__']);\n return {\n subscribed: finalMapStateToProps(this.store.getState(), this.$props),\n };\n },\n watch: {\n __propsSymbol__() {\n if (mapStateToProps && mapStateToProps.length === 2) {\n this.subscribed = finalMapStateToProps(this.store.getState(), this.$props);\n }\n },\n },\n mounted() {\n this.trySubscribe();\n },\n\n beforeDestroy() {\n this.tryUnsubscribe();\n },\n methods: {\n handleChange() {\n if (!this.unsubscribe) {\n return;\n }\n const props = omit(getOptionProps(this), ['__propsSymbol__']);\n const nextSubscribed = finalMapStateToProps(this.store.getState(), props);\n if (\n !shallowEqual(this.preProps, props) ||\n !shallowEqual(this.subscribed, nextSubscribed)\n ) {\n this.subscribed = nextSubscribed;\n }\n },\n\n trySubscribe() {\n if (shouldSubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange);\n this.handleChange();\n }\n },\n\n tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n },\n getWrappedInstance() {\n return this.$refs.wrappedInstance;\n },\n },\n render() {\n const { $slots = {}, $scopedSlots, subscribed, store } = this;\n const props = getOptionProps(this);\n this.preProps = { ...omit(props, ['__propsSymbol__']) };\n const wrapProps = {\n props: {\n ...props,\n ...subscribed,\n store,\n },\n on: getListeners(this),\n scopedSlots: $scopedSlots,\n };\n return (\n <WrappedComponent {...wrapProps} ref=\"wrappedInstance\">\n {Object.keys($slots).map(name => {\n return <template slot={name}>{$slots[name]}</template>;\n })}\n </WrappedComponent>\n );\n },\n };\n return proxyComponent(Connect);\n };\n}\n","export default function create(initialState) {\n let state = initialState;\n const listeners = [];\n\n function setState(partial) {\n state = { ...state, ...partial };\n for (let 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 const index = listeners.indexOf(listener);\n listeners.splice(index, 1);\n };\n }\n\n return {\n setState,\n getState,\n subscribe,\n };\n}\n","export { default as Provider } from './Provider';\n\nexport { default as connect } from './connect';\n\nexport { default as create } from './create';\n","const isStyleSupport = styleName => {\n if (typeof window !== 'undefined' && window.document && window.document.documentElement) {\n const styleNameList = Array.isArray(styleName) ? styleName : [styleName];\n const { documentElement } = window.document;\n\n return styleNameList.some(name => name in documentElement.style);\n }\n return false;\n};\n\nexport const isFlexSupported = isStyleSupport(['flex', 'webkitFlex', 'Flex', 'msFlex']);\n\nexport default isStyleSupport;\n","import getScrollBarSize from './getScrollBarSize';\n\nexport default close => {\n const bodyIsOverflowing =\n document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight) &&\n window.innerWidth > document.body.offsetWidth;\n if (!bodyIsOverflowing) {\n return;\n }\n if (close) {\n document.body.style.position = '';\n document.body.style.width = '';\n return;\n }\n const scrollBarSize = getScrollBarSize();\n if (scrollBarSize) {\n document.body.style.position = 'relative';\n document.body.style.width = `calc(100% - ${scrollBarSize}px)`;\n }\n};\n","import raf from 'raf';\n\nexport default function throttleByAnimationFrame(fn) {\n let requestId;\n\n const later = args => () => {\n requestId = null;\n fn(...args);\n };\n\n const throttled = (...args) => {\n if (requestId == null) {\n requestId = raf(later(args));\n }\n };\n\n throttled.cancel = () => raf.cancel(requestId);\n\n return throttled;\n}\n\nexport function throttleByAnimationFrameDecorator() {\n return function(target, key, descriptor) {\n const fn = descriptor.value;\n let definingProperty = false;\n return {\n configurable: true,\n get() {\n if (definingProperty || this === target.prototype || this.hasOwnProperty(key)) {\n return fn;\n }\n\n const boundFn = throttleByAnimationFrame(fn.bind(this));\n definingProperty = true;\n Object.defineProperty(this, key, {\n value: boundFn,\n configurable: true,\n writable: true,\n });\n definingProperty = false;\n return boundFn;\n },\n };\n };\n}\n","/**\n * Wrap of sub component which need use as Button capacity (like Icon component).\n * This helps accessibility reader to tread as a interactive button to operation.\n */\nimport KeyCode from './KeyCode';\nimport PropTypes from './vue-types';\n\nconst inlineStyle = {\n border: 0,\n background: 'transparent',\n padding: 0,\n lineHeight: 'inherit',\n display: 'inline-block',\n};\n\nconst TransButton = {\n props: {\n noStyle: PropTypes.bool,\n },\n\n methods: {\n onKeyDown(event) {\n const { keyCode } = event;\n if (keyCode === KeyCode.ENTER) {\n event.preventDefault();\n }\n },\n\n onKeyUp(event) {\n const { keyCode } = event;\n if (keyCode === KeyCode.ENTER) {\n this.$emit('click', event);\n }\n },\n\n setRef(btn) {\n this.div = btn;\n },\n\n focus() {\n if (this.div) {\n this.div.focus();\n }\n },\n\n blur() {\n if (this.div) {\n this.div.blur();\n }\n },\n },\n\n render() {\n const { noStyle } = this.$props;\n\n return (\n <div\n role=\"button\"\n tabIndex={0}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.setRef,\n },\n ],\n on: {\n ...this.$listeners,\n keydown: this.onKeyDown,\n keyup: this.onKeyUp,\n },\n }}\n style={{ ...(!noStyle ? inlineStyle : null) }}\n >\n {this.$slots.default}\n </div>\n );\n },\n};\n\nexport default TransButton;\n","export default function triggerEvent(el, type) {\n if ('createEvent' in document) {\n // modern browsers, IE9+\n const e = document.createEvent('HTMLEvents');\n e.initEvent(type, false, true);\n el.dispatchEvent(e);\n }\n}\n","// https://stackoverflow.com/questions/46176165/ways-to-get-string-literal-type-of-array-values-without-enum-overhead\nexport const tuple = (...args) => args;\n\nexport const tupleNum = (...args) => args;\n","import { filterEmpty, parseStyleText } from './props-util';\nimport classNames from 'classnames';\n\nexport function cloneVNode(vnode, deep) {\n const componentOptions = vnode.componentOptions;\n const data = vnode.data;\n\n let listeners = {};\n if (componentOptions && componentOptions.listeners) {\n listeners = { ...componentOptions.listeners };\n }\n\n let on = {};\n if (data && data.on) {\n on = { ...data.on };\n }\n\n const cloned = new vnode.constructor(\n vnode.tag,\n data ? { ...data, on } : data,\n vnode.children,\n vnode.text,\n vnode.elm,\n vnode.context,\n componentOptions ? { ...componentOptions, listeners } : componentOptions,\n vnode.asyncFactory,\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.isCloned = true;\n if (deep) {\n if (vnode.children) {\n cloned.children = cloneVNodes(vnode.children, true);\n }\n if (componentOptions && componentOptions.children) {\n componentOptions.children = cloneVNodes(componentOptions.children, true);\n }\n }\n return cloned;\n}\n\nexport function cloneVNodes(vnodes, deep) {\n const len = vnodes.length;\n const res = new Array(len);\n for (let i = 0; i < len; i++) {\n res[i] = cloneVNode(vnodes[i], deep);\n }\n return res;\n}\n\nexport function cloneElement(n, nodeProps = {}, deep) {\n let ele = n;\n if (Array.isArray(n)) {\n ele = filterEmpty(n)[0];\n }\n if (!ele) {\n return null;\n }\n const node = cloneVNode(ele, deep);\n // // 函数式组件不支持clone https://github.com/vueComponent/ant-design-vue/pull/1947\n // warning(\n // !(node.fnOptions && node.fnOptions.functional),\n // `can not use cloneElement for functional component (${node.fnOptions && node.fnOptions.name})`,\n // );\n const { props = {}, key, on = {}, nativeOn = {}, children, directives = [] } = nodeProps;\n const data = node.data || {};\n let cls = {};\n let style = {};\n const {\n attrs = {},\n ref,\n domProps = {},\n style: tempStyle = {},\n class: tempCls = {},\n scopedSlots = {},\n } = nodeProps;\n\n if (typeof data.style === 'string') {\n style = parseStyleText(data.style);\n } else {\n style = { ...data.style, ...style };\n }\n if (typeof tempStyle === 'string') {\n style = { ...style, ...parseStyleText(style) };\n } else {\n style = { ...style, ...tempStyle };\n }\n\n if (typeof data.class === 'string' && data.class.trim() !== '') {\n data.class.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n } else if (Array.isArray(data.class)) {\n classNames(data.class)\n .split(' ')\n .forEach(c => {\n cls[c.trim()] = true;\n });\n } else {\n cls = { ...data.class, ...cls };\n }\n if (typeof tempCls === 'string' && tempCls.trim() !== '') {\n tempCls.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n } else {\n cls = { ...cls, ...tempCls };\n }\n node.data = Object.assign({}, data, {\n style,\n attrs: { ...data.attrs, ...attrs },\n class: cls,\n domProps: { ...data.domProps, ...domProps },\n scopedSlots: { ...data.scopedSlots, ...scopedSlots },\n directives: [...(data.directives || []), ...directives],\n });\n\n if (node.componentOptions) {\n node.componentOptions.propsData = node.componentOptions.propsData || {};\n node.componentOptions.listeners = node.componentOptions.listeners || {};\n node.componentOptions.propsData = { ...node.componentOptions.propsData, ...props };\n node.componentOptions.listeners = { ...node.componentOptions.listeners, ...on };\n if (children) {\n node.componentOptions.children = children;\n }\n } else {\n if (children) {\n node.children = children;\n }\n node.data.on = { ...(node.data.on || {}), ...on };\n }\n node.data.on = { ...(node.data.on || {}), ...nativeOn };\n\n if (key !== undefined) {\n node.key = key;\n node.data.key = key;\n }\n if (typeof ref === 'string') {\n node.data.ref = ref;\n }\n return node;\n}\n","import isPlainObject from 'lodash/isPlainObject';\nimport { toType, getType, isFunction, validateType, isInteger, isArray, warn } from './utils';\n\nconst VuePropTypes = {\n get any() {\n return toType('any', {\n type: null,\n });\n },\n\n get func() {\n return toType('function', {\n type: Function,\n }).def(currentDefaults.func);\n },\n\n get bool() {\n return toType('boolean', {\n type: Boolean,\n }).def(currentDefaults.bool);\n },\n\n get string() {\n return toType('string', {\n type: String,\n }).def(currentDefaults.string);\n },\n\n get number() {\n return toType('number', {\n type: Number,\n }).def(currentDefaults.number);\n },\n\n get array() {\n return toType('array', {\n type: Array,\n }).def(currentDefaults.array);\n },\n\n get object() {\n return toType('object', {\n type: Object,\n }).def(currentDefaults.object);\n },\n\n get integer() {\n return toType('integer', {\n type: Number,\n validator(value) {\n return isInteger(value);\n },\n }).def(currentDefaults.integer);\n },\n\n get symbol() {\n return toType('symbol', {\n type: null,\n validator(value) {\n return typeof value === 'symbol';\n },\n });\n },\n\n custom(validatorFn, warnMsg = 'custom validation failed') {\n if (typeof validatorFn !== 'function') {\n throw new TypeError('[VueTypes error]: You must provide a function as argument');\n }\n\n return toType(validatorFn.name || '<<anonymous function>>', {\n validator(...args) {\n const valid = validatorFn(...args);\n if (!valid) warn(`${this._vueTypes_name} - ${warnMsg}`);\n return valid;\n },\n });\n },\n\n oneOf(arr) {\n if (!isArray(arr)) {\n throw new TypeError('[VueTypes error]: You must provide an array as argument');\n }\n const msg = `oneOf - value should be one of \"${arr.join('\", \"')}\"`;\n const allowedTypes = arr.reduce((ret, v) => {\n if (v !== null && v !== undefined) {\n ret.indexOf(v.constructor) === -1 && ret.push(v.constructor);\n }\n return ret;\n }, []);\n\n return toType('oneOf', {\n type: allowedTypes.length > 0 ? allowedTypes : null,\n validator(value) {\n const valid = arr.indexOf(value) !== -1;\n if (!valid) warn(msg);\n return valid;\n },\n });\n },\n\n instanceOf(instanceConstructor) {\n return toType('instanceOf', {\n type: instanceConstructor,\n });\n },\n\n oneOfType(arr) {\n if (!isArray(arr)) {\n throw new TypeError('[VueTypes error]: You must provide an array as argument');\n }\n\n let hasCustomValidators = false;\n\n const nativeChecks = arr.reduce((ret, type) => {\n if (isPlainObject(type)) {\n if (type._vueTypes_name === 'oneOf') {\n return ret.concat(type.type || []);\n }\n if (type.type && !isFunction(type.validator)) {\n if (isArray(type.type)) return ret.concat(type.type);\n ret.push(type.type);\n } else if (isFunction(type.validator)) {\n hasCustomValidators = true;\n }\n return ret;\n }\n ret.push(type);\n return ret;\n }, []);\n\n if (!hasCustomValidators) {\n // we got just native objects (ie: Array, Object)\n // delegate to Vue native prop check\n return toType('oneOfType', {\n type: nativeChecks,\n }).def(undefined);\n }\n\n const typesStr = arr\n .map(type => {\n if (type && isArray(type.type)) {\n return type.type.map(getType);\n }\n return getType(type);\n })\n .reduce((ret, type) => ret.concat(isArray(type) ? type : [type]), [])\n .join('\", \"');\n\n return this.custom(function oneOfType(value) {\n const valid = arr.some(type => {\n if (type._vueTypes_name === 'oneOf') {\n return type.type ? validateType(type.type, value, true) : true;\n }\n return validateType(type, value, true);\n });\n if (!valid) warn(`oneOfType - value type should be one of \"${typesStr}\"`);\n return valid;\n }).def(undefined);\n },\n\n arrayOf(type) {\n return toType('arrayOf', {\n type: Array,\n validator(values) {\n const valid = values.every(value => validateType(type, value));\n if (!valid) warn(`arrayOf - value must be an array of \"${getType(type)}\"`);\n return valid;\n },\n });\n },\n\n objectOf(type) {\n return toType('objectOf', {\n type: Object,\n validator(obj) {\n const valid = Object.keys(obj).every(key => validateType(type, obj[key]));\n if (!valid) warn(`objectOf - value must be an object of \"${getType(type)}\"`);\n return valid;\n },\n });\n },\n\n shape(obj) {\n const keys = Object.keys(obj);\n const requiredKeys = keys.filter(key => obj[key] && obj[key].required === true);\n\n const type = toType('shape', {\n type: Object,\n validator(value) {\n if (!isPlainObject(value)) {\n return false;\n }\n const valueKeys = Object.keys(value);\n\n // check for required keys (if any)\n if (requiredKeys.length > 0 && requiredKeys.some(req => valueKeys.indexOf(req) === -1)) {\n warn(\n `shape - at least one of required properties \"${requiredKeys.join(\n '\", \"',\n )}\" is not present`,\n );\n return false;\n }\n\n return valueKeys.every(key => {\n if (keys.indexOf(key) === -1) {\n if (this._vueTypes_isLoose === true) return true;\n warn(`shape - object is missing \"${key}\" property`);\n return false;\n }\n const type = obj[key];\n return validateType(type, value[key]);\n });\n },\n });\n\n Object.defineProperty(type, '_vueTypes_isLoose', {\n enumerable: false,\n writable: true,\n value: false,\n });\n\n Object.defineProperty(type, 'loose', {\n get() {\n this._vueTypes_isLoose = true;\n return this;\n },\n enumerable: false,\n });\n\n return type;\n },\n};\n\nconst typeDefaults = () => ({\n func: undefined,\n bool: undefined,\n string: undefined,\n number: undefined,\n array: undefined,\n object: undefined,\n integer: undefined,\n});\n\nlet currentDefaults = typeDefaults();\n\nObject.defineProperty(VuePropTypes, 'sensibleDefaults', {\n enumerable: false,\n set(value) {\n if (value === false) {\n currentDefaults = {};\n } else if (value === true) {\n currentDefaults = typeDefaults();\n } else if (isPlainObject(value)) {\n currentDefaults = value;\n }\n },\n get() {\n return currentDefaults;\n },\n});\n\nexport default VuePropTypes;\n","import isPlainObject from 'lodash/isPlainObject';\n\nconst ObjProto = Object.prototype;\nconst toString = ObjProto.toString;\nexport const hasOwn = ObjProto.hasOwnProperty;\n\nconst FN_MATCH_REGEXP = /^\\s*function (\\w+)/;\n\n// https://github.com/vuejs/vue/blob/dev/src/core/util/props.js#L159\nexport const getType = fn => {\n const type = fn !== null && fn !== undefined ? (fn.type ? fn.type : fn) : null;\n const match = type && type.toString().match(FN_MATCH_REGEXP);\n return match && match[1];\n};\n\nexport const getNativeType = value => {\n if (value === null || value === undefined) return null;\n const match = value.constructor.toString().match(FN_MATCH_REGEXP);\n return match && match[1];\n};\n\n/**\n * No-op function\n */\nexport const noop = () => {};\n\n/**\n * Checks for a own property in an object\n *\n * @param {object} obj - Object\n * @param {string} prop - Property to check\n */\nexport const has = (obj, prop) => hasOwn.call(obj, prop);\n\n/**\n * Determines whether the passed value is an integer. Uses `Number.isInteger` if available\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger\n * @param {*} value - The value to be tested for being an integer.\n * @returns {boolean}\n */\nexport const isInteger =\n Number.isInteger ||\n function(value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n\n/**\n * Determines whether the passed value is an Array.\n *\n * @param {*} value - The value to be tested for being an array.\n * @returns {boolean}\n */\nexport const isArray =\n Array.isArray ||\n function(value) {\n return toString.call(value) === '[object Array]';\n };\n\n/**\n * Checks if a value is a function\n *\n * @param {any} value - Value to check\n * @returns {boolean}\n */\nexport const isFunction = value => toString.call(value) === '[object Function]';\n\n/**\n * Adds a `def` method to the object returning a new object with passed in argument as `default` property\n *\n * @param {object} type - Object to enhance\n */\nexport const withDefault = function(type) {\n Object.defineProperty(type, 'def', {\n value(def) {\n if (def === undefined && this.default === undefined) {\n this.default = undefined;\n return this;\n }\n if (!isFunction(def) && !validateType(this, def)) {\n warn(`${this._vueTypes_name} - invalid default value: \"${def}\"`, def);\n return this;\n }\n this.default =\n isArray(def) || isPlainObject(def)\n ? function() {\n return def;\n }\n : def;\n\n return this;\n },\n enumerable: false,\n writable: false,\n });\n};\n\n/**\n * Adds a `isRequired` getter returning a new object with `required: true` key-value\n *\n * @param {object} type - Object to enhance\n */\nexport const withRequired = function(type) {\n Object.defineProperty(type, 'isRequired', {\n get() {\n this.required = true;\n return this;\n },\n enumerable: false,\n });\n};\n\n/**\n * Adds `isRequired` and `def` modifiers to an object\n *\n * @param {string} name - Type internal name\n * @param {object} obj - Object to enhance\n * @returns {object}\n */\nexport const toType = (name, obj) => {\n Object.defineProperty(obj, '_vueTypes_name', {\n enumerable: false,\n writable: false,\n value: name,\n });\n withRequired(obj);\n withDefault(obj);\n\n if (isFunction(obj.validator)) {\n obj.validator = obj.validator.bind(obj);\n }\n return obj;\n};\n\n/**\n * Validates a given value against a prop type object\n *\n * @param {Object|*} type - Type to use for validation. Either a type object or a constructor\n * @param {*} value - Value to check\n * @param {boolean} silent - Silence warnings\n * @returns {boolean}\n */\nexport const validateType = (type, value, silent = false) => {\n let typeToCheck = type;\n let valid = true;\n let expectedType;\n if (!isPlainObject(type)) {\n typeToCheck = { type };\n }\n const namePrefix = typeToCheck._vueTypes_name ? typeToCheck._vueTypes_name + ' - ' : '';\n\n if (hasOwn.call(typeToCheck, 'type') && typeToCheck.type !== null) {\n if (isArray(typeToCheck.type)) {\n valid = typeToCheck.type.some(type => validateType(type, value, true));\n expectedType = typeToCheck.type.map(type => getType(type)).join(' or ');\n } else {\n expectedType = getType(typeToCheck);\n\n if (expectedType === 'Array') {\n valid = isArray(value);\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (\n expectedType === 'String' ||\n expectedType === 'Number' ||\n expectedType === 'Boolean' ||\n expectedType === 'Function'\n ) {\n valid = getNativeType(value) === expectedType;\n } else {\n valid = value instanceof typeToCheck.type;\n }\n }\n }\n\n if (!valid) {\n silent === false && warn(`${namePrefix}value \"${value}\" should be of type \"${expectedType}\"`);\n return false;\n }\n\n if (hasOwn.call(typeToCheck, 'validator') && isFunction(typeToCheck.validator)) {\n valid = typeToCheck.validator(value);\n if (!valid && silent === false) warn(`${namePrefix}custom validation failed`);\n return valid;\n }\n return valid;\n};\n\nlet warn = noop;\n\nif (process.env.NODE_ENV !== 'production') {\n const hasConsole = typeof console !== 'undefined';\n warn = msg => {\n if (hasConsole) {\n console.warn(`[VueTypes warn]: ${msg}`);\n }\n };\n}\n\nexport { warn };\n","import warning, { resetWarned } from '../vc-util/warning';\n\nexport { resetWarned };\n\nexport default (valid, component, message = '') => {\n warning(valid, `[antdv: ${component}] ${message}`);\n};\n","import TransitionEvents from './css-animation/Event';\nimport raf from './raf';\nimport { ConfigConsumerProps } from '../config-provider';\nlet styleForPesudo;\n\n// Where el is the DOM element you'd like to test for visibility\nfunction isHidden(element) {\n if (process.env.NODE_ENV === 'test') {\n return false;\n }\n return !element || element.offsetParent === null;\n}\nfunction isNotGrey(color) {\n // eslint-disable-next-line no-useless-escape\n const match = (color || '').match(/rgba?\\((\\d*), (\\d*), (\\d*)(, [\\.\\d]*)?\\)/);\n if (match && match[1] && match[2] && match[3]) {\n return !(match[1] === match[2] && match[2] === match[3]);\n }\n return true;\n}\nexport default {\n name: 'Wave',\n props: ['insertExtraNode'],\n mounted() {\n this.$nextTick(() => {\n const node = this.$el;\n if (node.nodeType !== 1) {\n return;\n }\n this.instance = this.bindAnimationEvent(node);\n });\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n beforeDestroy() {\n if (this.instance) {\n this.instance.cancel();\n }\n if (this.clickWaveTimeoutId) {\n clearTimeout(this.clickWaveTimeoutId);\n }\n this.destroy = true;\n },\n methods: {\n onClick(node, waveColor) {\n if (!node || isHidden(node) || node.className.indexOf('-leave') >= 0) {\n return;\n }\n const { insertExtraNode } = this.$props;\n this.extraNode = document.createElement('div');\n const extraNode = this.extraNode;\n extraNode.className = 'ant-click-animating-node';\n const attributeName = this.getAttributeName();\n node.removeAttribute(attributeName);\n node.setAttribute(attributeName, 'true');\n // Not white or transparent or grey\n styleForPesudo = styleForPesudo || document.createElement('style');\n if (\n waveColor &&\n waveColor !== '#ffffff' &&\n waveColor !== 'rgb(255, 255, 255)' &&\n isNotGrey(waveColor) &&\n !/rgba\\(\\d*, \\d*, \\d*, 0\\)/.test(waveColor) && // any transparent rgba color\n waveColor !== 'transparent'\n ) {\n // Add nonce if CSP exist\n if (this.csp && this.csp.nonce) {\n styleForPesudo.nonce = this.csp.nonce;\n }\n extraNode.style.borderColor = waveColor;\n styleForPesudo.innerHTML = `\n [ant-click-animating-without-extra-node='true']::after, .ant-click-animating-node {\n --antd-wave-shadow-color: ${waveColor};\n }`;\n if (!document.body.contains(styleForPesudo)) {\n document.body.appendChild(styleForPesudo);\n }\n }\n if (insertExtraNode) {\n node.appendChild(extraNode);\n }\n TransitionEvents.addStartEventListener(node, this.onTransitionStart);\n TransitionEvents.addEndEventListener(node, this.onTransitionEnd);\n },\n onTransitionStart(e) {\n if (this.destroy) return;\n\n const node = this.$el;\n if (!e || e.target !== node) {\n return;\n }\n\n if (!this.animationStart) {\n this.resetEffect(node);\n }\n },\n onTransitionEnd(e) {\n if (!e || e.animationName !== 'fadeEffect') {\n return;\n }\n this.resetEffect(e.target);\n },\n getAttributeName() {\n const { insertExtraNode } = this.$props;\n return insertExtraNode ? 'ant-click-animating' : 'ant-click-animating-without-extra-node';\n },\n bindAnimationEvent(node) {\n if (\n !node ||\n !node.getAttribute ||\n node.getAttribute('disabled') ||\n node.className.indexOf('disabled') >= 0\n ) {\n return;\n }\n const onClick = e => {\n // Fix radio button click twice\n if (e.target.tagName === 'INPUT' || isHidden(e.target)) {\n return;\n }\n this.resetEffect(node);\n // Get wave color from target\n const waveColor =\n getComputedStyle(node).getPropertyValue('border-top-color') || // Firefox Compatible\n getComputedStyle(node).getPropertyValue('border-color') ||\n getComputedStyle(node).getPropertyValue('background-color');\n this.clickWaveTimeoutId = window.setTimeout(() => this.onClick(node, waveColor), 0);\n raf.cancel(this.animationStartId);\n this.animationStart = true;\n\n // Render to trigger transition event cost 3 frames. Let's delay 10 frames to reset this.\n this.animationStartId = raf(() => {\n this.animationStart = false;\n }, 10);\n };\n node.addEventListener('click', onClick, true);\n return {\n cancel: () => {\n node.removeEventListener('click', onClick, true);\n },\n };\n },\n\n resetEffect(node) {\n if (!node || node === this.extraNode || !(node instanceof Element)) {\n return;\n }\n const { insertExtraNode } = this.$props;\n const attributeName = this.getAttributeName();\n node.setAttribute(attributeName, 'false'); // edge has bug on `removeAttribute` #14466\n if (styleForPesudo) {\n styleForPesudo.innerHTML = '';\n }\n if (insertExtraNode && this.extraNode && node.contains(this.extraNode)) {\n node.removeChild(this.extraNode);\n }\n TransitionEvents.removeStartEventListener(node, this.onTransitionStart);\n TransitionEvents.removeEndEventListener(node, this.onTransitionEnd);\n },\n },\n\n render() {\n if (this.configProvider.csp) {\n this.csp = this.configProvider.csp;\n }\n return this.$slots.default && this.$slots.default[0];\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport ResizeObserver from '../vc-resize-observer';\nimport BaseMixin from '../_util/BaseMixin';\nimport throttleByAnimationFrame from '../_util/throttleByAnimationFrame';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Base from '../base';\nimport warning from '../_util/warning';\nimport {\n addObserveTarget,\n removeObserveTarget,\n getTargetRect,\n getFixedTop,\n getFixedBottom,\n} from './utils';\n\nfunction getDefaultTarget() {\n return typeof window !== 'undefined' ? window : null;\n}\n\n// Affix\nconst AffixProps = {\n /**\n * 距离窗口顶部达到指定偏移量后触发\n */\n offsetTop: PropTypes.number,\n offset: PropTypes.number,\n /** 距离窗口底部达到指定偏移量后触发 */\n offsetBottom: PropTypes.number,\n /** 固定状态改变时触发的回调函数 */\n // onChange?: (affixed?: boolean) => void;\n /** 设置 Affix 需要监听其滚动事件的元素,值为一个返回对应 DOM 元素的函数 */\n target: PropTypes.func.def(getDefaultTarget),\n prefixCls: PropTypes.string,\n};\nconst AffixStatus = {\n None: 'none',\n Prepare: 'Prepare',\n};\nconst Affix = {\n name: 'AAffix',\n props: AffixProps,\n mixins: [BaseMixin],\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n affixStyle: undefined,\n placeholderStyle: undefined,\n status: AffixStatus.None,\n lastAffix: false,\n prevTarget: null,\n };\n },\n beforeMount() {\n this.updatePosition = throttleByAnimationFrame(this.updatePosition);\n this.lazyUpdatePosition = throttleByAnimationFrame(this.lazyUpdatePosition);\n },\n mounted() {\n const { target } = this;\n if (target) {\n // [Legacy] Wait for parent component ref has its value.\n // We should use target as directly element instead of function which makes element check hard.\n this.timeout = setTimeout(() => {\n addObserveTarget(target(), this);\n // Mock Event object.\n this.updatePosition();\n });\n }\n },\n updated() {\n this.measure();\n },\n watch: {\n target(val) {\n let newTarget = null;\n if (val) {\n newTarget = val() || null;\n }\n if (this.prevTarget !== newTarget) {\n removeObserveTarget(this);\n if (newTarget) {\n addObserveTarget(newTarget, this);\n // Mock Event object.\n this.updatePosition();\n }\n this.prevTarget = newTarget;\n }\n },\n offsetTop() {\n this.updatePosition();\n },\n offsetBottom() {\n this.updatePosition();\n },\n },\n beforeDestroy() {\n clearTimeout(this.timeout);\n removeObserveTarget(this);\n this.updatePosition.cancel();\n // https://github.com/ant-design/ant-design/issues/22683\n this.lazyUpdatePosition.cancel();\n },\n methods: {\n getOffsetTop() {\n const { offset, offsetBottom } = this;\n let { offsetTop } = this;\n if (typeof offsetTop === 'undefined') {\n offsetTop = offset;\n warning(\n typeof offset === 'undefined',\n 'Affix',\n '`offset` is deprecated. Please use `offsetTop` instead.',\n );\n }\n\n if (offsetBottom === undefined && offsetTop === undefined) {\n offsetTop = 0;\n }\n return offsetTop;\n },\n\n getOffsetBottom() {\n return this.offsetBottom;\n },\n // =================== Measure ===================\n measure() {\n const { status, lastAffix } = this;\n const { target } = this;\n if (\n status !== AffixStatus.Prepare ||\n !this.$refs.fixedNode ||\n !this.$refs.placeholderNode ||\n !target\n ) {\n return;\n }\n\n const offsetTop = this.getOffsetTop();\n const offsetBottom = this.getOffsetBottom();\n\n const targetNode = target();\n if (!targetNode) {\n return;\n }\n\n const newState = {\n status: AffixStatus.None,\n };\n const targetRect = getTargetRect(targetNode);\n const placeholderReact = getTargetRect(this.$refs.placeholderNode);\n const fixedTop = getFixedTop(placeholderReact, targetRect, offsetTop);\n const fixedBottom = getFixedBottom(placeholderReact, targetRect, offsetBottom);\n if (fixedTop !== undefined) {\n newState.affixStyle = {\n position: 'fixed',\n top: fixedTop,\n width: placeholderReact.width + 'px',\n height: placeholderReact.height + 'px',\n };\n newState.placeholderStyle = {\n width: placeholderReact.width + 'px',\n height: placeholderReact.height + 'px',\n };\n } else if (fixedBottom !== undefined) {\n newState.affixStyle = {\n position: 'fixed',\n bottom: fixedBottom,\n width: placeholderReact.width + 'px',\n height: placeholderReact.height + 'px',\n };\n newState.placeholderStyle = {\n width: placeholderReact.width + 'px',\n height: placeholderReact.height + 'px',\n };\n }\n\n newState.lastAffix = !!newState.affixStyle;\n if (lastAffix !== newState.lastAffix) {\n this.$emit('change', newState.lastAffix);\n }\n\n this.setState(newState);\n },\n\n // @ts-ignore TS6133\n prepareMeasure() {\n this.setState({\n status: AffixStatus.Prepare,\n affixStyle: undefined,\n placeholderStyle: undefined,\n });\n this.$forceUpdate();\n\n // Test if `updatePosition` called\n if (process.env.NODE_ENV === 'test') {\n this.$emit('testUpdatePosition');\n }\n },\n updatePosition() {\n this.prepareMeasure();\n },\n lazyUpdatePosition() {\n const { target } = this;\n const { affixStyle } = this;\n\n // Check position change before measure to make Safari smooth\n if (target && affixStyle) {\n const offsetTop = this.getOffsetTop();\n const offsetBottom = this.getOffsetBottom();\n\n const targetNode = target();\n if (targetNode && this.$refs.placeholderNode) {\n const targetRect = getTargetRect(targetNode);\n const placeholderReact = getTargetRect(this.$refs.placeholderNode);\n const fixedTop = getFixedTop(placeholderReact, targetRect, offsetTop);\n const fixedBottom = getFixedBottom(placeholderReact, targetRect, offsetBottom);\n\n if (\n (fixedTop !== undefined && affixStyle.top === fixedTop) ||\n (fixedBottom !== undefined && affixStyle.bottom === fixedBottom)\n ) {\n return;\n }\n }\n }\n // Directly call prepare measure since it's already throttled.\n this.prepareMeasure();\n },\n },\n\n render() {\n const { prefixCls, affixStyle, placeholderStyle, $slots, $props } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const className = classNames({\n [getPrefixCls('affix', prefixCls)]: affixStyle,\n });\n\n const props = {\n attrs: omit($props, ['prefixCls', 'offsetTop', 'offsetBottom', 'target']),\n };\n return (\n <ResizeObserver\n onResize={() => {\n this.updatePosition();\n }}\n >\n <div {...props} style={placeholderStyle} ref=\"placeholderNode\">\n <div class={className} ref=\"fixedNode\" style={affixStyle}>\n {$slots.default}\n </div>\n </div>\n </ResizeObserver>\n );\n },\n};\n\n/* istanbul ignore next */\nAffix.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Affix.name, Affix);\n};\n\nexport default Affix;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import addEventListener from '../vc-util/Dom/addEventListener';\n\nexport function getTargetRect(target) {\n return target !== window\n ? target.getBoundingClientRect()\n : { top: 0, bottom: window.innerHeight };\n}\n\nexport function getFixedTop(placeholderReact, targetRect, offsetTop) {\n if (offsetTop !== undefined && targetRect.top > placeholderReact.top - offsetTop) {\n return offsetTop + targetRect.top + 'px';\n }\n return undefined;\n}\n\nexport function getFixedBottom(placeholderReact, targetRect, offsetBottom) {\n if (offsetBottom !== undefined && targetRect.bottom < placeholderReact.bottom + offsetBottom) {\n const targetBottomOffset = window.innerHeight - targetRect.bottom;\n return offsetBottom + targetBottomOffset + 'px';\n }\n return undefined;\n}\n\n// ======================== Observer ========================\nconst TRIGGER_EVENTS = [\n 'resize',\n 'scroll',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'pageshow',\n 'load',\n];\n\nlet observerEntities = [];\n\nexport function getObserverEntities() {\n // Only used in test env. Can be removed if refactor.\n return observerEntities;\n}\n\nexport function addObserveTarget(target, affix) {\n if (!target) return;\n\n let entity = observerEntities.find(item => item.target === target);\n\n if (entity) {\n entity.affixList.push(affix);\n } else {\n entity = {\n target,\n affixList: [affix],\n eventHandlers: {},\n };\n observerEntities.push(entity);\n\n // Add listener\n TRIGGER_EVENTS.forEach(eventName => {\n entity.eventHandlers[eventName] = addEventListener(target, eventName, () => {\n entity.affixList.forEach(targetAffix => {\n targetAffix.lazyUpdatePosition();\n });\n });\n });\n }\n}\n\nexport function removeObserveTarget(affix) {\n const observerEntity = observerEntities.find(oriObserverEntity => {\n const hasAffix = oriObserverEntity.affixList.some(item => item === affix);\n if (hasAffix) {\n oriObserverEntity.affixList = oriObserverEntity.affixList.filter(item => item !== affix);\n }\n return hasAffix;\n });\n\n if (observerEntity && observerEntity.affixList.length === 0) {\n observerEntities = observerEntities.filter(item => item !== observerEntity);\n\n // Remove listener\n TRIGGER_EVENTS.forEach(eventName => {\n const handler = observerEntity.eventHandlers[eventName];\n if (handler && handler.remove) {\n handler.remove();\n }\n });\n }\n}\n","import Icon from '../icon';\nimport classNames from 'classnames';\nimport BaseMixin from '../_util/BaseMixin';\nimport PropTypes from '../_util/vue-types';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport { getComponentFromProp, isValidElement } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Base from '../base';\n\nfunction noop() {}\nexport const AlertProps = {\n /**\n * Type of Alert styles, options:`success`, `info`, `warning`, `error`\n */\n type: PropTypes.oneOf(['success', 'info', 'warning', 'error']),\n /** Whether Alert can be closed */\n closable: PropTypes.bool,\n /** Close text to show */\n closeText: PropTypes.any,\n /** Content of Alert */\n message: PropTypes.any,\n /** Additional content of Alert */\n description: PropTypes.any,\n /** Callback when close Alert */\n // onClose?: React.MouseEventHandler<HTMLAnchorElement>;\n /** Trigger when animation ending of Alert */\n afterClose: PropTypes.func.def(noop),\n /** Whether to show icon */\n showIcon: PropTypes.bool,\n iconType: PropTypes.string,\n prefixCls: PropTypes.string,\n banner: PropTypes.bool,\n icon: PropTypes.any,\n};\n\nconst Alert = {\n name: 'AAlert',\n props: AlertProps,\n mixins: [BaseMixin],\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n closing: false,\n closed: false,\n };\n },\n methods: {\n handleClose(e) {\n e.preventDefault();\n const dom = this.$el;\n dom.style.height = `${dom.offsetHeight}px`;\n // Magic code\n // 重复一次后才能正确设置 height\n dom.style.height = `${dom.offsetHeight}px`;\n\n this.setState({\n closing: true,\n });\n this.$emit('close', e);\n },\n animationEnd() {\n this.setState({\n closing: false,\n closed: true,\n });\n this.afterClose();\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, banner, closing, closed } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('alert', customizePrefixCls);\n\n let { closable, type, showIcon, iconType } = this;\n const closeText = getComponentFromProp(this, 'closeText');\n const description = getComponentFromProp(this, 'description');\n const message = getComponentFromProp(this, 'message');\n const icon = getComponentFromProp(this, 'icon');\n // banner模式默认有 Icon\n showIcon = banner && showIcon === undefined ? true : showIcon;\n // banner模式默认为警告\n type = banner && type === undefined ? 'warning' : type || 'info';\n let iconTheme = 'filled';\n\n if (!iconType) {\n switch (type) {\n case 'success':\n iconType = 'check-circle';\n break;\n case 'info':\n iconType = 'info-circle';\n break;\n case 'error':\n iconType = 'close-circle';\n break;\n case 'warning':\n iconType = 'exclamation-circle';\n break;\n default:\n iconType = 'default';\n }\n\n // use outline icon in alert with description\n if (description) {\n iconTheme = 'outlined';\n }\n }\n\n // closeable when closeText is assigned\n if (closeText) {\n closable = true;\n }\n\n const alertCls = classNames(prefixCls, {\n [`${prefixCls}-${type}`]: true,\n [`${prefixCls}-closing`]: closing,\n [`${prefixCls}-with-description`]: !!description,\n [`${prefixCls}-no-icon`]: !showIcon,\n [`${prefixCls}-banner`]: !!banner,\n [`${prefixCls}-closable`]: closable,\n });\n\n const closeIcon = closable ? (\n <a type=\"button\" onClick={this.handleClose} class={`${prefixCls}-close-icon`} tabIndex={0}>\n {closeText ? (\n <span class={`${prefixCls}-close-text`}>{closeText}</span>\n ) : (\n <Icon type=\"close\" />\n )}\n </a>\n ) : null;\n\n const iconNode = (icon &&\n (isValidElement(icon) ? (\n cloneElement(icon, {\n class: `${prefixCls}-icon`,\n })\n ) : (\n <span class={`${prefixCls}-icon`}>{icon}</span>\n ))) || <Icon class={`${prefixCls}-icon`} type={iconType} theme={iconTheme} />;\n\n const transitionProps = getTransitionProps(`${prefixCls}-slide-up`, {\n appear: false,\n afterLeave: this.animationEnd,\n });\n return closed ? null : (\n <transition {...transitionProps}>\n <div v-show={!closing} class={alertCls} data-show={!closing}>\n {showIcon ? iconNode : null}\n <span class={`${prefixCls}-message`}>{message}</span>\n <span class={`${prefixCls}-description`}>{description}</span>\n {closeIcon}\n </div>\n </transition>\n );\n },\n};\n\n/* istanbul ignore next */\nAlert.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Alert.name, Alert);\n};\n\nexport default Alert;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport Affix from '../affix';\nimport scrollTo from '../_util/scrollTo';\nimport getScroll from '../_util/getScroll';\nimport { initDefaultProps } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider';\n\nfunction getDefaultContainer() {\n return window;\n}\n\nfunction getOffsetTop(element, container) {\n if (!element) {\n return 0;\n }\n\n if (!element.getClientRects().length) {\n return 0;\n }\n\n const rect = element.getBoundingClientRect();\n\n if (rect.width || rect.height) {\n if (container === window) {\n container = element.ownerDocument.documentElement;\n return rect.top - container.clientTop;\n }\n return rect.top - container.getBoundingClientRect().top;\n }\n\n return rect.top;\n}\n\n// function easeInOutCubic(t, b, c, d) {\n// const cc = c - b;\n// t /= d / 2;\n// if (t < 1) {\n// return (cc / 2) * t * t * t + b;\n// }\n// return (cc / 2) * ((t -= 2) * t * t + 2) + b;\n// }\n\nconst sharpMatcherRegx = /#([^#]+)$/;\n// function scrollTo(href, offsetTop = 0, getContainer, callback = () => {}) {\n// const container = getContainer();\n// const scrollTop = getScroll(container, true);\n// const sharpLinkMatch = sharpMatcherRegx.exec(href);\n// if (!sharpLinkMatch) {\n// return;\n// }\n// const targetElement = document.getElementById(sharpLinkMatch[1]);\n// if (!targetElement) {\n// return;\n// }\n// const eleOffsetTop = getOffsetTop(targetElement, container);\n// const targetScrollTop = scrollTop + eleOffsetTop - offsetTop;\n// const startTime = Date.now();\n// const frameFunc = () => {\n// const timestamp = Date.now();\n// const time = timestamp - startTime;\n// const nextScrollTop = easeInOutCubic(time, scrollTop, targetScrollTop, 450);\n// if (container === window) {\n// window.scrollTo(window.pageXOffset, nextScrollTop);\n// } else {\n// container.scrollTop = nextScrollTop;\n// }\n// if (time < 450) {\n// raf(frameFunc);\n// } else {\n// callback();\n// }\n// };\n// raf(frameFunc);\n// }\n\nexport const AnchorProps = {\n prefixCls: PropTypes.string,\n offsetTop: PropTypes.number,\n bounds: PropTypes.number,\n affix: PropTypes.bool,\n showInkInFixed: PropTypes.bool,\n getContainer: PropTypes.func,\n wrapperClass: PropTypes.string,\n wrapperStyle: PropTypes.object,\n getCurrentAnchor: PropTypes.func,\n targetOffset: PropTypes.number,\n};\n\nexport default {\n name: 'AAnchor',\n mixins: [BaseMixin],\n inheritAttrs: false,\n props: initDefaultProps(AnchorProps, {\n affix: true,\n showInkInFixed: false,\n getContainer: getDefaultContainer,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n this.links = [];\n this._sPrefixCls = '';\n return {\n activeLink: null,\n };\n },\n provide() {\n return {\n antAnchor: {\n registerLink: link => {\n if (!this.links.includes(link)) {\n this.links.push(link);\n }\n },\n unregisterLink: link => {\n const index = this.links.indexOf(link);\n if (index !== -1) {\n this.links.splice(index, 1);\n }\n },\n $data: this.$data,\n scrollTo: this.handleScrollTo,\n },\n antAnchorContext: this,\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n const { getContainer } = this;\n this.scrollContainer = getContainer();\n this.scrollEvent = addEventListener(this.scrollContainer, 'scroll', this.handleScroll);\n this.handleScroll();\n });\n },\n updated() {\n this.$nextTick(() => {\n if (this.scrollEvent) {\n const { getContainer } = this;\n const currentContainer = getContainer();\n if (this.scrollContainer !== currentContainer) {\n this.scrollContainer = currentContainer;\n this.scrollEvent.remove();\n this.scrollEvent = addEventListener(this.scrollContainer, 'scroll', this.handleScroll);\n this.handleScroll();\n }\n }\n this.updateInk();\n });\n },\n beforeDestroy() {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n },\n methods: {\n getCurrentActiveLink(offsetTop = 0, bounds = 5) {\n const { getCurrentAnchor } = this;\n\n if (typeof getCurrentAnchor === 'function') {\n return getCurrentAnchor();\n }\n const activeLink = '';\n if (typeof document === 'undefined') {\n return activeLink;\n }\n\n const linkSections = [];\n const { getContainer } = this;\n const container = getContainer();\n this.links.forEach(link => {\n const sharpLinkMatch = sharpMatcherRegx.exec(link.toString());\n if (!sharpLinkMatch) {\n return;\n }\n const target = document.getElementById(sharpLinkMatch[1]);\n if (target) {\n const top = getOffsetTop(target, container);\n if (top < offsetTop + bounds) {\n linkSections.push({\n link,\n top,\n });\n }\n }\n });\n\n if (linkSections.length) {\n const maxSection = linkSections.reduce((prev, curr) => (curr.top > prev.top ? curr : prev));\n return maxSection.link;\n }\n return '';\n },\n\n handleScrollTo(link) {\n const { offsetTop, getContainer, targetOffset } = this;\n\n this.setCurrentActiveLink(link);\n const container = getContainer();\n const scrollTop = getScroll(container, true);\n const sharpLinkMatch = sharpMatcherRegx.exec(link);\n if (!sharpLinkMatch) {\n return;\n }\n const targetElement = document.getElementById(sharpLinkMatch[1]);\n if (!targetElement) {\n return;\n }\n\n const eleOffsetTop = getOffsetTop(targetElement, container);\n let y = scrollTop + eleOffsetTop;\n y -= targetOffset !== undefined ? targetOffset : offsetTop || 0;\n this.animating = true;\n\n scrollTo(y, {\n callback: () => {\n this.animating = false;\n },\n getContainer,\n });\n },\n setCurrentActiveLink(link) {\n const { activeLink } = this;\n\n if (activeLink !== link) {\n this.setState({\n activeLink: link,\n });\n this.$emit('change', link);\n }\n },\n\n handleScroll() {\n if (this.animating) {\n return;\n }\n const { offsetTop, bounds, targetOffset } = this;\n const currentActiveLink = this.getCurrentActiveLink(\n targetOffset !== undefined ? targetOffset : offsetTop || 0,\n bounds,\n );\n this.setCurrentActiveLink(currentActiveLink);\n },\n\n updateInk() {\n if (typeof document === 'undefined') {\n return;\n }\n const { _sPrefixCls } = this;\n const linkNode = this.$el.getElementsByClassName(`${_sPrefixCls}-link-title-active`)[0];\n if (linkNode) {\n this.$refs.inkNode.style.top = `${linkNode.offsetTop + linkNode.clientHeight / 2 - 4.5}px`;\n }\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n offsetTop,\n affix,\n showInkInFixed,\n activeLink,\n $slots,\n getContainer,\n } = this;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('anchor', customizePrefixCls);\n this._sPrefixCls = prefixCls;\n\n const inkClass = classNames(`${prefixCls}-ink-ball`, {\n visible: activeLink,\n });\n\n const wrapperClass = classNames(this.wrapperClass, `${prefixCls}-wrapper`);\n\n const anchorClass = classNames(prefixCls, {\n fixed: !affix && !showInkInFixed,\n });\n\n const wrapperStyle = {\n maxHeight: offsetTop ? `calc(100vh - ${offsetTop}px)` : '100vh',\n ...this.wrapperStyle,\n };\n\n const anchorContent = (\n <div class={wrapperClass} style={wrapperStyle}>\n <div class={anchorClass}>\n <div class={`${prefixCls}-ink`}>\n <span class={inkClass} ref=\"inkNode\" />\n </div>\n {$slots.default}\n </div>\n </div>\n );\n\n return !affix ? (\n anchorContent\n ) : (\n <Affix offsetTop={offsetTop} target={getContainer}>\n {anchorContent}\n </Affix>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getComponentFromProp } from '../_util/props-util';\nimport classNames from 'classnames';\nimport { ConfigConsumerProps } from '../config-provider';\n\nexport const AnchorLinkProps = {\n prefixCls: PropTypes.string,\n href: PropTypes.string,\n title: PropTypes.any,\n target: PropTypes.string,\n};\n\nexport default {\n name: 'AAnchorLink',\n props: initDefaultProps(AnchorLinkProps, {\n href: '#',\n }),\n inject: {\n antAnchor: { default: () => ({}) },\n antAnchorContext: { default: () => ({}) },\n configProvider: { default: () => ConfigConsumerProps },\n },\n watch: {\n href(val, oldVal) {\n this.$nextTick(() => {\n this.antAnchor.unregisterLink(oldVal);\n this.antAnchor.registerLink(val);\n });\n },\n },\n\n mounted() {\n this.antAnchor.registerLink(this.href);\n },\n\n beforeDestroy() {\n this.antAnchor.unregisterLink(this.href);\n },\n methods: {\n handleClick(e) {\n this.antAnchor.scrollTo(this.href);\n const { scrollTo } = this.antAnchor;\n const { href, title } = this.$props;\n if (this.antAnchorContext.$emit) {\n this.antAnchorContext.$emit('click', e, { title, href });\n }\n scrollTo(href);\n },\n },\n render() {\n const { prefixCls: customizePrefixCls, href, $slots, target } = this;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('anchor', customizePrefixCls);\n\n const title = getComponentFromProp(this, 'title');\n const active = this.antAnchor.$data.activeLink === href;\n const wrapperClassName = classNames(`${prefixCls}-link`, {\n [`${prefixCls}-link-active`]: active,\n });\n const titleClassName = classNames(`${prefixCls}-link-title`, {\n [`${prefixCls}-link-title-active`]: active,\n });\n return (\n <div class={wrapperClassName}>\n <a\n class={titleClassName}\n href={href}\n title={typeof title === 'string' ? title : ''}\n target={target}\n onClick={this.handleClick}\n >\n {title}\n </a>\n {$slots.default}\n </div>\n );\n },\n};\n","import Anchor from './Anchor';\nimport AnchorLink from './AnchorLink';\nimport Base from '../base';\n\nAnchor.Link = AnchorLink;\n\n/* istanbul ignore next */\nAnchor.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Anchor.name, Anchor);\n Vue.component(Anchor.Link.name, Anchor.Link);\n};\nexport { AnchorProps } from './Anchor';\nexport { AnchorLinkProps } from './AnchorLink';\nexport default Anchor;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../affix/style';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport { cloneElement } from '../_util/vnode';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nfunction chaining(...fns) {\n return function(...args) {\n // 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}\nexport default {\n name: 'InputElement',\n inheritAttrs: false,\n props: {\n value: PropTypes.any,\n disabled: PropTypes.bool,\n placeholder: PropTypes.string,\n },\n render() {\n const { $slots = {}, $attrs = {}, placeholder } = this;\n const listeners = getListeners(this);\n const props = getOptionProps(this);\n const value = props.value === undefined ? '' : props.value;\n const children = $slots.default[0];\n const { componentOptions = {} } = $slots.default[0];\n const { listeners: events = {} } = componentOptions;\n const newEvent = { ...events };\n\n for (const [eventName, event] of Object.entries(listeners)) {\n newEvent[eventName] = chaining(event, events[eventName]);\n }\n const attrs = { ...$attrs, value };\n // https://github.com/vueComponent/ant-design-vue/issues/1761\n delete props.placeholder;\n if (placeholder) {\n props.placeholder = placeholder;\n attrs.placeholder = placeholder;\n }\n return cloneElement(children, {\n domProps: {\n value,\n },\n props,\n on: newEvent,\n attrs,\n ref: 'ele',\n });\n },\n};\n","import { Option, OptGroup } from '../vc-select';\nimport Select, { AbstractSelectProps, SelectValue } from '../select';\nimport Input from '../input';\nimport InputElement from './InputElement';\nimport PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider';\nimport {\n getComponentFromProp,\n getOptionProps,\n filterEmpty,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport Base from '../base';\n\n// const DataSourceItemObject = PropTypes.shape({\n// value: String,\n// text: String,\n// }).loose\n// const DataSourceItemType = PropTypes.oneOfType([\n// PropTypes.string,\n// DataSourceItemObject,\n// ]).isRequired\n\n// export interface AutoCompleteInputProps {\n// onChange?: React.FormEventHandler<any>;\n// value: any;\n// }\n\nconst AutoCompleteProps = {\n ...AbstractSelectProps(),\n value: SelectValue,\n defaultValue: SelectValue,\n dataSource: PropTypes.array,\n dropdownMenuStyle: PropTypes.object,\n optionLabelProp: String,\n dropdownMatchSelectWidth: PropTypes.bool,\n // onChange?: (value: SelectValue) => void;\n // onSelect?: (value: SelectValue, option: Object) => any;\n};\n\nconst AutoComplete = {\n name: 'AAutoComplete',\n props: {\n ...AutoCompleteProps,\n prefixCls: PropTypes.string.def('ant-select'),\n showSearch: PropTypes.bool.def(false),\n transitionName: PropTypes.string.def('slide-up'),\n choiceTransitionName: PropTypes.string.def('zoom'),\n autoFocus: PropTypes.bool,\n backfill: PropTypes.bool,\n optionLabelProp: PropTypes.string.def('children'),\n filterOption: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]).def(false),\n defaultActiveFirstOption: PropTypes.bool.def(true),\n },\n Option: { ...Option, name: 'AAutoCompleteOption' },\n OptGroup: { ...OptGroup, name: 'AAutoCompleteOptGroup' },\n model: {\n prop: 'value',\n event: 'change',\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n provide() {\n return {\n savePopupRef: this.savePopupRef,\n };\n },\n methods: {\n savePopupRef(ref) {\n this.popupRef = ref;\n },\n\n getInputElement() {\n const { $slots, placeholder } = this;\n const children = filterEmpty($slots.default);\n const element = children.length ? children[0] : <Input lazy={false} />;\n return <InputElement placeholder={placeholder}>{element}</InputElement>;\n },\n\n focus() {\n if (this.$refs.select) {\n this.$refs.select.focus();\n }\n },\n\n blur() {\n if (this.$refs.select) {\n this.$refs.select.blur();\n }\n },\n },\n\n render() {\n const { size, prefixCls: customizePrefixCls, optionLabelProp, dataSource, $slots } = this;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('select', customizePrefixCls);\n\n const cls = {\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-show-search`]: true,\n [`${prefixCls}-auto-complete`]: true,\n };\n\n let options;\n const childArray = filterEmpty($slots.dataSource);\n if (childArray.length) {\n options = childArray;\n } else {\n options = dataSource\n ? dataSource.map(item => {\n if (isValidElement(item)) {\n return item;\n }\n switch (typeof item) {\n case 'string':\n return <Option key={item}>{item}</Option>;\n case 'object':\n return <Option key={item.value}>{item.text}</Option>;\n default:\n throw new Error(\n 'AutoComplete[dataSource] only supports type `string[] | Object[]`.',\n );\n }\n })\n : [];\n }\n const selectProps = {\n props: {\n ...getOptionProps(this),\n mode: Select.SECRET_COMBOBOX_MODE_DO_NOT_USE,\n optionLabelProp,\n getInputElement: this.getInputElement,\n notFoundContent: getComponentFromProp(this, 'notFoundContent'),\n placeholder: '',\n },\n class: cls,\n ref: 'select',\n on: getListeners(this),\n };\n return <Select {...selectProps}>{options}</Select>;\n },\n};\n\n/* istanbul ignore next */\nAutoComplete.install = function(Vue) {\n Vue.use(Base);\n Vue.component(AutoComplete.name, AutoComplete);\n Vue.component(AutoComplete.Option.name, AutoComplete.Option);\n Vue.component(AutoComplete.OptGroup.name, AutoComplete.OptGroup);\n};\n\nexport default AutoComplete;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../select/style';\nimport '../../input/style';\n","// extracted by mini-css-extract-plugin","import { ConfigConsumerProps } from '../config-provider';\nimport Icon from '../icon';\nimport { getListeners, getComponentFromProp } from '../_util/props-util';\nimport PropTypes from '../_util/vue-types';\n\nexport default {\n name: 'AAvatar',\n props: {\n prefixCls: {\n type: String,\n default: undefined,\n },\n shape: {\n validator: val => ['circle', 'square'].includes(val),\n default: 'circle',\n },\n size: {\n validator: val => {\n return typeof val === 'number' || ['small', 'large', 'default'].includes(val);\n },\n default: 'default',\n },\n src: String,\n /** Srcset of image avatar */\n srcSet: String,\n icon: PropTypes.any,\n alt: String,\n loadError: Function,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n isImgExist: true,\n isMounted: false,\n scale: 1,\n };\n },\n watch: {\n src() {\n this.$nextTick(() => {\n this.isImgExist = true;\n this.scale = 1;\n // force uodate for position\n this.$forceUpdate();\n });\n },\n },\n mounted() {\n this.$nextTick(() => {\n this.setScale();\n this.isMounted = true;\n });\n },\n updated() {\n this.$nextTick(() => {\n this.setScale();\n });\n },\n methods: {\n setScale() {\n if (!this.$refs.avatarChildren || !this.$refs.avatarNode) {\n return;\n }\n const childrenWidth = this.$refs.avatarChildren.offsetWidth; // offsetWidth avoid affecting be transform scale\n const nodeWidth = this.$refs.avatarNode.offsetWidth;\n // denominator is 0 is no meaning\n if (\n childrenWidth === 0 ||\n nodeWidth === 0 ||\n (this.lastChildrenWidth === childrenWidth && this.lastNodeWidth === nodeWidth)\n ) {\n return;\n }\n this.lastChildrenWidth = childrenWidth;\n this.lastNodeWidth = nodeWidth;\n // add 4px gap for each side to get better performance\n this.scale = nodeWidth - 8 < childrenWidth ? (nodeWidth - 8) / childrenWidth : 1;\n },\n handleImgLoadError() {\n const { loadError } = this.$props;\n const errorFlag = loadError ? loadError() : undefined;\n if (errorFlag !== false) {\n this.isImgExist = false;\n }\n },\n },\n render() {\n const { prefixCls: customizePrefixCls, shape, size, src, alt, srcSet } = this.$props;\n const icon = getComponentFromProp(this, 'icon');\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('avatar', customizePrefixCls);\n\n const { isImgExist, scale, isMounted } = this.$data;\n\n const sizeCls = {\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n };\n\n const classString = {\n [prefixCls]: true,\n ...sizeCls,\n [`${prefixCls}-${shape}`]: shape,\n [`${prefixCls}-image`]: src && isImgExist,\n [`${prefixCls}-icon`]: icon,\n };\n\n const sizeStyle =\n typeof size === 'number'\n ? {\n width: `${size}px`,\n height: `${size}px`,\n lineHeight: `${size}px`,\n fontSize: icon ? `${size / 2}px` : '18px',\n }\n : {};\n\n let children = this.$slots.default;\n if (src && isImgExist) {\n children = <img src={src} srcSet={srcSet} onError={this.handleImgLoadError} alt={alt} />;\n } else if (icon) {\n if (typeof icon === 'string') {\n children = <Icon type={icon} />;\n } else {\n children = icon;\n }\n } else {\n const childrenNode = this.$refs.avatarChildren;\n if (childrenNode || scale !== 1) {\n const transformString = `scale(${scale}) translateX(-50%)`;\n const childrenStyle = {\n msTransform: transformString,\n WebkitTransform: transformString,\n transform: transformString,\n };\n const sizeChildrenStyle =\n typeof size === 'number'\n ? {\n lineHeight: `${size}px`,\n }\n : {};\n children = (\n <span\n class={`${prefixCls}-string`}\n ref=\"avatarChildren\"\n style={{ ...sizeChildrenStyle, ...childrenStyle }}\n >\n {children}\n </span>\n );\n } else {\n const childrenStyle = {};\n if (!isMounted) {\n childrenStyle.opacity = 0;\n }\n children = (\n <span class={`${prefixCls}-string`} ref=\"avatarChildren\" style={{ opacity: 0 }}>\n {children}\n </span>\n );\n }\n }\n return (\n <span ref=\"avatarNode\" {...{ on: getListeners(this), class: classString, style: sizeStyle }}>\n {children}\n </span>\n );\n },\n};\n","import Avatar from './Avatar';\nimport Base from '../base';\n\n/* istanbul ignore next */\nAvatar.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Avatar.name, Avatar);\n};\n\nexport default Avatar;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport getScroll from '../_util/getScroll';\nimport BaseMixin from '../_util/BaseMixin';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Base from '../base';\nimport { getListeners } from '../_util/props-util';\nimport scrollTo from '../_util/scrollTo';\n\nfunction getDefaultTarget() {\n return window;\n}\n\nconst BackTopProps = {\n visibilityHeight: PropTypes.number,\n // onClick?: React.MouseEventHandler<any>;\n target: PropTypes.func,\n prefixCls: PropTypes.string,\n // visible: PropTypes.bool, // Only for test. Don't use it.\n};\n\nconst BackTop = {\n name: 'ABackTop',\n mixins: [BaseMixin],\n props: {\n ...BackTopProps,\n visibilityHeight: PropTypes.number.def(400),\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n this.scrollEvent = null;\n return {\n visible: false,\n };\n },\n mounted() {\n this.$nextTick(() => {\n const getTarget = this.target || getDefaultTarget;\n this.scrollEvent = addEventListener(getTarget(), 'scroll', this.handleScroll);\n this.handleScroll();\n });\n },\n\n beforeDestroy() {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n },\n methods: {\n getCurrentScrollTop() {\n const getTarget = this.target || getDefaultTarget;\n const targetNode = getTarget();\n if (targetNode === window) {\n return window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;\n }\n return targetNode.scrollTop;\n },\n\n scrollToTop(e) {\n const { target = getDefaultTarget } = this;\n scrollTo(0, {\n getContainer: target,\n });\n this.$emit('click', e);\n },\n\n handleScroll() {\n const { visibilityHeight, target = getDefaultTarget } = this;\n const scrollTop = getScroll(target(), true);\n this.setState({\n visible: scrollTop > visibilityHeight,\n });\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, $slots } = this;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('back-top', customizePrefixCls);\n\n const defaultElement = (\n <div class={`${prefixCls}-content`}>\n <div class={`${prefixCls}-icon`} />\n </div>\n );\n const divProps = {\n on: {\n ...getListeners(this),\n click: this.scrollToTop,\n },\n class: prefixCls,\n };\n\n const backTopBtn = this.visible ? (\n <div {...divProps}>{$slots.default || defaultElement}</div>\n ) : null;\n const transitionProps = getTransitionProps('fade');\n return <transition {...transitionProps}>{backTopBtn}</transition>;\n },\n};\n\n/* istanbul ignore next */\nBackTop.install = function(Vue) {\n Vue.use(Base);\n Vue.component(BackTop.name, BackTop);\n};\n\nexport default BackTop;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport ScrollNumber from './ScrollNumber';\nimport { PresetColorTypes } from '../_util/colors';\nimport classNames from 'classnames';\nimport {\n initDefaultProps,\n filterEmpty,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport isNumeric from '../_util/isNumeric';\nimport { ConfigConsumerProps } from '../config-provider';\n\nconst BadgeProps = {\n /** Number to show in badge */\n count: PropTypes.any,\n showZero: PropTypes.bool,\n /** Max count to show */\n overflowCount: PropTypes.number,\n /** whether to show red dot without number */\n dot: PropTypes.bool,\n prefixCls: PropTypes.string,\n scrollNumberPrefixCls: PropTypes.string,\n status: PropTypes.oneOf(['success', 'processing', 'default', 'error', 'warning']),\n color: PropTypes.string,\n text: PropTypes.string,\n offset: PropTypes.array,\n numberStyle: PropTypes.object.def(() => ({})),\n title: PropTypes.string,\n};\nfunction isPresetColor(color) {\n return PresetColorTypes.indexOf(color) !== -1;\n}\nexport default {\n name: 'ABadge',\n props: initDefaultProps(BadgeProps, {\n showZero: false,\n dot: false,\n overflowCount: 99,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n getNumberedDispayCount() {\n const { overflowCount } = this.$props;\n const count = this.badgeCount;\n const displayCount = count > overflowCount ? `${overflowCount}+` : count;\n return displayCount;\n },\n\n getDispayCount() {\n const isDot = this.isDot();\n // dot mode don't need count\n if (isDot) {\n return '';\n }\n return this.getNumberedDispayCount();\n },\n\n getScrollNumberTitle() {\n const { title } = this.$props;\n const count = this.badgeCount;\n if (title) {\n return title;\n }\n return typeof count === 'string' || typeof count === 'number' ? count : undefined;\n },\n\n getStyleWithOffset() {\n const { offset, numberStyle } = this.$props;\n return offset\n ? {\n right: `${-parseInt(offset[0], 10)}px`,\n marginTop: isNumeric(offset[1]) ? `${offset[1]}px` : offset[1],\n ...numberStyle,\n }\n : { ...numberStyle };\n },\n getBadgeClassName(prefixCls) {\n const children = filterEmpty(this.$slots.default);\n const hasStatus = this.hasStatus();\n return classNames(prefixCls, {\n [`${prefixCls}-status`]: hasStatus,\n [`${prefixCls}-dot-status`]: hasStatus && this.dot && !this.isZero(),\n [`${prefixCls}-not-a-wrapper`]: !children.length,\n });\n },\n hasStatus() {\n const { status, color } = this.$props;\n return !!status || !!color;\n },\n isZero() {\n const numberedDispayCount = this.getNumberedDispayCount();\n return numberedDispayCount === '0' || numberedDispayCount === 0;\n },\n\n isDot() {\n const { dot } = this.$props;\n const isZero = this.isZero();\n return (dot && !isZero) || this.hasStatus();\n },\n\n isHidden() {\n const { showZero } = this.$props;\n const displayCount = this.getDispayCount();\n const isZero = this.isZero();\n const isDot = this.isDot();\n const isEmpty = displayCount === null || displayCount === undefined || displayCount === '';\n return (isEmpty || (isZero && !showZero)) && !isDot;\n },\n\n renderStatusText(prefixCls) {\n const { text } = this.$props;\n const hidden = this.isHidden();\n return hidden || !text ? null : <span class={`${prefixCls}-status-text`}>{text}</span>;\n },\n\n renderDispayComponent() {\n const count = this.badgeCount;\n const customNode = count;\n if (!customNode || typeof customNode !== 'object') {\n return undefined;\n }\n return cloneElement(customNode, {\n style: this.getStyleWithOffset(),\n });\n },\n\n renderBadgeNumber(prefixCls, scrollNumberPrefixCls) {\n const { status, color } = this.$props;\n const count = this.badgeCount;\n const displayCount = this.getDispayCount();\n const isDot = this.isDot();\n const hidden = this.isHidden();\n\n const scrollNumberCls = {\n [`${prefixCls}-dot`]: isDot,\n [`${prefixCls}-count`]: !isDot,\n [`${prefixCls}-multiple-words`]:\n !isDot && count && count.toString && count.toString().length > 1,\n [`${prefixCls}-status-${status}`]: !!status,\n [`${prefixCls}-status-${color}`]: isPresetColor(color),\n };\n\n let statusStyle = this.getStyleWithOffset();\n if (color && !isPresetColor(color)) {\n statusStyle = statusStyle || {};\n statusStyle.background = color;\n }\n\n return hidden ? null : (\n <ScrollNumber\n prefixCls={scrollNumberPrefixCls}\n data-show={!hidden}\n v-show={!hidden}\n className={scrollNumberCls}\n count={displayCount}\n displayComponent={this.renderDispayComponent()} // <Badge status=\"success\" count={<Icon type=\"xxx\" />}></Badge>\n title={this.getScrollNumberTitle()}\n style={statusStyle}\n key=\"scrollNumber\"\n />\n );\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n scrollNumberPrefixCls: customizeScrollNumberPrefixCls,\n status,\n text,\n color,\n $slots,\n } = this;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('badge', customizePrefixCls);\n const scrollNumberPrefixCls = getPrefixCls('scroll-number', customizeScrollNumberPrefixCls);\n\n const children = filterEmpty($slots.default);\n let count = getComponentFromProp(this, 'count');\n if (Array.isArray(count)) {\n count = count[0];\n }\n this.badgeCount = count;\n const scrollNumber = this.renderBadgeNumber(prefixCls, scrollNumberPrefixCls);\n const statusText = this.renderStatusText(prefixCls);\n const statusCls = classNames({\n [`${prefixCls}-status-dot`]: this.hasStatus(),\n [`${prefixCls}-status-${status}`]: !!status,\n [`${prefixCls}-status-${color}`]: isPresetColor(color),\n });\n const statusStyle = {};\n if (color && !isPresetColor(color)) {\n statusStyle.background = color;\n }\n // <Badge status=\"success\" />\n if (!children.length && this.hasStatus()) {\n const styleWithOffset = this.getStyleWithOffset();\n const statusTextColor = styleWithOffset && styleWithOffset.color;\n return (\n <span\n {...{ on: getListeners(this) }}\n class={this.getBadgeClassName(prefixCls)}\n style={styleWithOffset}\n >\n <span class={statusCls} style={statusStyle} />\n <span style={{ color: statusTextColor }} class={`${prefixCls}-status-text`}>\n {text}\n </span>\n </span>\n );\n }\n\n const transitionProps = getTransitionProps(children.length ? `${prefixCls}-zoom` : '');\n\n return (\n <span {...{ on: getListeners(this) }} class={this.getBadgeClassName(prefixCls)}>\n {children}\n <transition {...transitionProps}>{scrollNumber}</transition>\n {statusText}\n </span>\n );\n },\n};\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getStyle } from '../_util/props-util';\nimport omit from 'omit.js';\nimport { cloneElement } from '../_util/vnode';\nimport { ConfigConsumerProps } from '../config-provider';\n\nfunction getNumberArray(num) {\n return num\n ? num\n .toString()\n .split('')\n .reverse()\n .map(i => {\n const current = Number(i);\n return isNaN(current) ? i : current;\n })\n : [];\n}\n\nconst ScrollNumberProps = {\n prefixCls: PropTypes.string,\n count: PropTypes.any,\n component: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.number, PropTypes.string, null]),\n displayComponent: PropTypes.any,\n className: PropTypes.object,\n};\n\nexport default {\n mixins: [BaseMixin],\n props: ScrollNumberProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n animateStarted: true,\n sCount: this.count,\n };\n },\n watch: {\n count() {\n this.lastCount = this.sCount;\n this.setState({\n animateStarted: true,\n });\n },\n },\n updated() {\n const { animateStarted, count } = this;\n if (animateStarted) {\n this.clearTimeout();\n // Let browser has time to reset the scroller before actually\n // performing the transition.\n this.timeout = setTimeout(() => {\n this.setState(\n {\n animateStarted: false,\n sCount: count,\n },\n this.onAnimated,\n );\n });\n }\n },\n beforeDestroy() {\n this.clearTimeout();\n },\n methods: {\n clearTimeout() {\n if (this.timeout) {\n clearTimeout(this.timeout);\n this.timeout = undefined;\n }\n },\n getPositionByNum(num, i) {\n const { sCount } = this;\n const currentCount = Math.abs(Number(sCount));\n const lastCount = Math.abs(Number(this.lastCount));\n const currentDigit = Math.abs(getNumberArray(sCount)[i]);\n const lastDigit = Math.abs(getNumberArray(this.lastCount)[i]);\n\n if (this.animateStarted) {\n return 10 + num;\n }\n // 同方向则在同一侧切换数字\n if (currentCount > lastCount) {\n if (currentDigit >= lastDigit) {\n return 10 + num;\n }\n return 20 + num;\n }\n if (currentDigit <= lastDigit) {\n return 10 + num;\n }\n return num;\n },\n onAnimated() {\n this.$emit('animated');\n },\n\n renderNumberList(position, className) {\n const childrenToReturn = [];\n for (let i = 0; i < 30; i++) {\n childrenToReturn.push(\n <p\n key={i.toString()}\n class={classNames(className, {\n current: position === i,\n })}\n >\n {i % 10}\n </p>,\n );\n }\n\n return childrenToReturn;\n },\n renderCurrentNumber(prefixCls, num, i) {\n if (typeof num === 'number') {\n const position = this.getPositionByNum(num, i);\n const removeTransition =\n this.animateStarted || getNumberArray(this.lastCount)[i] === undefined;\n const style = {\n transition: removeTransition ? 'none' : undefined,\n msTransform: `translateY(${-position * 100}%)`,\n WebkitTransform: `translateY(${-position * 100}%)`,\n transform: `translateY(${-position * 100}%)`,\n };\n return (\n <span class={`${prefixCls}-only`} style={style} key={i}>\n {this.renderNumberList(position, `${prefixCls}-only-unit`)}\n </span>\n );\n }\n return (\n <span key=\"symbol\" class={`${prefixCls}-symbol`}>\n {num}\n </span>\n );\n },\n\n renderNumberElement(prefixCls) {\n const { sCount } = this;\n if (sCount && Number(sCount) % 1 === 0) {\n return getNumberArray(sCount)\n .map((num, i) => this.renderCurrentNumber(prefixCls, num, i))\n .reverse();\n }\n return sCount;\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n title,\n component: Tag = 'sup',\n displayComponent,\n className,\n } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('scroll-number', customizePrefixCls);\n if (displayComponent) {\n return cloneElement(displayComponent, {\n class: `${prefixCls}-custom-component`,\n });\n }\n const style = getStyle(this, true);\n // fix https://fb.me/react-unknown-prop\n const restProps = omit(this.$props, ['count', 'component', 'prefixCls', 'displayComponent']);\n const newProps = {\n props: {\n ...restProps,\n },\n attrs: {\n title,\n },\n style,\n class: classNames(prefixCls, className),\n };\n // allow specify the border\n // mock border-color by box-shadow for compatible with old usage:\n // <Badge count={4} style={{ backgroundColor: '#fff', color: '#999', borderColor: '#d9d9d9' }} />\n if (style && style.borderColor) {\n newProps.style.boxShadow = `0 0 0 1px ${style.borderColor} inset`;\n }\n\n return <Tag {...newProps}>{this.renderNumberElement(prefixCls)}</Tag>;\n },\n};\n","import Badge from './Badge';\nimport Base from '../base';\n\n/* istanbul ignore next */\nBadge.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Badge.name, Badge);\n};\n\nexport default Badge;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import antDirective from '../_util/antDirective';\nconst base = {};\nconst install = function(Vue) {\n base.Vue = Vue;\n Vue.use(antDirective);\n};\nbase.install = install;\n\nexport default base;\n","// empty file prevent babel-plugin-import error\nimport '../../style/index.less';\n","import PropTypes from '../_util/vue-types';\nimport { cloneElement } from '../_util/vnode';\nimport { filterEmpty, getComponentFromProp, getSlotOptions } from '../_util/props-util';\nimport warning from '../_util/warning';\nimport { ConfigConsumerProps } from '../config-provider';\nimport BreadcrumbItem from './BreadcrumbItem';\nimport Menu from '../menu';\n\nconst Route = PropTypes.shape({\n path: PropTypes.string,\n breadcrumbName: PropTypes.string,\n children: PropTypes.array,\n}).loose;\n\nconst BreadcrumbProps = {\n prefixCls: PropTypes.string,\n routes: PropTypes.arrayOf(Route),\n params: PropTypes.any,\n separator: PropTypes.any,\n itemRender: PropTypes.func,\n};\n\nfunction getBreadcrumbName(route, params) {\n if (!route.breadcrumbName) {\n return null;\n }\n const paramsKeys = Object.keys(params).join('|');\n const name = route.breadcrumbName.replace(\n new RegExp(`:(${paramsKeys})`, 'g'),\n (replacement, key) => params[key] || replacement,\n );\n return name;\n}\n\nexport default {\n name: 'ABreadcrumb',\n props: BreadcrumbProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n defaultItemRender({ route, params, routes, paths }) {\n const isLastItem = routes.indexOf(route) === routes.length - 1;\n const name = getBreadcrumbName(route, params);\n return isLastItem ? <span>{name}</span> : <a href={`#/${paths.join('/')}`}>{name}</a>;\n },\n getPath(path, params) {\n path = (path || '').replace(/^\\//, '');\n Object.keys(params).forEach(key => {\n path = path.replace(`:${key}`, params[key]);\n });\n return path;\n },\n\n addChildPath(paths, childPath, params) {\n const originalPaths = [...paths];\n const path = this.getPath(childPath, params);\n if (path) {\n originalPaths.push(path);\n }\n return originalPaths;\n },\n\n genForRoutes({ routes = [], params = {}, separator, itemRender = this.defaultItemRender }) {\n const paths = [];\n return routes.map(route => {\n const path = this.getPath(route.path, params);\n\n if (path) {\n paths.push(path);\n }\n // generated overlay by route.children\n let overlay = null;\n if (route.children && route.children.length) {\n overlay = (\n <Menu>\n {route.children.map(child => (\n <Menu.Item key={child.path || child.breadcrumbName}>\n {itemRender({\n route: child,\n params,\n routes,\n paths: this.addChildPath(paths, child.path, params),\n h: this.$createElement,\n })}\n </Menu.Item>\n ))}\n </Menu>\n );\n }\n\n return (\n <BreadcrumbItem\n overlay={overlay}\n separator={separator}\n key={path || route.breadcrumbName}\n >\n {itemRender({ route, params, routes, paths, h: this.$createElement })}\n </BreadcrumbItem>\n );\n });\n },\n },\n render() {\n let crumbs;\n const { prefixCls: customizePrefixCls, routes, params = {}, $slots, $scopedSlots } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('breadcrumb', customizePrefixCls);\n\n const children = filterEmpty($slots.default);\n const separator = getComponentFromProp(this, 'separator');\n const itemRender = this.itemRender || $scopedSlots.itemRender || this.defaultItemRender;\n if (routes && routes.length > 0) {\n // generated by route\n crumbs = this.genForRoutes({\n routes,\n params,\n separator,\n itemRender,\n });\n } else if (children.length) {\n crumbs = children.map((element, index) => {\n warning(\n getSlotOptions(element).__ANT_BREADCRUMB_ITEM ||\n getSlotOptions(element).__ANT_BREADCRUMB_SEPARATOR,\n 'Breadcrumb',\n \"Only accepts Breadcrumb.Item and Breadcrumb.Separator as it's children\",\n );\n return cloneElement(element, {\n props: { separator },\n key: index,\n });\n });\n }\n return <div class={prefixCls}>{crumbs}</div>;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { hasProp, getComponentFromProp } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport DropDown from '../dropdown/dropdown';\nimport Icon from '../icon';\n\nexport default {\n name: 'ABreadcrumbItem',\n __ANT_BREADCRUMB_ITEM: true,\n props: {\n prefixCls: PropTypes.string,\n href: PropTypes.string,\n separator: PropTypes.any.def('/'),\n overlay: PropTypes.any,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n /**\n * if overlay is have\n * Wrap a DropDown\n */\n renderBreadcrumbNode(breadcrumbItem, prefixCls) {\n const overlay = getComponentFromProp(this, 'overlay');\n if (overlay) {\n return (\n <DropDown overlay={overlay} placement=\"bottomCenter\">\n <span class={`${prefixCls}-overlay-link`}>\n {breadcrumbItem}\n <Icon type=\"down\" />\n </span>\n </DropDown>\n );\n }\n return breadcrumbItem;\n },\n },\n render() {\n const { prefixCls: customizePrefixCls, $slots } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('breadcrumb', customizePrefixCls);\n const separator = getComponentFromProp(this, 'separator');\n const children = $slots.default;\n let link;\n if (hasProp(this, 'href')) {\n link = <a class={`${prefixCls}-link`}>{children}</a>;\n } else {\n link = <span class={`${prefixCls}-link`}>{children}</span>;\n }\n // wrap to dropDown\n link = this.renderBreadcrumbNode(link, prefixCls);\n if (children) {\n return (\n <span>\n {link}\n {separator && separator !== '' && (\n <span class={`${prefixCls}-separator`}>{separator}</span>\n )}\n </span>\n );\n }\n return null;\n },\n};\n","import { ConfigConsumerProps } from '../config-provider';\nimport PropTypes from '../_util/vue-types';\n\nexport default {\n name: 'ABreadcrumbSeparator',\n __ANT_BREADCRUMB_SEPARATOR: true,\n props: {\n prefixCls: PropTypes.string,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls, $slots } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('breadcrumb', customizePrefixCls);\n\n const children = $slots.default;\n return <span class={`${prefixCls}-separator`}>{children || '/'}</span>;\n },\n};\n","import Breadcrumb from './Breadcrumb';\nimport BreadcrumbItem from './BreadcrumbItem';\nimport BreadcrumbSeparator from './BreadcrumbSeparator';\nimport Base from '../base';\n\nBreadcrumb.Item = BreadcrumbItem;\nBreadcrumb.Separator = BreadcrumbSeparator;\n\n/* istanbul ignore next */\nBreadcrumb.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Breadcrumb.name, Breadcrumb);\n Vue.component(BreadcrumbItem.name, BreadcrumbItem);\n Vue.component(BreadcrumbSeparator.name, BreadcrumbSeparator);\n};\n\nexport default Breadcrumb;\n","import '../../style/index.less';\nimport './index.less';\n\nimport '../../menu/style';\nimport '../../dropdown/style';\n","// extracted by mini-css-extract-plugin","import { filterEmpty } from '../_util/props-util';\nimport PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider';\n\nconst ButtonGroupProps = {\n prefixCls: PropTypes.string,\n size: {\n validator(value) {\n return ['small', 'large', 'default'].includes(value);\n },\n },\n};\nexport { ButtonGroupProps };\nexport default {\n name: 'AButtonGroup',\n props: ButtonGroupProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n sizeMap: {\n large: 'lg',\n small: 'sm',\n },\n };\n },\n render() {\n const { prefixCls: customizePrefixCls, size, $slots } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('btn-group', customizePrefixCls);\n\n // large => lg\n // small => sm\n let sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n default:\n break;\n }\n const classes = {\n [`${prefixCls}`]: true,\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n };\n return <div class={classes}>{filterEmpty($slots.default)}</div>;\n },\n};\n","import Wave from '../_util/wave';\nimport Icon from '../icon';\nimport buttonTypes from './buttonTypes';\nimport { filterEmpty, getListeners, getComponentFromProp } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\n\nconst rxTwoCNChar = /^[\\u4e00-\\u9fa5]{2}$/;\nconst isTwoCNChar = rxTwoCNChar.test.bind(rxTwoCNChar);\nconst props = buttonTypes();\nexport default {\n name: 'AButton',\n inheritAttrs: false,\n __ANT_BUTTON: true,\n props,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n sizeMap: {\n large: 'lg',\n small: 'sm',\n },\n sLoading: !!this.loading,\n hasTwoCNChar: false,\n };\n },\n computed: {\n classes() {\n const {\n prefixCls: customizePrefixCls,\n type,\n shape,\n size,\n hasTwoCNChar,\n sLoading,\n ghost,\n block,\n icon,\n $slots,\n } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('btn', customizePrefixCls);\n const autoInsertSpace = this.configProvider.autoInsertSpaceInButton !== false;\n\n // large => lg\n // small => sm\n let sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n default:\n break;\n }\n const iconType = sLoading ? 'loading' : icon;\n const children = filterEmpty($slots.default);\n return {\n [`${prefixCls}`]: true,\n [`${prefixCls}-${type}`]: type,\n [`${prefixCls}-${shape}`]: shape,\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-icon-only`]: children.length === 0 && iconType,\n [`${prefixCls}-loading`]: sLoading,\n [`${prefixCls}-background-ghost`]: ghost || type === 'ghost',\n [`${prefixCls}-two-chinese-chars`]: hasTwoCNChar && autoInsertSpace,\n [`${prefixCls}-block`]: block,\n };\n },\n },\n watch: {\n loading(val, preVal) {\n if (preVal && typeof preVal !== 'boolean') {\n clearTimeout(this.delayTimeout);\n }\n if (val && typeof val !== 'boolean' && val.delay) {\n this.delayTimeout = setTimeout(() => {\n this.sLoading = !!val;\n }, val.delay);\n } else {\n this.sLoading = !!val;\n }\n },\n },\n mounted() {\n this.fixTwoCNChar();\n },\n updated() {\n this.fixTwoCNChar();\n },\n beforeDestroy() {\n // if (this.timeout) {\n // clearTimeout(this.timeout)\n // }\n if (this.delayTimeout) {\n clearTimeout(this.delayTimeout);\n }\n },\n methods: {\n fixTwoCNChar() {\n // Fix for HOC usage like <FormatMessage />\n const node = this.$refs.buttonNode;\n if (!node) {\n return;\n }\n const buttonText = node.textContent;\n if (this.isNeedInserted() && isTwoCNChar(buttonText)) {\n if (!this.hasTwoCNChar) {\n this.hasTwoCNChar = true;\n }\n } else if (this.hasTwoCNChar) {\n this.hasTwoCNChar = false;\n }\n },\n handleClick(event) {\n const { sLoading } = this.$data;\n if (sLoading) {\n return;\n }\n this.$emit('click', event);\n },\n insertSpace(child, needInserted) {\n const SPACE = needInserted ? ' ' : '';\n if (typeof child.text === 'string') {\n let text = child.text.trim();\n if (isTwoCNChar(text)) {\n text = text.split('').join(SPACE);\n }\n return <span>{text}</span>;\n }\n return child;\n },\n isNeedInserted() {\n const { $slots, type } = this;\n const icon = getComponentFromProp(this, 'icon');\n return $slots.default && $slots.default.length === 1 && !icon && type !== 'link';\n },\n },\n render() {\n const { type, htmlType, classes, disabled, handleClick, sLoading, $slots, $attrs } = this;\n const icon = getComponentFromProp(this, 'icon');\n const buttonProps = {\n attrs: {\n ...$attrs,\n disabled,\n },\n class: classes,\n on: {\n ...getListeners(this),\n click: handleClick,\n },\n };\n const iconType = sLoading ? 'loading' : icon;\n const iconNode = iconType ? <Icon type={iconType} /> : null;\n const children = filterEmpty($slots.default);\n const autoInsertSpace = this.configProvider.autoInsertSpaceInButton !== false;\n const kids = children.map(child =>\n this.insertSpace(child, this.isNeedInserted() && autoInsertSpace),\n );\n\n if ($attrs.href !== undefined) {\n return (\n <a {...buttonProps} ref=\"buttonNode\">\n {iconNode}\n {kids}\n </a>\n );\n }\n\n const buttonNode = (\n <button {...buttonProps} ref=\"buttonNode\" type={htmlType || 'button'}>\n {iconNode}\n {kids}\n </button>\n );\n\n if (type === 'link') {\n return buttonNode;\n }\n\n return <Wave>{buttonNode}</Wave>;\n },\n};\n","import PropTypes from '../_util/vue-types';\nexport default () => ({\n prefixCls: PropTypes.string,\n type: PropTypes.string,\n htmlType: PropTypes.oneOf(['button', 'submit', 'reset']).def('button'),\n icon: PropTypes.any,\n shape: PropTypes.oneOf(['circle', 'circle-outline', 'round']),\n size: PropTypes.oneOf(['small', 'large', 'default']).def('default'),\n loading: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n disabled: PropTypes.bool,\n ghost: PropTypes.bool,\n block: PropTypes.bool,\n});\n","import Button from './button';\nimport ButtonGroup from './button-group';\nimport Base from '../base';\n\nButton.Group = ButtonGroup;\n\n/* istanbul ignore next */\nButton.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Button.name, Button);\n Vue.component(ButtonGroup.name, ButtonGroup);\n};\n\nexport default Button;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import Select from '../select';\nimport { Group, Button } from '../radio';\nimport PropTypes from '../_util/vue-types';\nimport { initDefaultProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\n\nconst { Option } = Select;\n\nfunction getMonthsLocale(value) {\n const current = value.clone();\n const localeData = value.localeData();\n const months = [];\n for (let i = 0; i < 12; i++) {\n current.month(i);\n months.push(localeData.monthsShort(current));\n }\n return months;\n}\n\nexport const HeaderProps = {\n prefixCls: PropTypes.string,\n locale: PropTypes.any,\n fullscreen: PropTypes.boolean,\n yearSelectOffset: PropTypes.number,\n yearSelectTotal: PropTypes.number,\n type: PropTypes.string,\n // onValueChange: PropTypes.(value: moment.Moment) => void,\n // onTypeChange: PropTypes.(type: string) => void,\n value: PropTypes.any,\n validRange: PropTypes.array,\n headerRender: PropTypes.func,\n};\n\nexport default {\n props: initDefaultProps(HeaderProps, {\n yearSelectOffset: 10,\n yearSelectTotal: 20,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n // private calenderHeaderNode: HTMLDivElement;\n methods: {\n getYearSelectElement(prefixCls, year) {\n const { yearSelectOffset, yearSelectTotal, locale = {}, fullscreen, validRange } = this;\n let start = year - yearSelectOffset;\n let end = start + yearSelectTotal;\n if (validRange) {\n start = validRange[0].get('year');\n end = validRange[1].get('year') + 1;\n }\n const suffix = locale.year === '年' ? '年' : '';\n\n const options = [];\n for (let index = start; index < end; index++) {\n options.push(<Option key={`${index}`}>{index + suffix}</Option>);\n }\n return (\n <Select\n size={fullscreen ? 'default' : 'small'}\n dropdownMatchSelectWidth={false}\n class={`${prefixCls}-year-select`}\n onChange={this.onYearChange}\n value={String(year)}\n getPopupContainer={() => this.getCalenderHeaderNode()}\n >\n {options}\n </Select>\n );\n },\n\n getMonthSelectElement(prefixCls, month, months) {\n const { fullscreen, validRange, value } = this;\n const options = [];\n let start = 0;\n let end = 12;\n if (validRange) {\n const [rangeStart, rangeEnd] = validRange;\n const currentYear = value.get('year');\n if (rangeEnd.get('year') === currentYear) {\n end = rangeEnd.get('month') + 1;\n }\n if (rangeStart.get('year') === currentYear) {\n start = rangeStart.get('month');\n }\n }\n for (let index = start; index < end; index++) {\n options.push(<Option key={`${index}`}>{months[index]}</Option>);\n }\n\n return (\n <Select\n size={fullscreen ? 'default' : 'small'}\n dropdownMatchSelectWidth={false}\n class={`${prefixCls}-month-select`}\n value={String(month)}\n onChange={this.onMonthChange}\n getPopupContainer={() => this.getCalenderHeaderNode()}\n >\n {options}\n </Select>\n );\n },\n\n onYearChange(year) {\n const { value, validRange } = this;\n const newValue = value.clone();\n newValue.year(parseInt(year, 10));\n // switch the month so that it remains within range when year changes\n if (validRange) {\n const [start, end] = validRange;\n const newYear = newValue.get('year');\n const newMonth = newValue.get('month');\n if (newYear === end.get('year') && newMonth > end.get('month')) {\n newValue.month(end.get('month'));\n }\n if (newYear === start.get('year') && newMonth < start.get('month')) {\n newValue.month(start.get('month'));\n }\n }\n this.$emit('valueChange', newValue);\n },\n\n onMonthChange(month) {\n const newValue = this.value.clone();\n newValue.month(parseInt(month, 10));\n this.$emit('valueChange', newValue);\n },\n\n onInternalTypeChange(e) {\n this.onTypeChange(e.target.value);\n },\n\n onTypeChange(val) {\n this.$emit('typeChange', val);\n },\n\n getCalenderHeaderNode() {\n return this.$refs.calenderHeaderNode;\n },\n getMonthYearSelections(getPrefixCls) {\n const { prefixCls: customizePrefixCls, type, value } = this.$props;\n\n const prefixCls = getPrefixCls('fullcalendar', customizePrefixCls);\n const yearReactNode = this.getYearSelectElement(prefixCls, value.year());\n const monthReactNode =\n type === 'month'\n ? this.getMonthSelectElement(prefixCls, value.month(), getMonthsLocale(value))\n : null;\n return {\n yearReactNode,\n monthReactNode,\n };\n },\n\n getTypeSwitch() {\n const { locale = {}, type, fullscreen } = this.$props;\n const size = fullscreen ? 'default' : 'small';\n return (\n <Group onChange={this.onInternalTypeChange} value={type} size={size}>\n <Button value=\"month\">{locale.month}</Button>\n <Button value=\"year\">{locale.year}</Button>\n </Group>\n );\n },\n onValueChange() {\n this.$emit('valueChange', ...arguments);\n },\n headerRenderCustom(headerRender) {\n const { type, value } = this.$props;\n return headerRender({\n value,\n type: type || 'month',\n onChange: this.onValueChange,\n onTypeChange: this.onTypeChange,\n });\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, headerRender } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('fullcalendar', customizePrefixCls);\n const typeSwitch = this.getTypeSwitch();\n const { yearReactNode, monthReactNode } = this.getMonthYearSelections(getPrefixCls);\n return headerRender ? (\n this.headerRenderCustom(headerRender)\n ) : (\n <div class={`${prefixCls}-header`} ref=\"calenderHeaderNode\">\n {yearReactNode}\n {monthReactNode}\n {typeSwitch}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps, hasProp, initDefaultProps, getListeners } from '../_util/props-util';\nimport * as moment from 'moment';\nimport FullCalendar from '../vc-calendar/src/FullCalendar';\nimport Header from './Header';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport interopDefault from '../_util/interopDefault';\nimport { ConfigConsumerProps } from '../config-provider';\nimport enUS from './locale/en_US';\nimport Base from '../base';\nimport { checkValidate, stringToMoment, momentToString, TimeType } from '../_util/moment-util';\n\nfunction noop() {\n return null;\n}\n\nfunction zerofixed(v) {\n if (v < 10) {\n return `0${v}`;\n }\n return `${v}`;\n}\nfunction isMomentArray(value) {\n return Array.isArray(value) && !!value.find(val => moment.isMoment(val));\n}\nexport const CalendarMode = PropTypes.oneOf(['month', 'year']);\n\nexport const CalendarProps = () => ({\n prefixCls: PropTypes.string,\n value: TimeType,\n defaultValue: TimeType,\n mode: CalendarMode,\n fullscreen: PropTypes.bool,\n // dateCellRender: PropTypes.func,\n // monthCellRender: PropTypes.func,\n // dateFullCellRender: PropTypes.func,\n // monthFullCellRender: PropTypes.func,\n locale: PropTypes.object,\n // onPanelChange?: (date?: moment.Moment, mode?: CalendarMode) => void;\n // onSelect?: (date?: moment.Moment) => void;\n disabledDate: PropTypes.func,\n validRange: PropTypes.custom(isMomentArray),\n headerRender: PropTypes.func,\n valueFormat: PropTypes.string,\n});\n\nconst Calendar = {\n name: 'ACalendar',\n mixins: [BaseMixin],\n props: initDefaultProps(CalendarProps(), {\n locale: {},\n fullscreen: true,\n }),\n model: {\n prop: 'value',\n event: 'change',\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const { value, defaultValue, valueFormat } = this;\n const sValue = value || defaultValue || interopDefault(moment)();\n checkValidate('Calendar', defaultValue, 'defaultValue', valueFormat);\n checkValidate('Calendar', value, 'value', valueFormat);\n this._sPrefixCls = undefined;\n return {\n sValue: stringToMoment(sValue, valueFormat),\n sMode: this.mode || 'month',\n };\n },\n watch: {\n value(val) {\n checkValidate('Calendar', val, 'value', this.valueFormat);\n this.setState({\n sValue: stringToMoment(val, this.valueFormat),\n });\n },\n mode(val) {\n this.setState({\n sMode: val,\n });\n },\n },\n methods: {\n onHeaderValueChange(value) {\n this.setValue(value, 'changePanel');\n },\n onHeaderTypeChange(mode) {\n this.sMode = mode;\n this.onPanelChange(this.sValue, mode);\n },\n onPanelChange(value, mode) {\n const val = this.valueFormat ? momentToString(value, this.valueFormat) : value;\n this.$emit('panelChange', val, mode);\n if (value !== this.sValue) {\n this.$emit('change', val);\n }\n },\n\n onSelect(value) {\n this.setValue(value, 'select');\n },\n setValue(value, way) {\n const prevValue = this.value ? stringToMoment(this.value, this.valueFormat) : this.sValue;\n const { sMode: mode, valueFormat } = this;\n if (!hasProp(this, 'value')) {\n this.setState({ sValue: value });\n }\n if (way === 'select') {\n if (prevValue && prevValue.month() !== value.month()) {\n this.onPanelChange(value, mode);\n }\n this.$emit('select', valueFormat ? momentToString(value, valueFormat) : value);\n } else if (way === 'changePanel') {\n this.onPanelChange(value, mode);\n }\n },\n getDateRange(validRange, disabledDate) {\n return current => {\n if (!current) {\n return false;\n }\n const [startDate, endDate] = validRange;\n const inRange = !current.isBetween(startDate, endDate, 'days', '[]');\n if (disabledDate) {\n return disabledDate(current) || inRange;\n }\n return inRange;\n };\n },\n getDefaultLocale() {\n const result = {\n ...enUS,\n ...this.$props.locale,\n };\n result.lang = {\n ...result.lang,\n ...(this.$props.locale || {}).lang,\n };\n return result;\n },\n monthCellRender2(value) {\n const { _sPrefixCls, $scopedSlots } = this;\n const monthCellRender = this.monthCellRender || $scopedSlots.monthCellRender || noop;\n return (\n <div class={`${_sPrefixCls}-month`}>\n <div class={`${_sPrefixCls}-value`}>{value.localeData().monthsShort(value)}</div>\n <div class={`${_sPrefixCls}-content`}>{monthCellRender(value)}</div>\n </div>\n );\n },\n\n dateCellRender2(value) {\n const { _sPrefixCls, $scopedSlots } = this;\n const dateCellRender = this.dateCellRender || $scopedSlots.dateCellRender || noop;\n return (\n <div class={`${_sPrefixCls}-date`}>\n <div class={`${_sPrefixCls}-value`}>{zerofixed(value.date())}</div>\n <div class={`${_sPrefixCls}-content`}>{dateCellRender(value)}</div>\n </div>\n );\n },\n\n renderCalendar(locale, localeCode) {\n const props = getOptionProps(this);\n const { sValue: value, sMode: mode, $scopedSlots } = this;\n if (value && localeCode) {\n value.locale(localeCode);\n }\n const {\n prefixCls: customizePrefixCls,\n fullscreen,\n dateFullCellRender,\n monthFullCellRender,\n } = props;\n const headerRender = this.headerRender || $scopedSlots.headerRender;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('fullcalendar', customizePrefixCls);\n\n // To support old version react.\n // Have to add prefixCls on the instance.\n // https://github.com/facebook/react/issues/12397\n this._sPrefixCls = prefixCls;\n\n let cls = '';\n if (fullscreen) {\n cls += ` ${prefixCls}-fullscreen`;\n }\n\n const monthCellRender =\n monthFullCellRender || $scopedSlots.monthFullCellRender || this.monthCellRender2;\n const dateCellRender =\n dateFullCellRender || $scopedSlots.dateFullCellRender || this.dateCellRender2;\n\n let disabledDate = props.disabledDate;\n\n if (props.validRange) {\n disabledDate = this.getDateRange(props.validRange, disabledDate);\n }\n const fullCalendarProps = {\n props: {\n ...props,\n Select: {},\n locale: locale.lang,\n type: mode === 'year' ? 'month' : 'date',\n prefixCls,\n showHeader: false,\n value,\n monthCellRender,\n dateCellRender,\n disabledDate,\n },\n on: {\n ...getListeners(this),\n select: this.onSelect,\n },\n };\n return (\n <div class={cls}>\n <Header\n fullscreen={fullscreen}\n type={mode}\n headerRender={headerRender}\n value={value}\n locale={locale.lang}\n prefixCls={prefixCls}\n onTypeChange={this.onHeaderTypeChange}\n onValueChange={this.onHeaderValueChange}\n validRange={props.validRange}\n />\n <FullCalendar {...fullCalendarProps} />\n </div>\n );\n },\n },\n\n render() {\n return (\n <LocaleReceiver\n componentName=\"Calendar\"\n defaultLocale={this.getDefaultLocale}\n scopedSlots={{ default: this.renderCalendar }}\n />\n );\n },\n};\n\n/* istanbul ignore next */\nCalendar.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Calendar.name, Calendar);\n};\nexport { HeaderProps } from './Header';\nexport default Calendar;\n","import en_US from '../../date-picker/locale/en_US';\nexport default en_US;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../select/style';\nimport '../../radio/style';\n","// extracted by mini-css-extract-plugin","import omit from 'omit.js';\nimport Tabs from '../tabs';\nimport Row from '../row';\nimport Col from '../col';\nimport PropTypes from '../_util/vue-types';\nimport {\n getComponentFromProp,\n getSlotOptions,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider';\n\nconst { TabPane } = Tabs;\nexport default {\n name: 'ACard',\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n title: PropTypes.any,\n extra: PropTypes.any,\n bordered: PropTypes.bool.def(true),\n bodyStyle: PropTypes.object,\n headStyle: PropTypes.object,\n loading: PropTypes.bool.def(false),\n hoverable: PropTypes.bool.def(false),\n type: PropTypes.string,\n size: PropTypes.oneOf(['default', 'small']),\n actions: PropTypes.any,\n tabList: PropTypes.array,\n tabBarExtraContent: PropTypes.any,\n activeTabKey: PropTypes.string,\n defaultActiveTabKey: PropTypes.string,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n widerPadding: false,\n };\n },\n methods: {\n getAction(actions) {\n const actionList = actions.map((action, index) => (\n <li style={{ width: `${100 / actions.length}%` }} key={`action-${index}`}>\n <span>{action}</span>\n </li>\n ));\n return actionList;\n },\n onTabChange(key) {\n this.$emit('tabChange', key);\n },\n isContainGrid(obj = []) {\n let containGrid;\n obj.forEach(element => {\n if (element && getSlotOptions(element).__ANT_CARD_GRID) {\n containGrid = true;\n }\n });\n return containGrid;\n },\n },\n render() {\n const {\n prefixCls: customizePrefixCls,\n headStyle = {},\n bodyStyle = {},\n loading,\n bordered = true,\n size = 'default',\n type,\n tabList,\n hoverable,\n activeTabKey,\n defaultActiveTabKey,\n } = this.$props;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('card', customizePrefixCls);\n\n const { $slots, $scopedSlots } = this;\n const tabBarExtraContent = getComponentFromProp(this, 'tabBarExtraContent');\n const classString = {\n [`${prefixCls}`]: true,\n [`${prefixCls}-loading`]: loading,\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-hoverable`]: !!hoverable,\n [`${prefixCls}-contain-grid`]: this.isContainGrid($slots.default),\n [`${prefixCls}-contain-tabs`]: tabList && tabList.length,\n [`${prefixCls}-${size}`]: size !== 'default',\n [`${prefixCls}-type-${type}`]: !!type,\n };\n\n const loadingBlockStyle =\n bodyStyle.padding === 0 || bodyStyle.padding === '0px' ? { padding: 24 } : undefined;\n\n const loadingBlock = (\n <div class={`${prefixCls}-loading-content`} style={loadingBlockStyle}>\n <Row gutter={8}>\n <Col span={22}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n </Row>\n <Row gutter={8}>\n <Col span={8}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n <Col span={15}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n </Row>\n <Row gutter={8}>\n <Col span={6}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n <Col span={18}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n </Row>\n <Row gutter={8}>\n <Col span={13}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n <Col span={9}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n </Row>\n <Row gutter={8}>\n <Col span={4}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n <Col span={3}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n <Col span={16}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n </Row>\n </div>\n );\n\n const hasActiveTabKey = activeTabKey !== undefined;\n const tabsProps = {\n props: {\n size: 'large',\n [hasActiveTabKey ? 'activeKey' : 'defaultActiveKey']: hasActiveTabKey\n ? activeTabKey\n : defaultActiveTabKey,\n tabBarExtraContent,\n },\n on: {\n change: this.onTabChange,\n },\n class: `${prefixCls}-head-tabs`,\n };\n\n let head;\n const tabs =\n tabList && tabList.length ? (\n <Tabs {...tabsProps}>\n {tabList.map(item => {\n const { tab: temp, scopedSlots = {} } = item;\n const name = scopedSlots.tab;\n const tab =\n temp !== undefined ? temp : $scopedSlots[name] ? $scopedSlots[name](item) : null;\n return <TabPane tab={tab} key={item.key} disabled={item.disabled} />;\n })}\n </Tabs>\n ) : null;\n const titleDom = getComponentFromProp(this, 'title');\n const extraDom = getComponentFromProp(this, 'extra');\n if (titleDom || extraDom || tabs) {\n head = (\n <div class={`${prefixCls}-head`} style={headStyle}>\n <div class={`${prefixCls}-head-wrapper`}>\n {titleDom && <div class={`${prefixCls}-head-title`}>{titleDom}</div>}\n {extraDom && <div class={`${prefixCls}-extra`}>{extraDom}</div>}\n </div>\n {tabs}\n </div>\n );\n }\n\n const children = $slots.default;\n const cover = getComponentFromProp(this, 'cover');\n const coverDom = cover ? <div class={`${prefixCls}-cover`}>{cover}</div> : null;\n const body = (\n <div class={`${prefixCls}-body`} style={bodyStyle}>\n {loading ? loadingBlock : children}\n </div>\n );\n const actions = filterEmpty(this.$slots.actions);\n const actionDom =\n actions && actions.length ? (\n <ul class={`${prefixCls}-actions`}>{this.getAction(actions)}</ul>\n ) : null;\n\n return (\n <div\n class={classString}\n ref=\"cardContainerRef\"\n {...{ on: omit(getListeners(this), ['tabChange', 'tab-change']) }}\n >\n {head}\n {coverDom}\n {children ? body : null}\n {actionDom}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider';\nimport { getListeners } from '../_util/props-util';\n\nexport default {\n name: 'ACardGrid',\n __ANT_CARD_GRID: true,\n props: {\n prefixCls: PropTypes.string,\n hoverable: PropTypes.bool,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls, hoverable = true } = this.$props;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('card', customizePrefixCls);\n\n const classString = {\n [`${prefixCls}-grid`]: true,\n [`${prefixCls}-grid-hoverable`]: hoverable,\n };\n return (\n <div {...{ on: getListeners(this) }} class={classString}>\n {this.$slots.default}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\n\nexport default {\n name: 'ACardMeta',\n props: {\n prefixCls: PropTypes.string,\n title: PropTypes.any,\n description: PropTypes.any,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls } = this.$props;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('card', customizePrefixCls);\n\n const classString = {\n [`${prefixCls}-meta`]: true,\n };\n\n const avatar = getComponentFromProp(this, 'avatar');\n const title = getComponentFromProp(this, 'title');\n const description = getComponentFromProp(this, 'description');\n\n const avatarDom = avatar ? <div class={`${prefixCls}-meta-avatar`}>{avatar}</div> : null;\n const titleDom = title ? <div class={`${prefixCls}-meta-title`}>{title}</div> : null;\n const descriptionDom = description ? (\n <div class={`${prefixCls}-meta-description`}>{description}</div>\n ) : null;\n const MetaDetail =\n titleDom || descriptionDom ? (\n <div class={`${prefixCls}-meta-detail`}>\n {titleDom}\n {descriptionDom}\n </div>\n ) : null;\n return (\n <div {...{ on: getListeners(this) }} class={classString}>\n {avatarDom}\n {MetaDetail}\n </div>\n );\n },\n};\n","import Card from './Card';\nimport Meta from './Meta';\nimport Grid from './Grid';\nimport Base from '../base';\nCard.Meta = Meta;\nCard.Grid = Grid;\n\n/* istanbul ignore next */\nCard.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Card.name, Card);\n Vue.component(Meta.name, Meta);\n Vue.component(Grid.name, Grid);\n};\n\nexport default Card;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../tabs/style';\nimport '../../row/style';\nimport '../../col/style';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport debounce from 'lodash/debounce';\nimport hasProp, {\n initDefaultProps,\n getComponentFromProp,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Base from '../base';\nimport warning from '../_util/warning';\nimport classNames from 'classnames';\n\n// matchMedia polyfill for\n// https://github.com/WickyNilliams/enquire.js/issues/82\nif (typeof window !== 'undefined') {\n const matchMediaPolyfill = mediaQuery => {\n return {\n media: mediaQuery,\n matches: false,\n addListener() {},\n removeListener() {},\n };\n };\n // ref: https://github.com/ant-design/ant-design/issues/18774\n if (!window.matchMedia) window.matchMedia = matchMediaPolyfill;\n}\n// Use require over import (will be lifted up)\n// make sure matchMedia polyfill run before require('vc-slick')\n// Fix https://github.com/ant-design/ant-design/issues/6560\n// Fix https://github.com/ant-design/ant-design/issues/3308\nconst SlickCarousel = require('../vc-slick/src').default;\n\nexport const CarouselEffect = PropTypes.oneOf(['scrollx', 'fade']);\n// Carousel\nexport const CarouselProps = {\n effect: CarouselEffect,\n dots: PropTypes.bool,\n vertical: PropTypes.bool,\n autoplay: PropTypes.bool,\n easing: PropTypes.string,\n beforeChange: PropTypes.func,\n afterChange: PropTypes.func,\n // style: PropTypes.React.CSSProperties,\n prefixCls: PropTypes.string,\n accessibility: PropTypes.bool,\n nextArrow: PropTypes.any,\n prevArrow: PropTypes.any,\n pauseOnHover: PropTypes.bool,\n // className: PropTypes.string,\n adaptiveHeight: PropTypes.bool,\n arrows: PropTypes.bool,\n autoplaySpeed: PropTypes.number,\n centerMode: PropTypes.bool,\n centerPadding: PropTypes.string,\n cssEase: PropTypes.string,\n dotsClass: PropTypes.string,\n draggable: PropTypes.bool,\n fade: PropTypes.bool,\n focusOnSelect: PropTypes.bool,\n infinite: PropTypes.bool,\n initialSlide: PropTypes.number,\n lazyLoad: PropTypes.bool,\n rtl: PropTypes.bool,\n slide: PropTypes.string,\n slidesToShow: PropTypes.number,\n slidesToScroll: PropTypes.number,\n speed: PropTypes.number,\n swipe: PropTypes.bool,\n swipeToSlide: PropTypes.bool,\n touchMove: PropTypes.bool,\n touchThreshold: PropTypes.number,\n variableWidth: PropTypes.bool,\n useCSS: PropTypes.bool,\n slickGoTo: PropTypes.number,\n responsive: PropTypes.array,\n dotPosition: PropTypes.oneOf(['top', 'bottom', 'left', 'right']),\n};\n\nconst Carousel = {\n name: 'ACarousel',\n props: initDefaultProps(CarouselProps, {\n dots: true,\n arrows: false,\n draggable: false,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n\n beforeMount() {\n this.onWindowResized = debounce(this.onWindowResized, 500, {\n leading: false,\n });\n },\n\n mounted() {\n if (hasProp(this, 'vertical')) {\n warning(\n !this.vertical,\n 'Carousel',\n '`vertical` is deprecated, please use `dotPosition` instead.',\n );\n }\n const { autoplay } = this;\n if (autoplay) {\n window.addEventListener('resize', this.onWindowResized);\n }\n // https://github.com/ant-design/ant-design/issues/7191\n this.innerSlider = this.$refs.slick && this.$refs.slick.innerSlider;\n },\n beforeDestroy() {\n const { autoplay } = this;\n if (autoplay) {\n window.removeEventListener('resize', this.onWindowResized);\n this.onWindowResized.cancel();\n }\n },\n methods: {\n getDotPosition() {\n if (this.dotPosition) {\n return this.dotPosition;\n }\n if (hasProp(this, 'vertical')) {\n return this.vertical ? 'right' : 'bottom';\n }\n return 'bottom';\n },\n onWindowResized() {\n // Fix https://github.com/ant-design/ant-design/issues/2550\n const { autoplay } = this;\n if (\n autoplay &&\n this.$refs.slick &&\n this.$refs.slick.innerSlider &&\n this.$refs.slick.innerSlider.autoPlay\n ) {\n this.$refs.slick.innerSlider.autoPlay();\n }\n },\n\n next() {\n this.$refs.slick.slickNext();\n },\n\n prev() {\n this.$refs.slick.slickPrev();\n },\n\n goTo(slide, dontAnimate = false) {\n this.$refs.slick.slickGoTo(slide, dontAnimate);\n },\n },\n\n render() {\n const props = { ...this.$props };\n const { $slots } = this;\n\n if (props.effect === 'fade') {\n props.fade = true;\n }\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n let className = getPrefixCls('carousel', props.prefixCls);\n const dotsClass = 'slick-dots';\n const dotPosition = this.getDotPosition();\n props.vertical = dotPosition === 'left' || dotPosition === 'right';\n props.dotsClass = classNames(`${dotsClass}`, `${dotsClass}-${dotPosition || 'bottom'}`, {\n [`${props.dotsClass}`]: !!props.dotsClass,\n });\n if (props.vertical) {\n className = `${className} ${className}-vertical`;\n }\n const SlickCarouselProps = {\n props: {\n ...props,\n nextArrow: getComponentFromProp(this, 'nextArrow'),\n prevArrow: getComponentFromProp(this, 'prevArrow'),\n },\n on: getListeners(this),\n scopedSlots: this.$scopedSlots,\n };\n const children = filterEmpty($slots.default);\n return (\n <div class={className}>\n <SlickCarousel ref=\"slick\" {...SlickCarouselProps}>\n {children}\n </SlickCarousel>\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nCarousel.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Carousel.name, Carousel);\n};\n\nexport default Carousel;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport VcCascader from '../vc-cascader';\nimport arrayTreeFilter from 'array-tree-filter';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport KeyCode from '../_util/KeyCode';\nimport Input from '../input';\nimport Icon from '../icon';\nimport {\n hasProp,\n filterEmpty,\n getOptionProps,\n getStyle,\n getClass,\n getAttrs,\n getComponentFromProp,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement } from '../_util/vnode';\nimport warning from '../_util/warning';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Base from '../base';\n\nconst CascaderOptionType = PropTypes.shape({\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.any,\n disabled: PropTypes.bool,\n children: PropTypes.array,\n key: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}).loose;\n\nconst FieldNamesType = PropTypes.shape({\n value: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n children: PropTypes.string,\n}).loose;\n\nconst CascaderExpandTrigger = PropTypes.oneOf(['click', 'hover']);\n\nconst ShowSearchType = PropTypes.shape({\n filter: PropTypes.func,\n render: PropTypes.func,\n sort: PropTypes.func,\n matchInputWidth: PropTypes.bool,\n limit: PropTypes.oneOfType([Boolean, Number]),\n}).loose;\nfunction noop() {}\n\nconst CascaderProps = {\n /** 可选项数据源 */\n options: PropTypes.arrayOf(CascaderOptionType).def([]),\n /** 默认的选中项 */\n defaultValue: PropTypes.array,\n /** 指定选中项 */\n value: PropTypes.array,\n /** 选择完成后的回调 */\n // onChange?: (value: string[], selectedOptions?: CascaderOptionType[]) => void;\n /** 选择后展示的渲染函数 */\n displayRender: PropTypes.func,\n transitionName: PropTypes.string.def('slide-up'),\n popupStyle: PropTypes.object.def(() => ({})),\n /** 自定义浮层类名 */\n popupClassName: PropTypes.string,\n /** 浮层预设位置:`bottomLeft` `bottomRight` `topLeft` `topRight` */\n popupPlacement: PropTypes.oneOf(['bottomLeft', 'bottomRight', 'topLeft', 'topRight']).def(\n 'bottomLeft',\n ),\n /** 输入框占位文本*/\n placeholder: PropTypes.string.def('Please select'),\n /** 输入框大小,可选 `large` `default` `small` */\n size: PropTypes.oneOf(['large', 'default', 'small']),\n /** 禁用*/\n disabled: PropTypes.bool.def(false),\n /** 是否支持清除*/\n allowClear: PropTypes.bool.def(true),\n showSearch: PropTypes.oneOfType([Boolean, ShowSearchType]),\n notFoundContent: PropTypes.any,\n loadData: PropTypes.func,\n /** 次级菜单的展开方式,可选 'click' 和 'hover' */\n expandTrigger: CascaderExpandTrigger,\n /** 当此项为 true 时,点选每级菜单选项值都会发生变化 */\n changeOnSelect: PropTypes.bool,\n /** 浮层可见变化时回调 */\n // onPopupVisibleChange?: (popupVisible: boolean) => void;\n prefixCls: PropTypes.string,\n inputPrefixCls: PropTypes.string,\n getPopupContainer: PropTypes.func,\n popupVisible: PropTypes.bool,\n fieldNames: FieldNamesType,\n autoFocus: PropTypes.bool,\n suffixIcon: PropTypes.any,\n};\n\n// We limit the filtered item count by default\nconst defaultLimit = 50;\n\nfunction defaultFilterOption(inputValue, path, names) {\n return path.some(option => option[names.label].indexOf(inputValue) > -1);\n}\n\nfunction defaultSortFilteredOption(a, b, inputValue, names) {\n function callback(elem) {\n return elem[names.label].indexOf(inputValue) > -1;\n }\n\n return a.findIndex(callback) - b.findIndex(callback);\n}\n\nfunction getFilledFieldNames({ fieldNames = {} }) {\n const names = {\n children: fieldNames.children || 'children',\n label: fieldNames.label || 'label',\n value: fieldNames.value || 'value',\n };\n return names;\n}\n\nfunction flattenTree(options = [], props, ancestor = []) {\n const names = getFilledFieldNames(props);\n let flattenOptions = [];\n const childrenName = names.children;\n options.forEach(option => {\n const path = ancestor.concat(option);\n if (props.changeOnSelect || !option[childrenName] || !option[childrenName].length) {\n flattenOptions.push(path);\n }\n if (option[childrenName]) {\n flattenOptions = flattenOptions.concat(flattenTree(option[childrenName], props, path));\n }\n });\n return flattenOptions;\n}\n\nconst defaultDisplayRender = ({ labels }) => labels.join(' / ');\n\nconst Cascader = {\n inheritAttrs: false,\n name: 'ACascader',\n mixins: [BaseMixin],\n props: CascaderProps,\n model: {\n prop: 'value',\n event: 'change',\n },\n provide() {\n return {\n savePopupRef: this.savePopupRef,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n localeData: { default: () => ({}) },\n },\n data() {\n this.cachedOptions = [];\n const { value, defaultValue, popupVisible, showSearch, options } = this;\n return {\n sValue: value || defaultValue || [],\n inputValue: '',\n inputFocused: false,\n sPopupVisible: popupVisible,\n flattenOptions: showSearch ? flattenTree(options, this.$props) : undefined,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus && !this.showSearch && !this.disabled) {\n this.$refs.picker.focus();\n }\n });\n },\n watch: {\n value(val) {\n this.setState({ sValue: val || [] });\n },\n popupVisible(val) {\n this.setState({ sPopupVisible: val });\n },\n options(val) {\n if (this.showSearch) {\n this.setState({ flattenOptions: flattenTree(val, this.$props) });\n }\n },\n },\n methods: {\n savePopupRef(ref) {\n this.popupRef = ref;\n },\n highlightKeyword(str, keyword, prefixCls) {\n return str\n .split(keyword)\n .map((node, index) =>\n index === 0\n ? node\n : [<span class={`${prefixCls}-menu-item-keyword`}>{keyword}</span>, node],\n );\n },\n\n defaultRenderFilteredOption({ inputValue, path, prefixCls, names }) {\n return path.map((option, index) => {\n const label = option[names.label];\n const node =\n label.indexOf(inputValue) > -1\n ? this.highlightKeyword(label, inputValue, prefixCls)\n : label;\n return index === 0 ? node : [' / ', node];\n });\n },\n handleChange(value, selectedOptions) {\n this.setState({ inputValue: '' });\n if (selectedOptions[0].__IS_FILTERED_OPTION) {\n const unwrappedValue = value[0];\n const unwrappedSelectedOptions = selectedOptions[0].path;\n this.setValue(unwrappedValue, unwrappedSelectedOptions);\n return;\n }\n this.setValue(value, selectedOptions);\n },\n\n handlePopupVisibleChange(popupVisible) {\n if (!hasProp(this, 'popupVisible')) {\n this.setState(state => ({\n sPopupVisible: popupVisible,\n inputFocused: popupVisible,\n inputValue: popupVisible ? state.inputValue : '',\n }));\n }\n this.$emit('popupVisibleChange', popupVisible);\n },\n handleInputFocus(e) {\n this.$emit('focus', e);\n },\n\n handleInputBlur(e) {\n this.setState({\n inputFocused: false,\n });\n this.$emit('blur', e);\n },\n\n handleInputClick(e) {\n const { inputFocused, sPopupVisible } = this;\n // Prevent `Trigger` behaviour.\n if (inputFocused || sPopupVisible) {\n e.stopPropagation();\n if (e.nativeEvent && e.nativeEvent.stopImmediatePropagation) {\n e.nativeEvent.stopImmediatePropagation();\n }\n }\n },\n\n handleKeyDown(e) {\n if (e.keyCode === KeyCode.BACKSPACE || e.keyCode === KeyCode.SPACE) {\n e.stopPropagation();\n }\n },\n\n handleInputChange(e) {\n const inputValue = e.target.value;\n this.setState({ inputValue });\n this.$emit('search', inputValue);\n },\n\n setValue(value, selectedOptions) {\n if (!hasProp(this, 'value')) {\n this.setState({ sValue: value });\n }\n this.$emit('change', value, selectedOptions);\n },\n\n getLabel() {\n const { options, $scopedSlots } = this;\n const names = getFilledFieldNames(this.$props);\n const displayRender =\n this.displayRender || $scopedSlots.displayRender || defaultDisplayRender;\n const value = this.sValue;\n const unwrappedValue = Array.isArray(value[0]) ? value[0] : value;\n const selectedOptions = arrayTreeFilter(\n options,\n (o, level) => o[names.value] === unwrappedValue[level],\n { childrenKeyName: names.children },\n );\n const labels = selectedOptions.map(o => o[names.label]);\n return displayRender({ labels, selectedOptions });\n },\n\n clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n if (!this.inputValue) {\n this.setValue([]);\n this.handlePopupVisibleChange(false);\n } else {\n this.setState({ inputValue: '' });\n }\n },\n\n generateFilteredOptions(prefixCls, renderEmpty) {\n const h = this.$createElement;\n const { showSearch, notFoundContent, $scopedSlots } = this;\n const names = getFilledFieldNames(this.$props);\n const {\n filter = defaultFilterOption,\n // render = this.defaultRenderFilteredOption,\n sort = defaultSortFilteredOption,\n limit = defaultLimit,\n } = showSearch;\n const render =\n showSearch.render || $scopedSlots.showSearchRender || this.defaultRenderFilteredOption;\n const { flattenOptions = [], inputValue } = this.$data;\n\n // Limit the filter if needed\n let filtered;\n if (limit > 0) {\n filtered = [];\n let matchCount = 0;\n\n // Perf optimization to filter items only below the limit\n flattenOptions.some(path => {\n const match = filter(inputValue, path, names);\n if (match) {\n filtered.push(path);\n matchCount += 1;\n }\n return matchCount >= limit;\n });\n } else {\n warning(\n typeof limit !== 'number',\n 'Cascader',\n \"'limit' of showSearch in Cascader should be positive number or false.\",\n );\n filtered = flattenOptions.filter(path => filter(inputValue, path, names));\n }\n\n filtered.sort((a, b) => sort(a, b, inputValue, names));\n\n if (filtered.length > 0) {\n return filtered.map(path => {\n return {\n __IS_FILTERED_OPTION: true,\n path,\n [names.label]: render({ inputValue, path, prefixCls, names }),\n [names.value]: path.map(o => o[names.value]),\n disabled: path.some(o => !!o.disabled),\n };\n });\n }\n return [\n {\n [names.label]: notFoundContent || renderEmpty(h, 'Cascader'),\n [names.value]: 'ANT_CASCADER_NOT_FOUND',\n disabled: true,\n },\n ];\n },\n\n focus() {\n if (this.showSearch) {\n this.$refs.input.focus();\n } else {\n this.$refs.picker.focus();\n }\n },\n\n blur() {\n if (this.showSearch) {\n this.$refs.input.blur();\n } else {\n this.$refs.picker.blur();\n }\n },\n },\n\n render() {\n const { $slots, sPopupVisible, inputValue, configProvider, localeData } = this;\n const { sValue: value, inputFocused } = this.$data;\n const props = getOptionProps(this);\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n const { getPopupContainer: getContextPopupContainer } = configProvider;\n const {\n prefixCls: customizePrefixCls,\n inputPrefixCls: customizeInputPrefixCls,\n placeholder = localeData.placeholder,\n size,\n disabled,\n allowClear,\n showSearch = false,\n notFoundContent,\n ...otherProps\n } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const renderEmpty = this.configProvider.renderEmpty;\n const prefixCls = getPrefixCls('cascader', customizePrefixCls);\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n\n const sizeCls = classNames({\n [`${inputPrefixCls}-lg`]: size === 'large',\n [`${inputPrefixCls}-sm`]: size === 'small',\n });\n const clearIcon =\n (allowClear && !disabled && value.length > 0) || inputValue ? (\n <Icon\n type=\"close-circle\"\n theme=\"filled\"\n class={`${prefixCls}-picker-clear`}\n onClick={this.clearSelection}\n key=\"clear-icon\"\n />\n ) : null;\n const arrowCls = classNames({\n [`${prefixCls}-picker-arrow`]: true,\n [`${prefixCls}-picker-arrow-expand`]: sPopupVisible,\n });\n const pickerCls = classNames(getClass(this), `${prefixCls}-picker`, {\n [`${prefixCls}-picker-with-value`]: inputValue,\n [`${prefixCls}-picker-disabled`]: disabled,\n [`${prefixCls}-picker-${size}`]: !!size,\n [`${prefixCls}-picker-show-search`]: !!showSearch,\n [`${prefixCls}-picker-focused`]: inputFocused,\n });\n\n // Fix bug of https://github.com/facebook/react/pull/5004\n // and https://fb.me/react-unknown-prop\n const tempInputProps = omit(otherProps, [\n 'options',\n 'popupPlacement',\n 'transitionName',\n 'displayRender',\n 'changeOnSelect',\n 'expandTrigger',\n 'popupVisible',\n 'getPopupContainer',\n 'loadData',\n 'popupClassName',\n 'filterOption',\n 'renderFilteredOption',\n 'sortFilteredOption',\n 'notFoundContent',\n 'defaultValue',\n 'fieldNames',\n ]);\n\n let options = props.options;\n const names = getFilledFieldNames(this.$props);\n if (options && options.length > 0) {\n if (inputValue) {\n options = this.generateFilteredOptions(prefixCls, renderEmpty);\n }\n } else {\n options = [\n {\n [names.label]: notFoundContent || renderEmpty(h, 'Cascader'),\n [names.value]: 'ANT_CASCADER_NOT_FOUND',\n disabled: true,\n },\n ];\n }\n\n // Dropdown menu should keep previous status until it is fully closed.\n if (!sPopupVisible) {\n options = this.cachedOptions;\n } else {\n this.cachedOptions = options;\n }\n\n const dropdownMenuColumnStyle = {};\n const isNotFound =\n (options || []).length === 1 && options[0].value === 'ANT_CASCADER_NOT_FOUND';\n if (isNotFound) {\n dropdownMenuColumnStyle.height = 'auto'; // Height of one row.\n }\n // The default value of `matchInputWidth` is `true`\n const resultListMatchInputWidth = showSearch.matchInputWidth !== false;\n if (resultListMatchInputWidth && (inputValue || isNotFound) && this.$refs.input) {\n dropdownMenuColumnStyle.width = this.$refs.input.$el.offsetWidth + 'px';\n }\n // showSearch时,focus、blur在input上触发,反之在ref='picker'上触发\n const inputProps = {\n props: {\n ...tempInputProps,\n prefixCls: inputPrefixCls,\n placeholder: value && value.length > 0 ? undefined : placeholder,\n value: inputValue,\n disabled,\n readOnly: !showSearch,\n autoComplete: 'off',\n },\n class: `${prefixCls}-input ${sizeCls}`,\n ref: 'input',\n on: {\n focus: showSearch ? this.handleInputFocus : noop,\n click: showSearch ? this.handleInputClick : noop,\n blur: showSearch ? this.handleInputBlur : noop,\n keydown: this.handleKeyDown,\n change: showSearch ? this.handleInputChange : noop,\n },\n attrs: getAttrs(this),\n };\n const children = filterEmpty($slots.default);\n const inputIcon = (suffixIcon &&\n (isValidElement(suffixIcon) ? (\n cloneElement(suffixIcon, {\n class: {\n [`${prefixCls}-picker-arrow`]: true,\n },\n })\n ) : (\n <span class={`${prefixCls}-picker-arrow`}>{suffixIcon}</span>\n ))) || <Icon type=\"down\" class={arrowCls} />;\n\n const input = children.length ? (\n children\n ) : (\n <span class={pickerCls} style={getStyle(this)} ref=\"picker\">\n {showSearch ? <span class={`${prefixCls}-picker-label`}>{this.getLabel()}</span> : null}\n <Input {...inputProps} />\n {!showSearch ? <span class={`${prefixCls}-picker-label`}>{this.getLabel()}</span> : null}\n {clearIcon}\n {inputIcon}\n </span>\n );\n\n const expandIcon = <Icon type=\"right\" />;\n\n const loadingIcon = (\n <span class={`${prefixCls}-menu-item-loading-icon`}>\n <Icon type=\"redo\" spin />\n </span>\n );\n const getPopupContainer = props.getPopupContainer || getContextPopupContainer;\n const cascaderProps = {\n props: {\n ...props,\n getPopupContainer,\n options,\n prefixCls,\n value,\n popupVisible: sPopupVisible,\n dropdownMenuColumnStyle,\n expandIcon,\n loadingIcon,\n },\n on: {\n ...getListeners(this),\n popupVisibleChange: this.handlePopupVisibleChange,\n change: this.handleChange,\n },\n };\n return <VcCascader {...cascaderProps}>{input}</VcCascader>;\n },\n};\n\n/* istanbul ignore next */\nCascader.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Cascader.name, Cascader);\n};\n\nexport default Cascader;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../empty/style';\nimport '../../input/style';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport VcCheckbox from '../vc-checkbox';\nimport hasProp, { getOptionProps, getAttrs, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport warning from '../_util/warning';\nfunction noop() {}\n\nexport default {\n name: 'ACheckbox',\n inheritAttrs: false,\n __ANT_CHECKBOX: true,\n model: {\n prop: 'checked',\n },\n props: {\n prefixCls: PropTypes.string,\n defaultChecked: PropTypes.bool,\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n isGroup: PropTypes.bool,\n value: PropTypes.any,\n name: PropTypes.string,\n id: PropTypes.string,\n indeterminate: PropTypes.bool,\n type: PropTypes.string.def('checkbox'),\n autoFocus: PropTypes.bool,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n checkboxGroupContext: { default: () => undefined },\n },\n watch: {\n value(value, prevValue) {\n this.$nextTick(() => {\n const { checkboxGroupContext: checkboxGroup = {} } = this;\n if (checkboxGroup.registerValue && checkboxGroup.cancelValue) {\n checkboxGroup.cancelValue(prevValue);\n checkboxGroup.registerValue(value);\n }\n });\n },\n },\n mounted() {\n const { value, checkboxGroupContext: checkboxGroup = {} } = this;\n if (checkboxGroup.registerValue) {\n checkboxGroup.registerValue(value);\n }\n\n warning(\n hasProp(this, 'checked') || this.checkboxGroupContext || !hasProp(this, 'value'),\n 'Checkbox',\n '`value` is not validate prop, do you mean `checked`?',\n );\n },\n beforeDestroy() {\n const { value, checkboxGroupContext: checkboxGroup = {} } = this;\n if (checkboxGroup.cancelValue) {\n checkboxGroup.cancelValue(value);\n }\n },\n methods: {\n handleChange(event) {\n const targetChecked = event.target.checked;\n this.$emit('input', targetChecked);\n this.$emit('change', event);\n },\n focus() {\n this.$refs.vcCheckbox.focus();\n },\n blur() {\n this.$refs.vcCheckbox.blur();\n },\n },\n\n render() {\n const { checkboxGroupContext: checkboxGroup, $slots } = this;\n const props = getOptionProps(this);\n const children = $slots.default;\n const { mouseenter = noop, mouseleave = noop, input, ...restListeners } = getListeners(this);\n const { prefixCls: customizePrefixCls, indeterminate, ...restProps } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n\n const checkboxProps = {\n props: { ...restProps, prefixCls },\n on: restListeners,\n attrs: getAttrs(this),\n };\n if (checkboxGroup) {\n checkboxProps.on.change = (...args) => {\n this.$emit('change', ...args);\n checkboxGroup.toggleOption({ label: children, value: props.value });\n };\n checkboxProps.props.name = checkboxGroup.name;\n checkboxProps.props.checked = checkboxGroup.sValue.indexOf(props.value) !== -1;\n checkboxProps.props.disabled = props.disabled || checkboxGroup.disabled;\n checkboxProps.props.indeterminate = indeterminate;\n } else {\n checkboxProps.on.change = this.handleChange;\n }\n const classString = classNames({\n [`${prefixCls}-wrapper`]: true,\n [`${prefixCls}-wrapper-checked`]: checkboxProps.props.checked,\n [`${prefixCls}-wrapper-disabled`]: checkboxProps.props.disabled,\n });\n const checkboxClass = classNames({\n [`${prefixCls}-indeterminate`]: indeterminate,\n });\n return (\n <label class={classString} onMouseenter={mouseenter} onMouseleave={mouseleave}>\n <VcCheckbox {...checkboxProps} class={checkboxClass} ref=\"vcCheckbox\" />\n {children !== undefined && <span>{children}</span>}\n </label>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport Checkbox from './Checkbox';\nimport hasProp from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\n\nfunction noop() {}\nexport default {\n name: 'ACheckboxGroup',\n model: {\n prop: 'value',\n },\n props: {\n name: PropTypes.string,\n prefixCls: PropTypes.string,\n defaultValue: PropTypes.array,\n value: PropTypes.array,\n options: PropTypes.array.def([]),\n disabled: PropTypes.bool,\n },\n provide() {\n return {\n checkboxGroupContext: this,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const { value, defaultValue } = this;\n return {\n sValue: value || defaultValue || [],\n registeredValues: [],\n };\n },\n watch: {\n value(val) {\n this.sValue = val || [];\n },\n },\n methods: {\n getOptions() {\n const { options, $scopedSlots } = this;\n return options.map(option => {\n if (typeof option === 'string') {\n return {\n label: option,\n value: option,\n };\n }\n let label = option.label;\n if (label === undefined && $scopedSlots.label) {\n label = $scopedSlots.label(option);\n }\n return { ...option, label };\n });\n },\n cancelValue(value) {\n this.registeredValues = this.registeredValues.filter(val => val !== value);\n },\n\n registerValue(value) {\n this.registeredValues = [...this.registeredValues, value];\n },\n toggleOption(option) {\n const { registeredValues } = this;\n const optionIndex = this.sValue.indexOf(option.value);\n const value = [...this.sValue];\n if (optionIndex === -1) {\n value.push(option.value);\n } else {\n value.splice(optionIndex, 1);\n }\n if (!hasProp(this, 'value')) {\n this.sValue = value;\n }\n const options = this.getOptions();\n const val = value\n .filter(val => registeredValues.indexOf(val) !== -1)\n .sort((a, b) => {\n const indexA = options.findIndex(opt => opt.value === a);\n const indexB = options.findIndex(opt => opt.value === b);\n return indexA - indexB;\n });\n this.$emit('input', val);\n this.$emit('change', val);\n },\n },\n render() {\n const { $props: props, $data: state, $slots } = this;\n const { prefixCls: customizePrefixCls, options } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n\n let children = $slots.default;\n const groupPrefixCls = `${prefixCls}-group`;\n if (options && options.length > 0) {\n children = this.getOptions().map(option => (\n <Checkbox\n prefixCls={prefixCls}\n key={option.value.toString()}\n disabled={'disabled' in option ? option.disabled : props.disabled}\n indeterminate={option.indeterminate}\n value={option.value}\n checked={state.sValue.indexOf(option.value) !== -1}\n onChange={option.onChange || noop}\n class={`${groupPrefixCls}-item`}\n >\n {option.label}\n </Checkbox>\n ));\n }\n return <div class={groupPrefixCls}>{children}</div>;\n },\n};\n","import Checkbox from './Checkbox';\nimport CheckboxGroup from './Group';\nimport Base from '../base';\n\nCheckbox.Group = CheckboxGroup;\n\n/* istanbul ignore next */\nCheckbox.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Checkbox.name, Checkbox);\n Vue.component(CheckboxGroup.name, CheckboxGroup);\n};\n\nexport default Checkbox;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import { Col } from '../grid';\nimport Base from '../base';\n/* istanbul ignore next */\nCol.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Col.name, Col);\n};\n\nexport default Col;\n","import '../../style/index.less';\n\n// style dependencies\n// deps-lint-skip: grid\nimport '../../grid/style';\n","import animation from '../_util/openAnimation';\nimport {\n getOptionProps,\n initDefaultProps,\n getComponentFromProp,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport VcCollapse, { collapseProps } from '../vc-collapse';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider';\n\nexport default {\n name: 'ACollapse',\n model: {\n prop: 'activeKey',\n event: 'change',\n },\n props: initDefaultProps(collapseProps(), {\n bordered: true,\n openAnimation: animation,\n expandIconPosition: 'left',\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n renderExpandIcon(panelProps, prefixCls) {\n const expandIcon = getComponentFromProp(this, 'expandIcon', panelProps);\n const icon = expandIcon || (\n <Icon type=\"right\" rotate={panelProps.isActive ? 90 : undefined} />\n );\n return isValidElement(Array.isArray(expandIcon) ? icon[0] : icon)\n ? cloneElement(icon, {\n class: `${prefixCls}-arrow`,\n })\n : icon;\n },\n },\n render() {\n const { prefixCls: customizePrefixCls, bordered, expandIconPosition } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('collapse', customizePrefixCls);\n\n const collapseClassName = {\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-icon-position-${expandIconPosition}`]: true,\n };\n const rcCollapeProps = {\n props: {\n ...getOptionProps(this),\n prefixCls,\n expandIcon: panelProps => this.renderExpandIcon(panelProps, prefixCls),\n },\n class: collapseClassName,\n on: getListeners(this),\n };\n return <VcCollapse {...rcCollapeProps}>{this.$slots.default}</VcCollapse>;\n },\n};\n","import { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport VcCollapse, { panelProps } from '../vc-collapse';\nimport { ConfigConsumerProps } from '../config-provider';\n\nexport default {\n name: 'ACollapsePanel',\n props: {\n ...panelProps(),\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls, showArrow = true } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('collapse', customizePrefixCls);\n\n const collapsePanelClassName = {\n [`${prefixCls}-no-arrow`]: !showArrow,\n };\n const rcCollapePanelProps = {\n props: {\n ...getOptionProps(this),\n prefixCls,\n extra: getComponentFromProp(this, 'extra'),\n },\n class: collapsePanelClassName,\n on: getListeners(this),\n };\n const header = getComponentFromProp(this, 'header');\n return (\n <VcCollapse.Panel {...rcCollapePanelProps}>\n {this.$slots.default}\n {header ? <template slot=\"header\">{header}</template> : null}\n </VcCollapse.Panel>\n );\n },\n};\n","import Collapse from './Collapse';\nimport CollapsePanel from './CollapsePanel';\nimport Base from '../base';\n\nCollapse.Panel = CollapsePanel;\n\n/* istanbul ignore next */\nCollapse.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Collapse.name, Collapse);\n Vue.component(CollapsePanel.name, CollapsePanel);\n};\n\nexport default Collapse;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","export default {\n 'btn:save': 'Save',\n 'btn:cancel': 'Cancel',\n 'btn:clear': 'Clear',\n};\n","import '../../style/index.less';\nimport './index.less';\n// style dependencies\nimport '../../grid/style';\n","// extracted by mini-css-extract-plugin","import PropsTypes from '../_util/vue-types';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Base from '../base';\nexport const CommentProps = {\n actions: PropsTypes.array,\n /** The element to display as the comment author. */\n author: PropsTypes.any,\n /** The element to display as the comment avatar - generally an antd Avatar */\n avatar: PropsTypes.any,\n /** The main content of the comment */\n content: PropsTypes.any,\n /** Comment prefix defaults to '.ant-comment' */\n prefixCls: PropsTypes.string,\n /** A datetime element containing the time to be displayed */\n datetime: PropsTypes.any,\n};\n\nconst Comment = {\n name: 'AComment',\n props: CommentProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n getAction(actions) {\n if (!actions || !actions.length) {\n return null;\n }\n const actionList = actions.map((action, index) => <li key={`action-${index}`}>{action}</li>);\n return actionList;\n },\n renderNested(prefixCls, children) {\n return <div class={`${prefixCls}-nested`}>{children}</div>;\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls } = this.$props;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('comment', customizePrefixCls);\n\n const actions = getComponentFromProp(this, 'actions');\n const author = getComponentFromProp(this, 'author');\n const avatar = getComponentFromProp(this, 'avatar');\n const content = getComponentFromProp(this, 'content');\n const datetime = getComponentFromProp(this, 'datetime');\n\n const avatarDom = (\n <div class={`${prefixCls}-avatar`}>\n {typeof avatar === 'string' ? <img src={avatar} alt=\"comment-avatar\" /> : avatar}\n </div>\n );\n\n const actionDom =\n actions && actions.length ? (\n <ul class={`${prefixCls}-actions`}>{this.getAction(actions)}</ul>\n ) : null;\n\n const authorContent = (\n <div class={`${prefixCls}-content-author`}>\n {author && <span class={`${prefixCls}-content-author-name`}>{author}</span>}\n {datetime && <span class={`${prefixCls}-content-author-time`}>{datetime}</span>}\n </div>\n );\n\n const contentDom = (\n <div class={`${prefixCls}-content`}>\n {authorContent}\n <div class={`${prefixCls}-content-detail`}>{content}</div>\n {actionDom}\n </div>\n );\n\n const comment = (\n <div class={`${prefixCls}-inner`}>\n {avatarDom}\n {contentDom}\n </div>\n );\n const children = this.$slots.default;\n return (\n <div class={prefixCls} {...{ on: getListeners(this) }}>\n {comment}\n {children ? this.renderNested(prefixCls, children) : null}\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nComment.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Comment.name, Comment);\n};\nexport default Comment;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import Vue from 'vue';\nimport PropTypes from '../_util/vue-types';\nimport { filterEmpty, getComponentFromProp } from '../_util/props-util';\nimport defaultRenderEmpty from './renderEmpty';\nimport Base from '../base';\nimport LocaleProvider, { ANT_MARK } from '../locale-provider';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\n\nfunction getWatch(keys = []) {\n const watch = {};\n keys.forEach(k => {\n watch[k] = function(value) {\n this._proxyVm._data[k] = value;\n };\n });\n return watch;\n}\n\nconst ConfigProvider = {\n name: 'AConfigProvider',\n props: {\n getPopupContainer: PropTypes.func,\n prefixCls: PropTypes.string,\n renderEmpty: PropTypes.func,\n csp: PropTypes.object,\n autoInsertSpaceInButton: PropTypes.bool,\n locale: PropTypes.object,\n pageHeader: PropTypes.object,\n transformCellText: PropTypes.func,\n },\n provide() {\n const _self = this;\n this._proxyVm = new Vue({\n data() {\n return {\n ..._self.$props,\n getPrefixCls: _self.getPrefixCls,\n renderEmpty: _self.renderEmptyComponent,\n };\n },\n });\n return {\n configProvider: this._proxyVm._data,\n };\n },\n watch: {\n ...getWatch([\n 'prefixCls',\n 'csp',\n 'autoInsertSpaceInButton',\n 'locale',\n 'pageHeader',\n 'transformCellText',\n ]),\n },\n methods: {\n renderEmptyComponent(h, name) {\n const renderEmpty =\n getComponentFromProp(this, 'renderEmpty', {}, false) || defaultRenderEmpty;\n return renderEmpty(h, name);\n },\n getPrefixCls(suffixCls, customizePrefixCls) {\n const { prefixCls = 'ant' } = this.$props;\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? `${prefixCls}-${suffixCls}` : prefixCls;\n },\n renderProvider(legacyLocale) {\n return (\n <LocaleProvider locale={this.locale || legacyLocale} _ANT_MARK__={ANT_MARK}>\n {this.$slots.default ? filterEmpty(this.$slots.default)[0] : null}\n </LocaleProvider>\n );\n },\n },\n\n render() {\n return (\n <LocaleReceiver\n scopedSlots={{ default: (_, __, legacyLocale) => this.renderProvider(legacyLocale) }}\n />\n );\n },\n};\n\nexport const ConfigConsumerProps = {\n getPrefixCls: (suffixCls, customizePrefixCls) => {\n if (customizePrefixCls) return customizePrefixCls;\n return `ant-${suffixCls}`;\n },\n renderEmpty: defaultRenderEmpty,\n};\n\n/* istanbul ignore next */\nConfigProvider.install = function(Vue) {\n Vue.use(Base);\n Vue.component(ConfigProvider.name, ConfigProvider);\n};\n\nexport default ConfigProvider;\n","import PropTypes from '../_util/vue-types';\nimport Empty from '../empty';\nimport { ConfigConsumerProps } from './';\n\nconst RenderEmpty = {\n functional: true,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n props: {\n componentName: PropTypes.string,\n },\n render(createElement, context) {\n const { props, injections } = context;\n function renderHtml(componentName) {\n const getPrefixCls = injections.configProvider.getPrefixCls;\n const prefix = getPrefixCls('empty');\n switch (componentName) {\n case 'Table':\n case 'List':\n return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />;\n\n case 'Select':\n case 'TreeSelect':\n case 'Cascader':\n case 'Transfer':\n case 'Mentions':\n return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} class={`${prefix}-small`} />;\n\n default:\n return <Empty />;\n }\n }\n return renderHtml(props.componentName);\n },\n};\n\nfunction renderEmpty(h, componentName) {\n return <RenderEmpty componentName={componentName} />;\n}\n\nexport default renderEmpty;\n","import './index.less';\n","// extracted by mini-css-extract-plugin","import Icon from '../icon';\nimport { isValidElement } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\n\nexport default {\n functional: true,\n render(h, context) {\n const { props } = context;\n const { suffixIcon, prefixCls } = props;\n return (\n (suffixIcon && isValidElement(suffixIcon) ? (\n cloneElement(suffixIcon, {\n class: `${prefixCls}-picker-icon`,\n })\n ) : (\n <span class={`${prefixCls}-picker-icon`}>{suffixIcon}</span>\n )) || <Icon type=\"calendar\" class={`${prefixCls}-picker-icon`} />\n );\n },\n};\n","import * as moment from 'moment';\nimport RangeCalendar from '../vc-calendar/src/RangeCalendar';\nimport VcDatePicker from '../vc-calendar/src/Picker';\nimport classNames from 'classnames';\nimport shallowequal from 'shallowequal';\nimport Icon from '../icon';\nimport Tag from '../tag';\nimport { ConfigConsumerProps } from '../config-provider';\nimport interopDefault from '../_util/interopDefault';\nimport { RangePickerProps } from './interface';\nimport {\n hasProp,\n getOptionProps,\n initDefaultProps,\n mergeProps,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { formatDate } from './utils';\nimport InputIcon from './InputIcon';\n\nfunction noop() {}\nfunction getShowDateFromValue(value, mode) {\n const [start, end] = value;\n // value could be an empty array, then we should not reset showDate\n if (!start && !end) {\n return;\n }\n if (mode && mode[0] === 'month') {\n return [start, end];\n }\n const newEnd = end && end.isSame(start, 'month') ? end.clone().add(1, 'month') : end;\n return [start, newEnd];\n}\n\nfunction pickerValueAdapter(value) {\n if (!value) {\n return;\n }\n if (Array.isArray(value)) {\n return value;\n }\n return [value, value.clone().add(1, 'month')];\n}\n\nfunction isEmptyArray(arr) {\n if (Array.isArray(arr)) {\n return arr.length === 0 || arr.every(i => !i);\n }\n return false;\n}\n\nfunction fixLocale(value, localeCode) {\n if (!localeCode) {\n return;\n }\n if (!value || value.length === 0) {\n return;\n }\n const [start, end] = value;\n if (start) {\n start.locale(localeCode);\n }\n if (end) {\n end.locale(localeCode);\n }\n}\n\nexport default {\n name: 'ARangePicker',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(RangePickerProps(), {\n allowClear: true,\n showToday: false,\n separator: '~',\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const value = this.value || this.defaultValue || [];\n const [start, end] = value;\n if (\n (start && !interopDefault(moment).isMoment(start)) ||\n (end && !interopDefault(moment).isMoment(end))\n ) {\n throw new Error(\n 'The value/defaultValue of RangePicker must be a moment object array after `antd@2.0`, ' +\n 'see: https://u.ant.design/date-picker-value',\n );\n }\n const pickerValue = !value || isEmptyArray(value) ? this.defaultPickerValue : value;\n return {\n sValue: value,\n sShowDate: pickerValueAdapter(pickerValue || interopDefault(moment)()),\n sOpen: this.open,\n sHoverValue: [],\n };\n },\n watch: {\n value(val) {\n const value = val || [];\n let state = { sValue: value };\n if (!shallowequal(val, this.sValue)) {\n state = {\n ...state,\n sShowDate: getShowDateFromValue(value, this.mode) || this.sShowDate,\n };\n }\n this.setState(state);\n },\n open(val) {\n const state = { sOpen: val };\n this.setState(state);\n },\n sOpen(val, oldVal) {\n this.$nextTick(() => {\n if (!hasProp(this, 'open') && oldVal && !val) {\n this.focus();\n }\n });\n },\n },\n methods: {\n setValue(value, hidePanel) {\n this.handleChange(value);\n if ((hidePanel || !this.showTime) && !hasProp(this, 'open')) {\n this.setState({ sOpen: false });\n }\n },\n clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n this.setState({ sValue: [] });\n this.handleChange([]);\n },\n\n clearHoverValue() {\n this.setState({ sHoverValue: [] });\n },\n\n handleChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState(({ sShowDate }) => ({\n sValue: value,\n sShowDate: getShowDateFromValue(value) || sShowDate,\n }));\n }\n if (value[0] && value[1] && value[0].diff(value[1]) > 0) {\n value[1] = undefined;\n }\n const [start, end] = value;\n this.$emit('change', value, [formatDate(start, this.format), formatDate(end, this.format)]);\n },\n\n handleOpenChange(open) {\n if (!hasProp(this, 'open')) {\n this.setState({ sOpen: open });\n }\n\n if (open === false) {\n this.clearHoverValue();\n }\n this.$emit('openChange', open);\n },\n\n handleShowDateChange(showDate) {\n this.setState({ sShowDate: showDate });\n },\n\n handleHoverChange(hoverValue) {\n this.setState({ sHoverValue: hoverValue });\n },\n\n handleRangeMouseLeave() {\n if (this.sOpen) {\n this.clearHoverValue();\n }\n },\n\n handleCalendarInputSelect(value) {\n const [start] = value;\n if (!start) {\n return;\n }\n this.setState(({ sShowDate }) => ({\n sValue: value,\n sShowDate: getShowDateFromValue(value) || sShowDate,\n }));\n },\n\n handleRangeClick(value) {\n if (typeof value === 'function') {\n value = value();\n }\n\n this.setValue(value, true);\n this.$emit('ok', value);\n this.$emit('openChange', false);\n },\n\n onMouseEnter(e) {\n this.$emit('mouseenter', e);\n },\n onMouseLeave(e) {\n this.$emit('mouseleave', e);\n },\n\n focus() {\n this.$refs.picker.focus();\n },\n\n blur() {\n this.$refs.picker.blur();\n },\n\n renderFooter() {\n const { ranges, $scopedSlots, $slots } = this;\n const { _prefixCls: prefixCls, _tagPrefixCls: tagPrefixCls } = this;\n const renderExtraFooter =\n this.renderExtraFooter || $scopedSlots.renderExtraFooter || $slots.renderExtraFooter;\n if (!ranges && !renderExtraFooter) {\n return null;\n }\n const customFooter = renderExtraFooter ? (\n <div class={`${prefixCls}-footer-extra`} key=\"extra\">\n {typeof renderExtraFooter === 'function' ? renderExtraFooter() : renderExtraFooter}\n </div>\n ) : null;\n const operations =\n ranges &&\n Object.keys(ranges).map(range => {\n const value = ranges[range];\n const hoverValue = typeof value === 'function' ? value.call(this) : value;\n return (\n <Tag\n key={range}\n prefixCls={tagPrefixCls}\n color=\"blue\"\n onClick={() => this.handleRangeClick(value)}\n onMouseenter={() => this.setState({ sHoverValue: hoverValue })}\n onMouseleave={this.handleRangeMouseLeave}\n >\n {range}\n </Tag>\n );\n });\n const rangeNode =\n operations && operations.length > 0 ? (\n <div class={`${prefixCls}-footer-extra ${prefixCls}-range-quick-selector`} key=\"range\">\n {operations}\n </div>\n ) : null;\n return [rangeNode, customFooter];\n },\n },\n\n render() {\n const props = getOptionProps(this);\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n const {\n sValue: value,\n sShowDate: showDate,\n sHoverValue: hoverValue,\n sOpen: open,\n $scopedSlots,\n } = this;\n const listeners = getListeners(this);\n const {\n calendarChange = noop,\n ok = noop,\n focus = noop,\n blur = noop,\n panelChange = noop,\n } = listeners;\n const {\n prefixCls: customizePrefixCls,\n tagPrefixCls: customizeTagPrefixCls,\n popupStyle,\n disabledDate,\n disabledTime,\n showTime,\n showToday,\n ranges,\n locale,\n localeCode,\n format,\n separator,\n inputReadOnly,\n } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('calendar', customizePrefixCls);\n const tagPrefixCls = getPrefixCls('tag', customizeTagPrefixCls);\n this._prefixCls = prefixCls;\n this._tagPrefixCls = tagPrefixCls;\n\n const dateRender = props.dateRender || $scopedSlots.dateRender;\n fixLocale(value, localeCode);\n fixLocale(showDate, localeCode);\n\n const calendarClassName = classNames({\n [`${prefixCls}-time`]: showTime,\n [`${prefixCls}-range-with-ranges`]: ranges,\n });\n\n // 需要选择时间时,点击 ok 时才触发 onChange\n const pickerChangeHandler = {\n on: {\n change: this.handleChange,\n },\n };\n let calendarProps = {\n on: {\n ok: this.handleChange,\n },\n props: {},\n };\n if (props.timePicker) {\n pickerChangeHandler.on.change = changedValue => this.handleChange(changedValue);\n } else {\n calendarProps = { on: {}, props: {} };\n }\n if ('mode' in props) {\n calendarProps.props.mode = props.mode;\n }\n\n const startPlaceholder = Array.isArray(props.placeholder)\n ? props.placeholder[0]\n : locale.lang.rangePlaceholder[0];\n const endPlaceholder = Array.isArray(props.placeholder)\n ? props.placeholder[1]\n : locale.lang.rangePlaceholder[1];\n\n const rangeCalendarProps = mergeProps(calendarProps, {\n props: {\n separator,\n format,\n prefixCls,\n renderFooter: this.renderFooter,\n timePicker: props.timePicker,\n disabledDate,\n disabledTime,\n dateInputPlaceholder: [startPlaceholder, endPlaceholder],\n locale: locale.lang,\n dateRender,\n value: showDate,\n hoverValue,\n showToday,\n inputReadOnly,\n },\n on: {\n change: calendarChange,\n ok,\n valueChange: this.handleShowDateChange,\n hoverChange: this.handleHoverChange,\n panelChange,\n inputSelect: this.handleCalendarInputSelect,\n },\n class: calendarClassName,\n scopedSlots: $scopedSlots,\n });\n const calendar = <RangeCalendar {...rangeCalendarProps} />;\n\n // default width for showTime\n const pickerStyle = {};\n if (props.showTime) {\n pickerStyle.width = '350px';\n }\n const [startValue, endValue] = value;\n const clearIcon =\n !props.disabled && props.allowClear && value && (startValue || endValue) ? (\n <Icon\n type=\"close-circle\"\n class={`${prefixCls}-picker-clear`}\n onClick={this.clearSelection}\n theme=\"filled\"\n />\n ) : null;\n\n const inputIcon = <InputIcon suffixIcon={suffixIcon} prefixCls={prefixCls} />;\n\n const input = ({ value: inputValue }) => {\n const [start, end] = inputValue;\n return (\n <span class={props.pickerInputClass}>\n <input\n disabled={props.disabled}\n readOnly\n value={formatDate(start, props.format)}\n placeholder={startPlaceholder}\n class={`${prefixCls}-range-picker-input`}\n tabIndex={-1}\n />\n <span class={`${prefixCls}-range-picker-separator`}> {separator} </span>\n <input\n disabled={props.disabled}\n readOnly\n value={formatDate(end, props.format)}\n placeholder={endPlaceholder}\n class={`${prefixCls}-range-picker-input`}\n tabIndex={-1}\n />\n {clearIcon}\n {inputIcon}\n </span>\n );\n };\n const vcDatePickerProps = mergeProps(\n {\n props,\n on: listeners,\n },\n pickerChangeHandler,\n {\n props: {\n calendar,\n value,\n open,\n prefixCls: `${prefixCls}-picker-container`,\n },\n on: {\n openChange: this.handleOpenChange,\n },\n style: popupStyle,\n scopedSlots: { default: input, ...$scopedSlots },\n },\n );\n return (\n <span\n ref=\"picker\"\n class={props.pickerClass}\n style={pickerStyle}\n tabIndex={props.disabled ? -1 : 0}\n onFocus={focus}\n onBlur={blur}\n onMouseenter={this.onMouseEnter}\n onMouseleave={this.onMouseLeave}\n >\n <VcDatePicker {...vcDatePickerProps} />\n </span>\n );\n },\n};\n","import * as moment from 'moment';\nimport Calendar from '../vc-calendar';\nimport VcDatePicker from '../vc-calendar/src/Picker';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider';\nimport {\n hasProp,\n getOptionProps,\n initDefaultProps,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { WeekPickerProps } from './interface';\nimport interopDefault from '../_util/interopDefault';\nimport InputIcon from './InputIcon';\n\nfunction formatValue(value, format) {\n return (value && value.format(format)) || '';\n}\nfunction noop() {}\n\nexport default {\n // static defaultProps = {\n // format: 'YYYY-wo',\n // allowClear: true,\n // };\n\n // private input: any;\n name: 'AWeekPicker',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(WeekPickerProps(), {\n format: 'gggg-wo',\n allowClear: true,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const value = this.value || this.defaultValue;\n if (value && !interopDefault(moment).isMoment(value)) {\n throw new Error(\n 'The value/defaultValue of WeekPicker or MonthPicker must be ' + 'a moment object',\n );\n }\n return {\n _value: value,\n _open: this.open,\n };\n },\n watch: {\n value(val) {\n const state = { _value: val };\n this.setState(state);\n this.prevState = { ...this.$data, ...state };\n },\n open(val) {\n const state = { _open: val };\n this.setState(state);\n this.prevState = { ...this.$data, ...state };\n },\n _open(val, oldVal) {\n this.$nextTick(() => {\n if (!hasProp(this, 'open') && oldVal && !val) {\n this.focus();\n }\n });\n },\n },\n mounted() {\n this.prevState = { ...this.$data };\n },\n updated() {\n this.$nextTick(() => {\n if (!hasProp(this, 'open') && this.prevState._open && !this._open) {\n this.focus();\n }\n });\n },\n methods: {\n weekDateRender(current) {\n const selectedValue = this.$data._value;\n const { _prefixCls: prefixCls, $scopedSlots } = this;\n const dateRender = this.dateRender || $scopedSlots.dateRender;\n const dateNode = dateRender ? dateRender(current) : current.date();\n if (\n selectedValue &&\n current.year() === selectedValue.year() &&\n current.week() === selectedValue.week()\n ) {\n return (\n <div class={`${prefixCls}-selected-day`}>\n <div class={`${prefixCls}-date`}>{dateNode}</div>\n </div>\n );\n }\n return <div class={`${prefixCls}-date`}>{dateNode}</div>;\n },\n handleChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState({ _value: value });\n }\n this.$emit('change', value, formatValue(value, this.format));\n },\n handleOpenChange(open) {\n if (!hasProp(this, 'open')) {\n this.setState({ _open: open });\n }\n this.$emit('openChange', open);\n },\n clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n this.handleChange(null);\n },\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n renderFooter(...args) {\n const { _prefixCls: prefixCls, $scopedSlots } = this;\n const renderExtraFooter = this.renderExtraFooter || $scopedSlots.renderExtraFooter;\n return renderExtraFooter ? (\n <div class={`${prefixCls}-footer-extra`}>{renderExtraFooter(...args)}</div>\n ) : null;\n },\n },\n\n render() {\n const props = getOptionProps(this);\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n const {\n prefixCls: customizePrefixCls,\n disabled,\n pickerClass,\n popupStyle,\n pickerInputClass,\n format,\n allowClear,\n locale,\n localeCode,\n disabledDate,\n defaultPickerValue,\n $data,\n $scopedSlots,\n } = this;\n const listeners = getListeners(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('calendar', customizePrefixCls);\n this._prefixCls = prefixCls;\n\n const { _value: pickerValue, _open: open } = $data;\n const { focus = noop, blur = noop } = listeners;\n\n if (pickerValue && localeCode) {\n pickerValue.locale(localeCode);\n }\n\n const placeholder = hasProp(this, 'placeholder') ? this.placeholder : locale.lang.placeholder;\n const weekDateRender = this.dateRender || $scopedSlots.dateRender || this.weekDateRender;\n const calendar = (\n <Calendar\n showWeekNumber\n dateRender={weekDateRender}\n prefixCls={prefixCls}\n format={format}\n locale={locale.lang}\n showDateInput={false}\n showToday={false}\n disabledDate={disabledDate}\n renderFooter={this.renderFooter}\n defaultValue={defaultPickerValue}\n />\n );\n const clearIcon =\n !disabled && allowClear && $data._value ? (\n <Icon\n type=\"close-circle\"\n class={`${prefixCls}-picker-clear`}\n onClick={this.clearSelection}\n theme=\"filled\"\n />\n ) : null;\n\n const inputIcon = <InputIcon suffixIcon={suffixIcon} prefixCls={prefixCls} />;\n\n const input = ({ value }) => {\n return (\n <span style={{ display: 'inline-block', width: '100%' }}>\n <input\n ref=\"input\"\n disabled={disabled}\n readOnly\n value={(value && value.format(format)) || ''}\n placeholder={placeholder}\n class={pickerInputClass}\n onFocus={focus}\n onBlur={blur}\n />\n {clearIcon}\n {inputIcon}\n </span>\n );\n };\n const vcDatePickerProps = {\n props: {\n ...props,\n calendar,\n prefixCls: `${prefixCls}-picker-container`,\n value: pickerValue,\n open,\n },\n on: {\n ...listeners,\n change: this.handleChange,\n openChange: this.handleOpenChange,\n },\n style: popupStyle,\n scopedSlots: { default: input, ...$scopedSlots },\n };\n return (\n <span class={pickerClass}>\n <VcDatePicker {...vcDatePickerProps} />\n </span>\n );\n },\n};\n","import * as moment from 'moment';\nimport omit from 'lodash/omit';\nimport MonthCalendar from '../vc-calendar/src/MonthCalendar';\nimport VcDatePicker from '../vc-calendar/src/Picker';\nimport classNames from 'classnames';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider';\nimport interopDefault from '../_util/interopDefault';\nimport BaseMixin from '../_util/BaseMixin';\nimport {\n hasProp,\n getOptionProps,\n initDefaultProps,\n mergeProps,\n getComponentFromProp,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport { formatDate } from './utils';\n\n// export const PickerProps = {\n// value?: moment.Moment;\n// prefixCls: string;\n// }\nfunction noop() {}\nexport default function createPicker(TheCalendar, props) {\n return {\n props: initDefaultProps(props, {\n allowClear: true,\n showToday: true,\n }),\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const value = this.value || this.defaultValue;\n if (value && !interopDefault(moment).isMoment(value)) {\n throw new Error(\n 'The value/defaultValue of DatePicker or MonthPicker must be ' + 'a moment object',\n );\n }\n return {\n sValue: value,\n showDate: value,\n _open: !!this.open,\n };\n },\n watch: {\n open(val) {\n const props = getOptionProps(this);\n const state = {};\n state._open = val;\n if ('value' in props && !val && props.value !== this.showDate) {\n state.showDate = props.value;\n }\n this.setState(state);\n },\n value(val) {\n const state = {};\n state.sValue = val;\n if (val !== this.sValue) {\n state.showDate = val;\n }\n this.setState(state);\n },\n _open(val, oldVal) {\n this.$nextTick(() => {\n if (!hasProp(this, 'open') && oldVal && !val) {\n this.focus();\n }\n });\n },\n },\n methods: {\n clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n this.handleChange(null);\n },\n\n handleChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n showDate: value,\n });\n }\n this.$emit('change', value, formatDate(value, this.format));\n },\n\n handleCalendarChange(value) {\n this.setState({ showDate: value });\n },\n handleOpenChange(open) {\n const props = getOptionProps(this);\n if (!('open' in props)) {\n this.setState({ _open: open });\n }\n this.$emit('openChange', open);\n },\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n renderFooter(...args) {\n const { $scopedSlots, $slots, _prefixCls: prefixCls } = this;\n const renderExtraFooter =\n this.renderExtraFooter || $scopedSlots.renderExtraFooter || $slots.renderExtraFooter;\n return renderExtraFooter ? (\n <div class={`${prefixCls}-footer-extra`}>\n {typeof renderExtraFooter === 'function'\n ? renderExtraFooter(...args)\n : renderExtraFooter}\n </div>\n ) : null;\n },\n onMouseEnter(e) {\n this.$emit('mouseenter', e);\n },\n onMouseLeave(e) {\n this.$emit('mouseleave', e);\n },\n },\n\n render() {\n const { $scopedSlots } = this;\n const { sValue: value, showDate, _open: open } = this.$data;\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n const listeners = getListeners(this);\n const { panelChange = noop, focus = noop, blur = noop, ok = noop } = listeners;\n const props = getOptionProps(this);\n\n const { prefixCls: customizePrefixCls, locale, localeCode, inputReadOnly } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('calendar', customizePrefixCls);\n this._prefixCls = prefixCls;\n\n const dateRender = props.dateRender || $scopedSlots.dateRender;\n const monthCellContentRender =\n props.monthCellContentRender || $scopedSlots.monthCellContentRender;\n const placeholder = 'placeholder' in props ? props.placeholder : locale.lang.placeholder;\n\n const disabledTime = props.showTime ? props.disabledTime : null;\n\n const calendarClassName = classNames({\n [`${prefixCls}-time`]: props.showTime,\n [`${prefixCls}-month`]: MonthCalendar === TheCalendar,\n });\n\n if (value && localeCode) {\n value.locale(localeCode);\n }\n\n const pickerProps = { props: {}, on: {} };\n const calendarProps = { props: {}, on: {} };\n const pickerStyle = {};\n if (props.showTime) {\n // fix https://github.com/ant-design/ant-design/issues/1902\n calendarProps.on.select = this.handleChange;\n pickerStyle.minWidth = '195px';\n } else {\n pickerProps.on.change = this.handleChange;\n }\n if ('mode' in props) {\n calendarProps.props.mode = props.mode;\n }\n const theCalendarProps = mergeProps(calendarProps, {\n props: {\n disabledDate: props.disabledDate,\n disabledTime,\n locale: locale.lang,\n timePicker: props.timePicker,\n defaultValue: props.defaultPickerValue || interopDefault(moment)(),\n dateInputPlaceholder: placeholder,\n prefixCls,\n dateRender,\n format: props.format,\n showToday: props.showToday,\n monthCellContentRender,\n renderFooter: this.renderFooter,\n value: showDate,\n inputReadOnly,\n },\n on: {\n ok,\n panelChange,\n change: this.handleCalendarChange,\n },\n class: calendarClassName,\n scopedSlots: $scopedSlots,\n });\n const calendar = <TheCalendar {...theCalendarProps} />;\n\n const clearIcon =\n !props.disabled && props.allowClear && value ? (\n <Icon\n type=\"close-circle\"\n class={`${prefixCls}-picker-clear`}\n onClick={this.clearSelection}\n theme=\"filled\"\n />\n ) : null;\n\n const inputIcon = (suffixIcon &&\n (isValidElement(suffixIcon) ? (\n cloneElement(suffixIcon, {\n class: `${prefixCls}-picker-icon`,\n })\n ) : (\n <span class={`${prefixCls}-picker-icon`}>{suffixIcon}</span>\n ))) || <Icon type=\"calendar\" class={`${prefixCls}-picker-icon`} />;\n\n const input = ({ value: inputValue }) => (\n <div>\n <input\n ref=\"input\"\n disabled={props.disabled}\n onFocus={focus}\n onBlur={blur}\n readOnly\n value={formatDate(inputValue, this.format)}\n placeholder={placeholder}\n class={props.pickerInputClass}\n tabIndex={props.tabIndex}\n name={this.name}\n />\n {clearIcon}\n {inputIcon}\n </div>\n );\n const vcDatePickerProps = {\n props: {\n ...props,\n ...pickerProps.props,\n calendar,\n value,\n prefixCls: `${prefixCls}-picker-container`,\n },\n on: {\n ...omit(listeners, 'change'),\n ...pickerProps.on,\n open,\n onOpenChange: this.handleOpenChange,\n },\n style: props.popupStyle,\n scopedSlots: { default: input, ...$scopedSlots },\n };\n return (\n <span\n class={props.pickerClass}\n style={pickerStyle}\n // tabIndex={props.disabled ? -1 : 0}\n // onFocus={focus}\n // onBlur={blur}\n onMouseenter={this.onMouseEnter}\n onMouseleave={this.onMouseLeave}\n >\n <VcDatePicker {...vcDatePickerProps} />\n </span>\n );\n },\n };\n}\n","import VcCalendar from '../vc-calendar';\nimport MonthCalendar from '../vc-calendar/src/MonthCalendar';\nimport createPicker from './createPicker';\nimport wrapPicker from './wrapPicker';\nimport RangePicker from './RangePicker';\nimport WeekPicker from './WeekPicker';\nimport { DatePickerProps, MonthPickerProps, WeekPickerProps, RangePickerProps } from './interface';\nimport Base from '../base';\n\nconst DatePicker = wrapPicker(\n { ...createPicker(VcCalendar, DatePickerProps()), name: 'ADatePicker' },\n DatePickerProps(),\n 'date',\n);\n\nconst MonthPicker = wrapPicker(\n { ...createPicker(MonthCalendar, MonthPickerProps()), name: 'AMonthPicker' },\n MonthPickerProps(),\n 'month',\n);\n\nObject.assign(DatePicker, {\n RangePicker: wrapPicker(RangePicker, RangePickerProps(), 'date'),\n MonthPicker,\n WeekPicker: wrapPicker(WeekPicker, WeekPickerProps(), 'week'),\n});\n\n/* istanbul ignore next */\nDatePicker.install = function(Vue) {\n Vue.use(Base);\n Vue.component(DatePicker.name, DatePicker);\n Vue.component(DatePicker.RangePicker.name, DatePicker.RangePicker);\n Vue.component(DatePicker.MonthPicker.name, DatePicker.MonthPicker);\n Vue.component(DatePicker.WeekPicker.name, DatePicker.WeekPicker);\n};\n\nexport default DatePicker;\n","// import { TimePickerProps } from '../time-picker'\nimport PropTypes from '../_util/vue-types';\nimport { TimesType, TimeType } from '../_util/moment-util';\n\nexport const PickerProps = () => ({\n name: PropTypes.string,\n transitionName: PropTypes.string,\n prefixCls: PropTypes.string,\n inputPrefixCls: PropTypes.string,\n format: PropTypes.oneOfType([PropTypes.string, PropTypes.array, PropTypes.func]),\n disabled: PropTypes.bool,\n allowClear: PropTypes.bool,\n suffixIcon: PropTypes.any,\n popupStyle: PropTypes.object,\n dropdownClassName: PropTypes.string,\n locale: PropTypes.any,\n localeCode: PropTypes.string,\n size: PropTypes.oneOf(['large', 'small', 'default']),\n getCalendarContainer: PropTypes.func,\n open: PropTypes.bool,\n // onOpenChange: PropTypes.(status: bool) => void,\n disabledDate: PropTypes.func,\n showToday: PropTypes.bool,\n dateRender: PropTypes.any, // (current: moment.Moment, today: moment.Moment) => React.ReactNode,\n pickerClass: PropTypes.string,\n pickerInputClass: PropTypes.string,\n timePicker: PropTypes.any,\n autoFocus: PropTypes.bool,\n tagPrefixCls: PropTypes.string,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n align: PropTypes.object.def(() => ({})),\n inputReadOnly: PropTypes.bool,\n valueFormat: PropTypes.string,\n});\n\nexport const SinglePickerProps = () => ({\n value: TimeType,\n defaultValue: TimeType,\n defaultPickerValue: TimeType,\n renderExtraFooter: PropTypes.any,\n placeholder: PropTypes.string,\n // onChange?: (date: moment.Moment, dateString: string) => void;\n});\n\nexport const DatePickerProps = () => ({\n ...PickerProps(),\n ...SinglePickerProps(),\n showTime: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n open: PropTypes.bool,\n disabledTime: PropTypes.func,\n // onOpenChange?: (status: bool) => void;\n // onOk?: (selectedTime: moment.Moment) => void;\n mode: PropTypes.oneOf(['time', 'date', 'month', 'year']),\n});\n\nexport const MonthPickerProps = () => ({\n ...PickerProps(),\n ...SinglePickerProps(),\n placeholder: PropTypes.string,\n monthCellContentRender: PropTypes.func,\n});\n// export const RangePickerPresetRange = PropTypes.oneOfType([TimesType, PropTypes.func])\n\nexport const RangePickerProps = () => ({\n ...PickerProps(),\n tagPrefixCls: PropTypes.string,\n value: TimesType,\n defaultValue: TimesType,\n defaultPickerValue: TimesType,\n timePicker: PropTypes.any,\n // onChange?: (dates: TimesType, dateStrings: [string, string]) => void;\n // onCalendarChange?: (dates: TimesType, dateStrings: [string, string]) => void;\n // onOk?: (selectedTime: moment.Moment) => void;\n showTime: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n ranges: PropTypes.object,\n placeholder: PropTypes.arrayOf(String),\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(String)]),\n separator: PropTypes.any,\n disabledTime: PropTypes.func,\n showToday: PropTypes.bool,\n renderExtraFooter: PropTypes.any,\n // onPanelChange?: (value?: TimesType, mode?: string | string[]) => void;\n});\n\nexport const WeekPickerProps = () => ({\n ...PickerProps(),\n ...SinglePickerProps(),\n placeholder: PropTypes.string,\n});\n\n// export interface DatePickerDecorator extends React.ClassicComponentClass<DatePickerProps> {\n// RangePicker: React.ClassicComponentClass<RangePickerProps>;\n// MonthPicker: React.ClassicComponentClass<MonthPickerProps>;\n// WeekPicker: React.ClassicComponentClass<WeexPickerProps>;\n// }\n","import CalendarLocale from '../../vc-calendar/src/locale/en_US';\nimport TimePickerLocale from '../../time-picker/locale/en_US';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Select date',\n rangePlaceholder: ['Start date', 'End date'],\n ...CalendarLocale,\n },\n timePickerLocale: {\n ...TimePickerLocale,\n },\n};\n\n// All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json\n\nexport default locale;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\n// deps-lint-skip: input\nimport '../../input/style';\nimport '../../time-picker/style';\nimport '../../tag/style';\n","// extracted by mini-css-extract-plugin","export function formatDate(value, format) {\n if (!value) {\n return '';\n }\n if (Array.isArray(format)) {\n format = format[0];\n }\n if (typeof format === 'function') {\n const result = format(value);\n if (typeof result === 'string') {\n return result;\n } else {\n throw new Error('The function of format does not return a string');\n }\n }\n return value.format(format);\n}\n","import TimePickerPanel from '../vc-time-picker/Panel';\nimport classNames from 'classnames';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { generateShowHourMinuteSecond } from '../time-picker';\nimport enUS from './locale/en_US';\nimport { getOptionProps, initDefaultProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport { checkValidate, stringToMoment, momentToString } from '../_util/moment-util';\n\nconst DEFAULT_FORMAT = {\n date: 'YYYY-MM-DD',\n dateTime: 'YYYY-MM-DD HH:mm:ss',\n week: 'gggg-wo',\n month: 'YYYY-MM',\n};\n\nconst LOCALE_FORMAT_MAPPING = {\n date: 'dateFormat',\n dateTime: 'dateTimeFormat',\n week: 'weekFormat',\n month: 'monthFormat',\n};\n\nfunction getColumns({ showHour, showMinute, showSecond, use12Hours }) {\n let column = 0;\n if (showHour) {\n column += 1;\n }\n if (showMinute) {\n column += 1;\n }\n if (showSecond) {\n column += 1;\n }\n if (use12Hours) {\n column += 1;\n }\n return column;\n}\n\nexport default function wrapPicker(Picker, props, pickerType) {\n return {\n name: Picker.name,\n props: initDefaultProps(props, {\n transitionName: 'slide-up',\n popupStyle: {},\n locale: {},\n }),\n model: {\n prop: 'value',\n event: 'change',\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n provide() {\n return {\n savePopupRef: this.savePopupRef,\n };\n },\n mounted() {\n const { autoFocus, disabled, value, defaultValue, valueFormat } = this;\n checkValidate('DatePicker', defaultValue, 'defaultValue', valueFormat);\n checkValidate('DatePicker', value, 'value', valueFormat);\n if (autoFocus && !disabled) {\n this.$nextTick(() => {\n this.focus();\n });\n }\n },\n watch: {\n value(val) {\n checkValidate('DatePicker', val, 'value', this.valueFormat);\n },\n },\n methods: {\n getDefaultLocale() {\n const result = {\n ...enUS,\n ...this.locale,\n };\n result.lang = {\n ...result.lang,\n ...(this.locale || {}).lang,\n };\n return result;\n },\n\n savePopupRef(ref) {\n this.popupRef = ref;\n },\n handleOpenChange(open) {\n this.$emit('openChange', open);\n },\n\n handleFocus(e) {\n this.$emit('focus', e);\n },\n\n handleBlur(e) {\n this.$emit('blur', e);\n },\n\n handleMouseEnter(e) {\n this.$emit('mouseenter', e);\n },\n\n handleMouseLeave(e) {\n this.$emit('mouseleave', e);\n },\n handleChange(date, dateString) {\n this.$emit(\n 'change',\n this.valueFormat ? momentToString(date, this.valueFormat) : date,\n dateString,\n );\n },\n handleOk(val) {\n this.$emit('ok', this.valueFormat ? momentToString(val, this.valueFormat) : val);\n },\n handleCalendarChange(date, dateString) {\n this.$emit(\n 'calendarChange',\n this.valueFormat ? momentToString(date, this.valueFormat) : date,\n dateString,\n );\n },\n focus() {\n this.$refs.picker.focus();\n },\n\n blur() {\n this.$refs.picker.blur();\n },\n\n transformValue(props) {\n if ('value' in props) {\n props.value = stringToMoment(props.value, this.valueFormat);\n }\n if ('defaultValue' in props) {\n props.defaultValue = stringToMoment(props.defaultValue, this.valueFormat);\n }\n if ('defaultPickerValue' in props) {\n props.defaultPickerValue = stringToMoment(props.defaultPickerValue, this.valueFormat);\n }\n },\n\n renderPicker(locale, localeCode) {\n const props = getOptionProps(this);\n this.transformValue(props);\n const {\n prefixCls: customizePrefixCls,\n inputPrefixCls: customizeInputPrefixCls,\n getCalendarContainer,\n size,\n showTime,\n disabled,\n format,\n } = props;\n const mergedPickerType = showTime ? `${pickerType}Time` : pickerType;\n const mergedFormat =\n format ||\n locale[LOCALE_FORMAT_MAPPING[mergedPickerType]] ||\n DEFAULT_FORMAT[mergedPickerType];\n\n const { getPrefixCls, getPopupContainer: getContextPopupContainer } = this.configProvider;\n const getPopupContainer = getCalendarContainer || getContextPopupContainer;\n const prefixCls = getPrefixCls('calendar', customizePrefixCls);\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n\n const pickerClass = classNames(`${prefixCls}-picker`, {\n [`${prefixCls}-picker-${size}`]: !!size,\n });\n const pickerInputClass = classNames(`${prefixCls}-picker-input`, inputPrefixCls, {\n [`${inputPrefixCls}-lg`]: size === 'large',\n [`${inputPrefixCls}-sm`]: size === 'small',\n [`${inputPrefixCls}-disabled`]: disabled,\n });\n\n const timeFormat = (showTime && showTime.format) || 'HH:mm:ss';\n const vcTimePickerProps = {\n ...generateShowHourMinuteSecond(timeFormat),\n format: timeFormat,\n use12Hours: showTime && showTime.use12Hours,\n };\n const columns = getColumns(vcTimePickerProps);\n const timePickerCls = `${prefixCls}-time-picker-column-${columns}`;\n const timePickerPanelProps = {\n props: {\n ...vcTimePickerProps,\n ...showTime,\n prefixCls: `${prefixCls}-time-picker`,\n placeholder: locale.timePickerLocale.placeholder,\n transitionName: 'slide-up',\n },\n class: timePickerCls,\n on: {\n esc: () => {},\n },\n };\n const timePicker = showTime ? <TimePickerPanel {...timePickerPanelProps} /> : null;\n const pickerProps = {\n props: {\n ...props,\n getCalendarContainer: getPopupContainer,\n format: mergedFormat,\n pickerClass,\n pickerInputClass,\n locale,\n localeCode,\n timePicker,\n },\n on: {\n ...getListeners(this),\n openChange: this.handleOpenChange,\n focus: this.handleFocus,\n blur: this.handleBlur,\n mouseenter: this.handleMouseEnter,\n mouseleave: this.handleMouseLeave,\n change: this.handleChange,\n ok: this.handleOk,\n calendarChange: this.handleCalendarChange,\n },\n ref: 'picker',\n scopedSlots: this.$scopedSlots || {},\n };\n return (\n <Picker {...pickerProps}>\n {this.$slots &&\n Object.keys(this.$slots).map(key => (\n <template slot={key} key={key}>\n {this.$slots[key]}\n </template>\n ))}\n </Picker>\n );\n },\n },\n\n render() {\n return (\n <LocaleReceiver\n componentName=\"DatePicker\"\n defaultLocale={this.getDefaultLocale}\n scopedSlots={{ default: this.renderPicker }}\n />\n );\n },\n };\n}\n","import PropTypes from '../_util/vue-types';\nimport { getOptionProps, getSlots, getComponentFromProp } from '../_util/props-util';\n\nconst ColProps = {\n child: PropTypes.any,\n bordered: PropTypes.bool,\n colon: PropTypes.bool,\n type: PropTypes.oneOf(['label', 'content']),\n layout: PropTypes.oneOf(['horizontal', 'vertical']),\n};\n\nconst Col = {\n functional: true,\n props: ColProps,\n render(h, ctx) {\n const { child, bordered, colon, type, layout } = ctx.props;\n const { prefixCls, span = 1 } = getOptionProps(child);\n const { key } = ctx.data;\n const label = getComponentFromProp(child, 'label');\n const slots = getSlots(child);\n const labelProps = {\n attrs: {},\n class: [\n `${prefixCls}-item-label`,\n {\n [`${prefixCls}-item-colon`]: colon,\n [`${prefixCls}-item-no-label`]: !label,\n },\n ],\n key: `${key}-label`,\n };\n if (layout === 'vertical') {\n labelProps.attrs.colSpan = span * 2 - 1;\n }\n\n if (bordered) {\n if (type === 'label') {\n return <th {...labelProps}>{label}</th>;\n }\n return (\n <td class={`${prefixCls}-item-content`} key={`${key}-content`} colSpan={span * 2 - 1}>\n {slots.default}\n </td>\n );\n }\n if (layout === 'vertical') {\n if (type === 'content') {\n return (\n <td colSpan={span} class={`${prefixCls}-item`}>\n <span class={`${prefixCls}-item-content`} key={`${key}-content`}>\n {slots.default}\n </span>\n </td>\n );\n }\n return (\n <td colSpan={span} class={`${prefixCls}-item`}>\n <span\n class={[`${prefixCls}-item-label`, { [`${prefixCls}-item-colon`]: colon }]}\n key={`${key}-label`}\n >\n {label}\n </span>\n </td>\n );\n }\n return (\n <td colSpan={span} class={`${prefixCls}-item`}>\n <span {...labelProps}>{label}</span>\n <span class={`${prefixCls}-item-content`} key={`${key}-content`}>\n {slots.default}\n </span>\n </td>\n );\n },\n};\n\nexport default Col;\n","import warning from '../_util/warning';\nimport ResponsiveObserve, { responsiveArray } from '../_util/responsiveObserve';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Col from './Col';\nimport PropTypes from '../_util/vue-types';\nimport {\n initDefaultProps,\n isValidElement,\n getOptionProps,\n getComponentFromProp,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport Base from '../base';\nimport { cloneElement } from '../_util/vnode';\n\nexport const DescriptionsItemProps = {\n prefixCls: PropTypes.string,\n label: PropTypes.any,\n span: PropTypes.number,\n};\n\nfunction 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 const DescriptionsItem = {\n name: 'ADescriptionsItem',\n props: initDefaultProps(DescriptionsItemProps, { span: 1 }),\n};\n\nexport const DescriptionsProps = {\n prefixCls: PropTypes.string,\n bordered: PropTypes.bool,\n size: PropTypes.oneOf(['default', 'middle', 'small']).def('default'),\n title: PropTypes.any,\n column: PropTypes.oneOfType([PropTypes.number, PropTypes.object]),\n layout: PropTypes.oneOf(['horizontal', 'vertical']),\n colon: PropTypes.bool,\n};\n\n/**\n * Convert children into `column` groups.\n * @param children: DescriptionsItem\n * @param column: number\n */\nconst generateChildrenRows = (children, column) => {\n const rows = [];\n let columns = null;\n let leftSpans;\n\n const itemNodes = toArray(children);\n itemNodes.forEach((node, index) => {\n const itemProps = getOptionProps(node);\n let itemNode = node;\n\n if (!columns) {\n leftSpans = column;\n columns = [];\n rows.push(columns);\n }\n\n // Always set last span to align the end of Descriptions\n const lastItem = index === itemNodes.length - 1;\n let lastSpanSame = true;\n if (lastItem) {\n lastSpanSame = !itemProps.span || itemProps.span === leftSpans;\n itemNode = cloneElement(itemNode, {\n props: {\n span: leftSpans,\n },\n });\n }\n\n // Calculate left fill span\n const { span = 1 } = itemProps;\n columns.push(itemNode);\n leftSpans -= span;\n\n if (leftSpans <= 0) {\n columns = null;\n\n warning(\n leftSpans === 0 && lastSpanSame,\n 'Descriptions',\n 'Sum of column `span` in a line exceeds `column` of Descriptions.',\n );\n }\n });\n\n return rows;\n};\n\nconst defaultColumnMap = {\n xxl: 3,\n xl: 3,\n lg: 3,\n md: 3,\n sm: 2,\n xs: 1,\n};\n\nconst Descriptions = {\n name: 'ADescriptions',\n Item: DescriptionsItem,\n mixins: [BaseMixin],\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n props: initDefaultProps(DescriptionsProps, {\n column: defaultColumnMap,\n }),\n data() {\n return {\n screens: {},\n token: undefined,\n };\n },\n methods: {\n getColumn() {\n const { column } = this.$props;\n if (typeof column === 'object') {\n for (let i = 0; i < responsiveArray.length; i++) {\n const breakpoint = responsiveArray[i];\n if (this.screens[breakpoint] && column[breakpoint] !== undefined) {\n return column[breakpoint] || defaultColumnMap[breakpoint];\n }\n }\n }\n // If the configuration is not an object, it is a number, return number\n if (typeof column === 'number') {\n return column;\n }\n // If it is an object, but no response is found, this happens only in the test.\n // Maybe there are some strange environments\n return 3;\n },\n renderRow(children, index, { prefixCls }, bordered, layout, colon) {\n const renderCol = (colItem, type, idx) => {\n return (\n <Col\n child={colItem}\n bordered={bordered}\n colon={colon}\n type={type}\n key={`${type}-${colItem.key || idx}`}\n layout={layout}\n />\n );\n };\n\n const cloneChildren = [];\n const cloneContentChildren = [];\n toArray(children).forEach((childrenItem, idx) => {\n cloneChildren.push(renderCol(childrenItem, 'label', idx));\n if (layout === 'vertical') {\n cloneContentChildren.push(renderCol(childrenItem, 'content', idx));\n } else if (bordered) {\n cloneChildren.push(renderCol(childrenItem, 'content', idx));\n }\n });\n\n if (layout === 'vertical') {\n return [\n <tr class={`${prefixCls}-row`} key={`label-${index}`}>\n {cloneChildren}\n </tr>,\n <tr class={`${prefixCls}-row`} key={`content-${index}`}>\n {cloneContentChildren}\n </tr>,\n ];\n }\n\n return (\n <tr class={`${prefixCls}-row`} key={index}>\n {cloneChildren}\n </tr>\n );\n },\n },\n mounted() {\n const { column } = this.$props;\n this.token = ResponsiveObserve.subscribe(screens => {\n if (typeof column !== 'object') {\n return;\n }\n this.setState({\n screens,\n });\n });\n },\n beforeDestroy() {\n ResponsiveObserve.unsubscribe(this.token);\n },\n render() {\n const {\n prefixCls: customizePrefixCls,\n size,\n bordered = false,\n layout = 'horizontal',\n colon = true,\n } = this.$props;\n const title = getComponentFromProp(this, 'title') || null;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('descriptions', customizePrefixCls);\n\n const column = this.getColumn();\n const children = this.$slots.default;\n const cloneChildren = toArray(children)\n .map(child => {\n if (isValidElement(child)) {\n return cloneElement(child, {\n props: {\n prefixCls,\n },\n });\n }\n return null;\n })\n .filter(node => node);\n\n const childrenArray = generateChildrenRows(cloneChildren, column);\n return (\n <div\n class={[\n prefixCls,\n {\n [`${prefixCls}-${size}`]: size !== 'default',\n [`${prefixCls}-bordered`]: !!bordered,\n },\n ]}\n >\n {title && <div class={`${prefixCls}-title`}>{title}</div>}\n <div class={`${prefixCls}-view`}>\n <table>\n <tbody>\n {childrenArray.map((child, index) =>\n this.renderRow(\n child,\n index,\n {\n prefixCls,\n },\n bordered,\n layout,\n colon,\n ),\n )}\n </tbody>\n </table>\n </div>\n </div>\n );\n },\n};\n\nDescriptions.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Descriptions.name, Descriptions);\n Vue.component(Descriptions.Item.name, Descriptions.Item);\n};\n\nexport default Descriptions;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Base from '../base';\n\nconst Divider = {\n name: 'ADivider',\n props: {\n prefixCls: PropTypes.string,\n type: PropTypes.oneOf(['horizontal', 'vertical', '']).def('horizontal'),\n dashed: PropTypes.bool,\n orientation: PropTypes.oneOf(['left', 'right', 'center']),\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls, type, $slots, dashed, orientation = 'center' } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('divider', customizePrefixCls);\n const orientationPrefix = orientation.length > 0 ? '-' + orientation : orientation;\n\n const classString = {\n [prefixCls]: true,\n [`${prefixCls}-${type}`]: true,\n [`${prefixCls}-with-text${orientationPrefix}`]: $slots.default,\n [`${prefixCls}-dashed`]: !!dashed,\n };\n\n return (\n <div class={classString} role=\"separator\">\n {$slots.default && <span class={`${prefixCls}-inner-text`}>{$slots.default}</span>}\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nDivider.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Divider.name, Divider);\n};\n\nexport default Divider;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import classnames from 'classnames';\nimport omit from 'omit.js';\nimport VcDrawer from '../vc-drawer/src';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport Icon from '../icon';\nimport { getComponentFromProp, getOptionProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Base from '../base';\n\nconst Drawer = {\n name: 'ADrawer',\n props: {\n closable: PropTypes.bool.def(true),\n destroyOnClose: PropTypes.bool,\n getContainer: PropTypes.any,\n maskClosable: PropTypes.bool.def(true),\n mask: PropTypes.bool.def(true),\n maskStyle: PropTypes.object,\n wrapStyle: PropTypes.object,\n bodyStyle: PropTypes.object,\n headerStyle: PropTypes.object,\n drawerStyle: PropTypes.object,\n title: PropTypes.any,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).def(256),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).def(256),\n zIndex: PropTypes.number,\n prefixCls: PropTypes.string,\n placement: PropTypes.oneOf(['top', 'right', 'bottom', 'left']).def('right'),\n level: PropTypes.any.def(null),\n wrapClassName: PropTypes.string, // not use class like react, vue will add class to root dom\n handle: PropTypes.any,\n afterVisibleChange: PropTypes.func,\n keyboard: PropTypes.bool.def(true),\n },\n mixins: [BaseMixin],\n data() {\n this.destroyClose = false;\n this.preVisible = this.$props.visible;\n return {\n _push: false,\n };\n },\n inject: {\n parentDrawer: {\n default: () => null,\n },\n configProvider: { default: () => ConfigConsumerProps },\n },\n provide() {\n return {\n parentDrawer: this,\n };\n },\n mounted() {\n // fix: delete drawer in child and re-render, no push started.\n // <Drawer>{show && <Drawer />}</Drawer>\n const { visible } = this;\n if (visible && this.parentDrawer) {\n this.parentDrawer.push();\n }\n },\n updated() {\n this.$nextTick(() => {\n if (this.preVisible !== this.visible && this.parentDrawer) {\n if (this.visible) {\n this.parentDrawer.push();\n } else {\n this.parentDrawer.pull();\n }\n }\n this.preVisible = this.visible;\n });\n },\n beforeDestroy() {\n // unmount drawer in child, clear push.\n if (this.parentDrawer) {\n this.parentDrawer.pull();\n }\n },\n methods: {\n close(e) {\n this.$emit('close', e);\n },\n // onMaskClick(e) {\n // if (!this.maskClosable) {\n // return;\n // }\n // this.close(e);\n // },\n push() {\n this.setState({\n _push: true,\n });\n },\n pull() {\n this.setState({\n _push: false,\n });\n },\n onDestroyTransitionEnd() {\n const isDestroyOnClose = this.getDestroyOnClose();\n if (!isDestroyOnClose) {\n return;\n }\n if (!this.visible) {\n this.destroyClose = true;\n this.$forceUpdate();\n }\n },\n\n getDestroyOnClose() {\n return this.destroyOnClose && !this.visible;\n },\n // get drawar push width or height\n getPushTransform(placement) {\n if (placement === 'left' || placement === 'right') {\n return `translateX(${placement === 'left' ? 180 : -180}px)`;\n }\n if (placement === 'top' || placement === 'bottom') {\n return `translateY(${placement === 'top' ? 180 : -180}px)`;\n }\n },\n getRcDrawerStyle() {\n const { zIndex, placement, wrapStyle } = this.$props;\n const { _push: push } = this.$data;\n return {\n zIndex,\n transform: push ? this.getPushTransform(placement) : undefined,\n ...wrapStyle,\n };\n },\n renderHeader(prefixCls) {\n const { closable, headerStyle } = this.$props;\n const title = getComponentFromProp(this, 'title');\n if (!title && !closable) {\n return null;\n }\n\n const headerClassName = title ? `${prefixCls}-header` : `${prefixCls}-header-no-title`;\n return (\n <div class={headerClassName} style={headerStyle}>\n {title && <div class={`${prefixCls}-title`}>{title}</div>}\n {closable ? this.renderCloseIcon(prefixCls) : null}\n </div>\n );\n },\n renderCloseIcon(prefixCls) {\n const { closable } = this;\n return (\n closable && (\n <button key=\"closer\" onClick={this.close} aria-label=\"Close\" class={`${prefixCls}-close`}>\n <Icon type=\"close\" />\n </button>\n )\n );\n },\n // render drawer body dom\n renderBody(prefixCls) {\n if (this.destroyClose && !this.visible) {\n return null;\n }\n this.destroyClose = false;\n const { bodyStyle, drawerStyle } = this.$props;\n\n const containerStyle = {};\n\n const isDestroyOnClose = this.getDestroyOnClose();\n if (isDestroyOnClose) {\n // Increase the opacity transition, delete children after closing.\n containerStyle.opacity = 0;\n containerStyle.transition = 'opacity .3s';\n }\n\n return (\n <div\n class={`${prefixCls}-wrapper-body`}\n style={{ ...containerStyle, ...drawerStyle }}\n onTransitionend={this.onDestroyTransitionEnd}\n >\n {this.renderHeader(prefixCls)}\n <div key=\"body\" class={`${prefixCls}-body`} style={bodyStyle}>\n {this.$slots.default}\n </div>\n </div>\n );\n },\n },\n render() {\n const props = getOptionProps(this);\n const {\n prefixCls: customizePrefixCls,\n width,\n height,\n visible,\n placement,\n wrapClassName,\n mask,\n ...rest\n } = props;\n const haveMask = mask ? '' : 'no-mask';\n const offsetStyle = {};\n if (placement === 'left' || placement === 'right') {\n offsetStyle.width = typeof width === 'number' ? `${width}px` : width;\n } else {\n offsetStyle.height = typeof height === 'number' ? `${height}px` : height;\n }\n const handler = getComponentFromProp(this, 'handle') || false;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('drawer', customizePrefixCls);\n\n const vcDrawerProps = {\n props: {\n ...omit(rest, [\n 'closable',\n 'destroyOnClose',\n 'drawerStyle',\n 'headerStyle',\n 'bodyStyle',\n 'title',\n 'push',\n 'visible',\n 'getPopupContainer',\n 'rootPrefixCls',\n 'getPrefixCls',\n 'renderEmpty',\n 'csp',\n 'pageHeader',\n 'autoInsertSpaceInButton',\n ]),\n handler,\n ...offsetStyle,\n prefixCls,\n open: visible,\n showMask: mask,\n placement,\n className: classnames({\n [wrapClassName]: !!wrapClassName,\n [haveMask]: !!haveMask,\n }),\n wrapStyle: this.getRcDrawerStyle(),\n },\n on: {\n ...getListeners(this),\n },\n };\n return <VcDrawer {...vcDrawerProps}>{this.renderBody(prefixCls)}</VcDrawer>;\n },\n};\n\n/* istanbul ignore next */\nDrawer.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Drawer.name, Drawer);\n};\n\nexport default Drawer;\n","// deps-lint-skip: empty\nimport '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import Button from '../button';\nimport buttonTypes from '../button/buttonTypes';\nimport { ButtonGroupProps } from '../button/button-group';\nimport Dropdown from './dropdown';\nimport PropTypes from '../_util/vue-types';\nimport { hasProp, getComponentFromProp } from '../_util/props-util';\nimport getDropdownProps from './getDropdownProps';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Icon from '../icon';\n\nconst ButtonTypesProps = buttonTypes();\nconst DropdownProps = getDropdownProps();\nconst ButtonGroup = Button.Group;\nconst DropdownButtonProps = {\n ...ButtonGroupProps,\n ...DropdownProps,\n type: PropTypes.oneOf(['primary', 'ghost', 'dashed', 'danger', 'default']).def('default'),\n size: PropTypes.oneOf(['small', 'large', 'default']).def('default'),\n htmlType: ButtonTypesProps.htmlType,\n href: PropTypes.string,\n disabled: PropTypes.bool,\n prefixCls: PropTypes.string,\n placement: DropdownProps.placement.def('bottomRight'),\n icon: PropTypes.any,\n title: PropTypes.string,\n};\nexport { DropdownButtonProps };\nexport default {\n name: 'ADropdownButton',\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n props: DropdownButtonProps,\n provide() {\n return {\n savePopupRef: this.savePopupRef,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n savePopupRef(ref) {\n this.popupRef = ref;\n },\n onClick(e) {\n this.$emit('click', e);\n },\n onVisibleChange(val) {\n this.$emit('visibleChange', val);\n },\n },\n render() {\n const {\n type,\n disabled,\n htmlType,\n prefixCls: customizePrefixCls,\n trigger,\n align,\n visible,\n placement,\n getPopupContainer,\n href,\n title,\n ...restProps\n } = this.$props;\n const icon = getComponentFromProp(this, 'icon') || <Icon type=\"ellipsis\" />;\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('dropdown-button', customizePrefixCls);\n const dropdownProps = {\n props: {\n align,\n disabled,\n trigger: disabled ? [] : trigger,\n placement,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n },\n on: {\n visibleChange: this.onVisibleChange,\n },\n };\n if (hasProp(this, 'visible')) {\n dropdownProps.props.visible = visible;\n }\n\n const buttonGroupProps = {\n props: {\n ...restProps,\n },\n class: prefixCls,\n };\n\n return (\n <ButtonGroup {...buttonGroupProps}>\n <Button\n type={type}\n disabled={disabled}\n onClick={this.onClick}\n htmlType={htmlType}\n href={href}\n title={title}\n >\n {this.$slots.default}\n </Button>\n <Dropdown {...dropdownProps}>\n <template slot=\"overlay\">{getComponentFromProp(this, 'overlay')}</template>\n <Button type={type}>{icon}</Button>\n </Dropdown>\n </ButtonGroup>\n );\n },\n};\n","import RcDropdown from '../vc-dropdown/src/index';\nimport DropdownButton from './dropdown-button';\nimport PropTypes from '../_util/vue-types';\nimport { cloneElement } from '../_util/vnode';\nimport {\n getOptionProps,\n getPropsData,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport getDropdownProps from './getDropdownProps';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Icon from '../icon';\n\nconst DropdownProps = getDropdownProps();\nconst Dropdown = {\n name: 'ADropdown',\n props: {\n ...DropdownProps,\n prefixCls: PropTypes.string,\n mouseEnterDelay: PropTypes.number.def(0.15),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n placement: DropdownProps.placement.def('bottomLeft'),\n },\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n provide() {\n return {\n savePopupRef: this.savePopupRef,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n savePopupRef(ref) {\n this.popupRef = ref;\n },\n getTransitionName() {\n const { placement = '', transitionName } = this.$props;\n if (transitionName !== undefined) {\n return transitionName;\n }\n if (placement.indexOf('top') >= 0) {\n return 'slide-down';\n }\n return 'slide-up';\n },\n renderOverlay(prefixCls) {\n const overlay = getComponentFromProp(this, 'overlay');\n const overlayNode = Array.isArray(overlay) ? overlay[0] : overlay;\n // menu cannot be selectable in dropdown defaultly\n // menu should be focusable in dropdown defaultly\n const overlayProps = overlayNode && getPropsData(overlayNode);\n const { selectable = false, focusable = true } = overlayProps || {};\n const expandIcon = (\n <span class={`${prefixCls}-menu-submenu-arrow`}>\n <Icon type=\"right\" class={`${prefixCls}-menu-submenu-arrow-icon`} />\n </span>\n );\n\n const fixedModeOverlay =\n overlayNode && overlayNode.componentOptions\n ? cloneElement(overlayNode, {\n props: {\n mode: 'vertical',\n selectable,\n focusable,\n expandIcon,\n },\n })\n : overlay;\n return fixedModeOverlay;\n },\n },\n\n render() {\n const { $slots } = this;\n const props = getOptionProps(this);\n const { prefixCls: customizePrefixCls, trigger, disabled, getPopupContainer } = props;\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('dropdown', customizePrefixCls);\n\n const dropdownTrigger = cloneElement($slots.default, {\n class: `${prefixCls}-trigger`,\n props: {\n disabled,\n },\n });\n const triggerActions = disabled ? [] : trigger;\n let alignPoint;\n if (triggerActions && triggerActions.indexOf('contextmenu') !== -1) {\n alignPoint = true;\n }\n const dropdownProps = {\n props: {\n alignPoint,\n ...props,\n prefixCls,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n transitionName: this.getTransitionName(),\n trigger: triggerActions,\n },\n on: getListeners(this),\n };\n return (\n <RcDropdown {...dropdownProps}>\n {dropdownTrigger}\n <template slot=\"overlay\">{this.renderOverlay(prefixCls)}</template>\n </RcDropdown>\n );\n },\n};\n\nDropdown.Button = DropdownButton;\nexport default Dropdown;\nexport { DropdownProps };\n","import PropTypes from '../_util/vue-types';\nexport default () => ({\n trigger: PropTypes.array.def(['hover']),\n overlay: PropTypes.any,\n visible: PropTypes.bool,\n disabled: PropTypes.bool,\n align: PropTypes.object,\n getPopupContainer: PropTypes.func,\n prefixCls: PropTypes.string,\n transitionName: PropTypes.string,\n placement: PropTypes.oneOf([\n 'topLeft',\n 'topCenter',\n 'topRight',\n 'bottomLeft',\n 'bottomCenter',\n 'bottomRight',\n ]),\n overlayClassName: PropTypes.string,\n overlayStyle: PropTypes.object,\n forceRender: PropTypes.bool,\n mouseEnterDelay: PropTypes.number,\n mouseLeaveDelay: PropTypes.number,\n openClassName: PropTypes.string,\n minOverlayWidthMatchTrigger: PropTypes.bool,\n});\n","import Dropdown from './dropdown';\nimport DropdownButton from './dropdown-button';\n\nexport { DropdownProps } from './dropdown';\nexport { DropdownButtonProps } from './dropdown-button';\nimport Base from '../base';\n\nDropdown.Button = DropdownButton;\n\n/* istanbul ignore next */\nDropdown.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Dropdown.name, Dropdown);\n Vue.component(DropdownButton.name, DropdownButton);\n};\n\nexport default Dropdown;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../button/style';\n","// extracted by mini-css-extract-plugin","export default {\n functional: true,\n PRESENTED_IMAGE_DEFAULT: true,\n render() {\n return (\n <svg width=\"184\" height=\"152\" viewBox=\"0 0 184 152\" xmlns=\"http://www.w3.org/2000/svg\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <g transform=\"translate(24 31.67)\">\n <ellipse\n fillOpacity=\".8\"\n fill=\"#F5F5F7\"\n cx=\"67.797\"\n cy=\"106.89\"\n rx=\"67.797\"\n ry=\"12.668\"\n />\n <path\n d=\"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z\"\n fill=\"#AEB8C2\"\n />\n <path\n d=\"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z\"\n fill=\"url(#linearGradient-1)\"\n transform=\"translate(13.56)\"\n />\n <path\n d=\"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z\"\n fill=\"#F5F5F7\"\n />\n <path\n d=\"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z\"\n fill=\"#DCE0E6\"\n />\n </g>\n <path\n d=\"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z\"\n fill=\"#DCE0E6\"\n />\n <g transform=\"translate(149.65 15.383)\" fill=\"#FFF\">\n <ellipse cx=\"20.654\" cy=\"3.167\" rx=\"2.849\" ry=\"2.815\" />\n <path d=\"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z\" />\n </g>\n </g>\n </svg>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport DefaultEmptyImg from './empty';\nimport SimpleEmptyImg from './simple';\nimport Base from '../base';\n\nexport const TransferLocale = () => {\n return {\n description: PropTypes.string,\n };\n};\n\nexport const EmptyProps = () => {\n return {\n prefixCls: PropTypes.string,\n image: PropTypes.any,\n description: PropTypes.any,\n imageStyle: PropTypes.object,\n };\n};\n\nconst Empty = {\n name: 'AEmpty',\n props: {\n ...EmptyProps(),\n },\n methods: {\n renderEmpty(contentLocale) {\n const { prefixCls: customizePrefixCls, imageStyle } = this.$props;\n const prefixCls = ConfigConsumerProps.getPrefixCls('empty', customizePrefixCls);\n const image = getComponentFromProp(this, 'image') || <DefaultEmptyImg />;\n const description = getComponentFromProp(this, 'description');\n\n const des = typeof description !== 'undefined' ? description : contentLocale.description;\n const alt = typeof des === 'string' ? des : 'empty';\n const cls = { [prefixCls]: true };\n let imageNode = null;\n if (typeof image === 'string') {\n imageNode = <img alt={alt} src={image} />;\n } else if (typeof image === 'object' && image.PRESENTED_IMAGE_SIMPLE) {\n const Image = image;\n imageNode = <Image />;\n cls[`${prefixCls}-normal`] = true;\n } else {\n imageNode = image;\n }\n return (\n <div class={cls} {...{ on: getListeners(this) }}>\n <div class={`${prefixCls}-image`} style={imageStyle}>\n {imageNode}\n </div>\n {des && <p class={`${prefixCls}-description`}>{des}</p>}\n {this.$slots.default && <div class={`${prefixCls}-footer`}>{this.$slots.default}</div>}\n </div>\n );\n },\n },\n render() {\n return <LocaleReceiver componentName=\"Empty\" scopedSlots={{ default: this.renderEmpty }} />;\n },\n};\n\nEmpty.PRESENTED_IMAGE_DEFAULT = DefaultEmptyImg;\nEmpty.PRESENTED_IMAGE_SIMPLE = SimpleEmptyImg;\n\n/* istanbul ignore next */\nEmpty.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Empty.name, Empty);\n};\n\nexport default Empty;\n","export default {\n functional: true,\n PRESENTED_IMAGE_SIMPLE: true,\n render() {\n return (\n <svg width=\"64\" height=\"41\" viewBox=\"0 0 64 41\" xmlns=\"http://www.w3.org/2000/svg\">\n <g transform=\"translate(0 1)\" fill=\"none\" fillRule=\"evenodd\">\n <ellipse fill=\"#F5F5F5\" cx=\"32\" cy=\"33\" rx=\"32\" ry=\"7\" />\n <g fillRule=\"nonzero\" stroke=\"#D9D9D9\">\n <path d=\"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z\" />\n <path\n d=\"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z\"\n fill=\"#FAFAFA\"\n />\n </g>\n </g>\n </svg>\n );\n },\n};\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport { ColProps } from '../grid/Col';\nimport isRegExp from 'lodash/isRegExp';\nimport warning from '../_util/warning';\nimport FormItem from './FormItem';\nimport { initDefaultProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\n\nexport const FormProps = {\n layout: PropTypes.oneOf(['horizontal', 'inline', 'vertical']),\n labelCol: PropTypes.shape(ColProps).loose,\n wrapperCol: PropTypes.shape(ColProps).loose,\n colon: PropTypes.bool,\n labelAlign: PropTypes.oneOf(['left', 'right']),\n prefixCls: PropTypes.string,\n hideRequiredMark: PropTypes.bool,\n model: PropTypes.object,\n rules: PropTypes.object,\n validateMessages: PropTypes.any,\n validateOnRuleChange: PropTypes.bool,\n};\n\nexport const ValidationRule = {\n /** validation error message */\n message: PropTypes.string,\n /** built-in validation type, available options: https://github.com/yiminghe/async-validator#type */\n type: PropTypes.string,\n /** indicates whether field is required */\n required: PropTypes.boolean,\n /** treat required fields that only contain whitespace as errors */\n whitespace: PropTypes.boolean,\n /** validate the exact length of a field */\n len: PropTypes.number,\n /** validate the min length of a field */\n min: PropTypes.number,\n /** validate the max length of a field */\n max: PropTypes.number,\n /** validate the value from a list of possible values */\n enum: PropTypes.oneOfType([String, PropTypes.arrayOf(String)]),\n /** validate from a regular expression */\n pattern: PropTypes.custom(isRegExp),\n /** transform a value before validation */\n transform: PropTypes.func,\n /** custom validate function (Note: callback must be called) */\n validator: PropTypes.func,\n};\n\nconst Form = {\n name: 'AFormModel',\n props: initDefaultProps(FormProps, {\n layout: 'horizontal',\n hideRequiredMark: false,\n colon: true,\n }),\n Item: FormItem,\n created() {\n this.fields = [];\n },\n provide() {\n return {\n FormContext: this,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n watch: {\n rules() {\n if (this.validateOnRuleChange) {\n this.validate(() => {});\n }\n },\n },\n computed: {\n vertical() {\n return this.layout === 'vertical';\n },\n },\n methods: {\n addField(field) {\n if (field) {\n this.fields.push(field);\n }\n },\n removeField(field) {\n if (field.prop) {\n this.fields.splice(this.fields.indexOf(field), 1);\n }\n },\n onSubmit(e) {\n if (!getListeners(this).submit) {\n e.preventDefault();\n } else {\n this.$emit('submit', e);\n }\n },\n resetFields() {\n if (!this.model) {\n warning(false, 'FormModel', 'model is required for resetFields to work.');\n return;\n }\n this.fields.forEach(field => {\n field.resetField();\n });\n },\n clearValidate(props = []) {\n const fields = props.length\n ? typeof props === 'string'\n ? this.fields.filter(field => props === field.prop)\n : this.fields.filter(field => props.indexOf(field.prop) > -1)\n : this.fields;\n fields.forEach(field => {\n field.clearValidate();\n });\n },\n validate(callback) {\n if (!this.model) {\n warning(false, 'FormModel', 'model is required for resetFields to work.');\n return;\n }\n let promise;\n // if no callback, return promise\n if (typeof callback !== 'function' && window.Promise) {\n promise = new window.Promise((resolve, reject) => {\n callback = function(valid) {\n valid ? resolve(valid) : reject(valid);\n };\n });\n }\n let valid = true;\n let count = 0;\n // 如果需要验证的fields为空,调用验证时立刻返回callback\n if (this.fields.length === 0 && callback) {\n callback(true);\n }\n let invalidFields = {};\n this.fields.forEach(field => {\n field.validate('', (message, field) => {\n if (message) {\n valid = false;\n }\n invalidFields = Object.assign({}, invalidFields, field);\n if (typeof callback === 'function' && ++count === this.fields.length) {\n callback(valid, invalidFields);\n }\n });\n });\n if (promise) {\n return promise;\n }\n },\n validateField(props, cb) {\n props = [].concat(props);\n const fields = this.fields.filter(field => props.indexOf(field.prop) !== -1);\n if (!fields.length) {\n warning(false, 'FormModel', 'please pass correct props!');\n return;\n }\n fields.forEach(field => {\n field.validate('', cb);\n });\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, hideRequiredMark, layout, onSubmit, $slots } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('form', customizePrefixCls);\n\n const formClassName = classNames(prefixCls, {\n [`${prefixCls}-horizontal`]: layout === 'horizontal',\n [`${prefixCls}-vertical`]: layout === 'vertical',\n [`${prefixCls}-inline`]: layout === 'inline',\n [`${prefixCls}-hide-required-mark`]: hideRequiredMark,\n });\n return (\n <form onSubmit={onSubmit} class={formClassName}>\n {$slots.default}\n </form>\n );\n },\n};\n\nexport default Form;\n","import AsyncValidator from 'async-validator';\nimport cloneDeep from 'lodash/cloneDeep';\nimport PropTypes from '../_util/vue-types';\nimport { ColProps } from '../grid/Col';\nimport {\n initDefaultProps,\n getComponentFromProp,\n getOptionProps,\n getEvents,\n filterEmpty,\n isValidElement,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider';\nimport FormItem from '../form/FormItem';\nimport { cloneElement } from '../_util/vnode';\n\nfunction noop() {}\n\nfunction getPropByPath(obj, path, strict) {\n let tempObj = obj;\n path = path.replace(/\\[(\\w+)\\]/g, '.$1');\n path = path.replace(/^\\./, '');\n\n let keyArr = path.split('.');\n let i = 0;\n for (let len = keyArr.length; i < len - 1; ++i) {\n if (!tempObj && !strict) break;\n let key = keyArr[i];\n if (key in tempObj) {\n tempObj = tempObj[key];\n } else {\n if (strict) {\n throw new Error('please transfer a valid prop path to form item!');\n }\n break;\n }\n }\n return {\n o: tempObj,\n k: keyArr[i],\n v: tempObj ? tempObj[keyArr[i]] : null,\n };\n}\nexport const FormItemProps = {\n id: PropTypes.string,\n htmlFor: PropTypes.string,\n prefixCls: PropTypes.string,\n label: PropTypes.any,\n help: PropTypes.any,\n extra: PropTypes.any,\n labelCol: PropTypes.shape(ColProps).loose,\n wrapperCol: PropTypes.shape(ColProps).loose,\n hasFeedback: PropTypes.bool,\n colon: PropTypes.bool,\n labelAlign: PropTypes.oneOf(['left', 'right']),\n prop: PropTypes.string,\n rules: PropTypes.oneOfType([Array, Object]),\n autoLink: PropTypes.bool,\n required: PropTypes.bool,\n validateStatus: PropTypes.oneOf(['', 'success', 'warning', 'error', 'validating']),\n};\n\nexport default {\n name: 'AFormModelItem',\n __ANT_NEW_FORM_ITEM: true,\n mixins: [BaseMixin],\n props: initDefaultProps(FormItemProps, {\n hasFeedback: false,\n autoLink: true,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n FormContext: { default: () => ({}) },\n },\n data() {\n return {\n validateState: this.validateStatus,\n validateMessage: '',\n validateDisabled: false,\n validator: {},\n };\n },\n\n computed: {\n fieldValue() {\n const model = this.FormContext.model;\n if (!model || !this.prop) {\n return;\n }\n let path = this.prop;\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/g, '.');\n }\n return getPropByPath(model, path, true).v;\n },\n isRequired() {\n let rules = this.getRules();\n let isRequired = false;\n if (rules && rules.length) {\n rules.every(rule => {\n if (rule.required) {\n isRequired = true;\n return false;\n }\n return true;\n });\n }\n return isRequired;\n },\n },\n watch: {\n validateStatus(val) {\n this.validateState = val;\n },\n },\n mounted() {\n if (this.prop) {\n const { addField } = this.FormContext;\n addField && addField(this);\n this.initialValue = cloneDeep(this.fieldValue);\n }\n },\n beforeDestroy() {\n const { removeField } = this.FormContext;\n removeField && removeField(this);\n },\n methods: {\n validate(trigger, callback = noop) {\n this.validateDisabled = false;\n const rules = this.getFilteredRule(trigger);\n if (!rules || rules.length === 0) {\n callback();\n return true;\n }\n this.validateState = 'validating';\n const descriptor = {};\n if (rules && rules.length > 0) {\n rules.forEach(rule => {\n delete rule.trigger;\n });\n }\n descriptor[this.prop] = rules;\n const validator = new AsyncValidator(descriptor);\n if (this.FormContext && this.FormContext.validateMessages) {\n validator.messages(this.FormContext.validateMessages);\n }\n const model = {};\n model[this.prop] = this.fieldValue;\n validator.validate(model, { firstFields: true }, (errors, invalidFields) => {\n this.validateState = errors ? 'error' : 'success';\n this.validateMessage = errors ? errors[0].message : '';\n callback(this.validateMessage, invalidFields);\n this.FormContext &&\n this.FormContext.$emit &&\n this.FormContext.$emit('validate', this.prop, !errors, this.validateMessage || null);\n });\n },\n getRules() {\n let formRules = this.FormContext.rules;\n const selfRules = this.rules;\n const requiredRule =\n this.required !== undefined ? { required: !!this.required, trigger: 'change' } : [];\n const prop = getPropByPath(formRules, this.prop || '');\n formRules = formRules ? prop.o[this.prop || ''] || prop.v : [];\n return [].concat(selfRules || formRules || []).concat(requiredRule);\n },\n getFilteredRule(trigger) {\n const rules = this.getRules();\n return rules\n .filter(rule => {\n if (!rule.trigger || trigger === '') return true;\n if (Array.isArray(rule.trigger)) {\n return rule.trigger.indexOf(trigger) > -1;\n } else {\n return rule.trigger === trigger;\n }\n })\n .map(rule => ({ ...rule }));\n },\n onFieldBlur() {\n this.validate('blur');\n },\n onFieldChange() {\n if (this.validateDisabled) {\n this.validateDisabled = false;\n return;\n }\n this.validate('change');\n },\n clearValidate() {\n this.validateState = '';\n this.validateMessage = '';\n this.validateDisabled = false;\n },\n resetField() {\n this.validateState = '';\n this.validateMessage = '';\n let model = this.FormContext.model || {};\n let value = this.fieldValue;\n let path = this.prop;\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.');\n }\n let prop = getPropByPath(model, path, true);\n this.validateDisabled = true;\n if (Array.isArray(value)) {\n prop.o[prop.k] = [].concat(this.initialValue);\n } else {\n prop.o[prop.k] = this.initialValue;\n }\n // reset validateDisabled after onFieldChange triggered\n this.$nextTick(() => {\n this.validateDisabled = false;\n });\n },\n },\n render() {\n const { $slots, $scopedSlots } = this;\n const props = getOptionProps(this);\n const label = getComponentFromProp(this, 'label');\n const extra = getComponentFromProp(this, 'extra');\n const help = getComponentFromProp(this, 'help');\n const formProps = {\n props: {\n ...props,\n label,\n extra,\n validateStatus: this.validateState,\n help: this.validateMessage || help,\n required: this.isRequired || props.required,\n },\n };\n const children = filterEmpty($scopedSlots.default ? $scopedSlots.default() : $slots.default);\n let firstChildren = children[0];\n if (this.prop && this.autoLink && isValidElement(firstChildren)) {\n const originalEvents = getEvents(firstChildren);\n const originalBlur = originalEvents.blur;\n const originalChange = originalEvents.change;\n firstChildren = cloneElement(firstChildren, {\n on: {\n blur: (...args) => {\n originalBlur && originalBlur(...args);\n this.onFieldBlur();\n },\n change: (...args) => {\n if (Array.isArray(originalChange)) {\n for (let i = 0, l = originalChange.length; i < l; i++) {\n originalChange[i](...args);\n }\n } else if (originalChange) {\n originalChange(...args);\n }\n this.onFieldChange();\n },\n },\n });\n }\n return (\n <FormItem {...formProps}>\n {firstChildren}\n {children.slice(1)}\n </FormItem>\n );\n },\n};\n","import Vue from 'vue';\nimport Form from './Form';\nimport ref from 'vue-ref';\nimport FormDecoratorDirective from '../_util/FormDecoratorDirective';\nimport Base from '../base';\n\nVue.use(ref, { name: 'ant-ref' });\nVue.use(FormDecoratorDirective);\n\nexport { FormProps, ValidationRule } from './Form';\nexport { FormItemProps } from './FormItem';\n\n/* istanbul ignore next */\nForm.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Form.name, Form);\n Vue.component(Form.Item.name, Form.Item);\n};\n\nexport default Form;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../grid/style';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport { ColProps } from '../grid/Col';\nimport Vue from 'vue';\nimport isRegExp from 'lodash/isRegExp';\nimport warning from '../_util/warning';\nimport createDOMForm from '../vc-form/src/createDOMForm';\nimport createFormField from '../vc-form/src/createFormField';\nimport FormItem from './FormItem';\nimport { FIELD_META_PROP, FIELD_DATA_PROP } from './constants';\nimport { initDefaultProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Base from '../base';\n\nexport const FormCreateOption = {\n onFieldsChange: PropTypes.func,\n onValuesChange: PropTypes.func,\n mapPropsToFields: PropTypes.func,\n validateMessages: PropTypes.any,\n withRef: PropTypes.bool,\n name: PropTypes.string,\n};\n\n// function create\nexport const WrappedFormUtils = {\n /** 获取一组输入控件的值,如不传入参数,则获取全部组件的值 */\n getFieldsValue: PropTypes.func,\n /** 获取一个输入控件的值*/\n getFieldValue: PropTypes.func,\n /** 设置一组输入控件的值*/\n setFieldsValue: PropTypes.func,\n /** 设置一组输入控件的值*/\n setFields: PropTypes.func,\n /** 校验并获取一组输入域的值与 Error */\n validateFields: PropTypes.func,\n // validateFields(fieldNames: Array<string>, options: Object, callback: ValidateCallback): void;\n // validateFields(fieldNames: Array<string>, callback: ValidateCallback): void;\n // validateFields(options: Object, callback: ValidateCallback): void;\n // validateFields(callback: ValidateCallback): void;\n // validateFields(): void;\n /** 与 `validateFields` 相似,但校验完后,如果校验不通过的菜单域不在可见范围内,则自动滚动进可见范围 */\n validateFieldsAndScroll: PropTypes.func,\n // validateFieldsAndScroll(fieldNames?: Array<string>, options?: Object, callback?: ValidateCallback): void;\n // validateFieldsAndScroll(fieldNames?: Array<string>, callback?: ValidateCallback): void;\n // validateFieldsAndScroll(options?: Object, callback?: ValidateCallback): void;\n // validateFieldsAndScroll(callback?: ValidateCallback): void;\n // validateFieldsAndScroll(): void;\n /** 获取某个输入控件的 Error */\n getFieldError: PropTypes.func,\n getFieldsError: PropTypes.func,\n /** 判断一个输入控件是否在校验状态*/\n isFieldValidating: PropTypes.func,\n isFieldTouched: PropTypes.func,\n isFieldsTouched: PropTypes.func,\n /** 重置一组输入控件的值与状态,如不传入参数,则重置所有组件 */\n resetFields: PropTypes.func,\n\n getFieldDecorator: PropTypes.func,\n};\n\nexport const FormProps = {\n layout: PropTypes.oneOf(['horizontal', 'inline', 'vertical']),\n labelCol: PropTypes.shape(ColProps).loose,\n wrapperCol: PropTypes.shape(ColProps).loose,\n colon: PropTypes.bool,\n labelAlign: PropTypes.oneOf(['left', 'right']),\n form: PropTypes.object,\n // onSubmit: React.FormEventHandler<any>;\n prefixCls: PropTypes.string,\n hideRequiredMark: PropTypes.bool,\n autoFormCreate: PropTypes.func,\n options: PropTypes.object,\n selfUpdate: PropTypes.bool,\n};\n\nexport const ValidationRule = {\n /** validation error message */\n message: PropTypes.string,\n /** built-in validation type, available options: https://github.com/yiminghe/async-validator#type */\n type: PropTypes.string,\n /** indicates whether field is required */\n required: PropTypes.boolean,\n /** treat required fields that only contain whitespace as errors */\n whitespace: PropTypes.boolean,\n /** validate the exact length of a field */\n len: PropTypes.number,\n /** validate the min length of a field */\n min: PropTypes.number,\n /** validate the max length of a field */\n max: PropTypes.number,\n /** validate the value from a list of possible values */\n enum: PropTypes.oneOfType([String, PropTypes.arrayOf(String)]),\n /** validate from a regular expression */\n pattern: PropTypes.custom(isRegExp),\n /** transform a value before validation */\n transform: PropTypes.func,\n /** custom validate function (Note: callback must be called) */\n validator: PropTypes.func,\n};\n\n// export type ValidateCallback = (errors: any, values: any) => void;\n\n// export type GetFieldDecoratorOptions = {\n// /** 子节点的值的属性,如 Checkbox 的是 'checked' */\n// valuePropName?: string;\n// /** 子节点的初始值,类型、可选值均由子节点决定 */\n// initialValue?: any;\n// /** 收集子节点的值的时机 */\n// trigger?: string;\n// /** 可以把 onChange 的参数转化为控件的值,例如 DatePicker 可设为:(date, dateString) => dateString */\n// getValueFromEvent?: (...args: any[]) => any;\n// /** Get the component props according to field value. */\n// getValueProps?: (value: any) => any;\n// /** 校验子节点值的时机 */\n// validateTrigger?: string | string[];\n// /** 校验规则,参见 [async-validator](https://github.com/yiminghe/async-validator) */\n// rules?: ValidationRule[];\n// /** 是否和其他控件互斥,特别用于 Radio 单选控件 */\n// exclusive?: boolean;\n// /** Normalize value to form component */\n// normalize?: (value: any, prevValue: any, allValues: any) => any;\n// /** Whether stop validate on first rule of error for this field. */\n// validateFirst?: boolean;\n// /** 是否一直保留子节点的信息 */\n// preserve?: boolean;\n// };\n\nconst Form = {\n name: 'AForm',\n props: initDefaultProps(FormProps, {\n layout: 'horizontal',\n hideRequiredMark: false,\n colon: true,\n }),\n Item: FormItem,\n createFormField,\n create: (options = {}) => {\n return createDOMForm({\n fieldNameProp: 'id',\n ...options,\n fieldMetaProp: FIELD_META_PROP,\n fieldDataProp: FIELD_DATA_PROP,\n });\n },\n createForm(context, options = {}) {\n const V = Base.Vue || Vue;\n return new V(Form.create({ ...options, templateContext: context })());\n },\n created() {\n this.formItemContexts = new Map();\n },\n provide() {\n return {\n FormContext: this,\n // https://github.com/vueComponent/ant-design-vue/issues/446\n collectFormItemContext:\n this.form && this.form.templateContext\n ? (c, type = 'add') => {\n const formItemContexts = this.formItemContexts;\n const number = formItemContexts.get(c) || 0;\n if (type === 'delete') {\n if (number <= 1) {\n formItemContexts.delete(c);\n } else {\n formItemContexts.set(c, number - 1);\n }\n } else {\n if (c !== this.form.templateContext) {\n formItemContexts.set(c, number + 1);\n }\n }\n }\n : () => {},\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n watch: {\n form() {\n this.$forceUpdate();\n },\n },\n computed: {\n vertical() {\n return this.layout === 'vertical';\n },\n },\n beforeUpdate() {\n this.formItemContexts.forEach((number, c) => {\n if (c.$forceUpdate) {\n c.$forceUpdate();\n }\n });\n },\n updated() {\n if (this.form && this.form.cleanUpUselessFields) {\n this.form.cleanUpUselessFields();\n }\n },\n methods: {\n onSubmit(e) {\n if (!getListeners(this).submit) {\n e.preventDefault();\n } else {\n this.$emit('submit', e);\n }\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n hideRequiredMark,\n layout,\n onSubmit,\n $slots,\n autoFormCreate,\n options = {},\n } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('form', customizePrefixCls);\n\n const formClassName = classNames(prefixCls, {\n [`${prefixCls}-horizontal`]: layout === 'horizontal',\n [`${prefixCls}-vertical`]: layout === 'vertical',\n [`${prefixCls}-inline`]: layout === 'inline',\n [`${prefixCls}-hide-required-mark`]: hideRequiredMark,\n });\n if (autoFormCreate) {\n warning(false, 'Form', '`autoFormCreate` is deprecated. please use `form` instead.');\n const DomForm =\n this.DomForm ||\n createDOMForm({\n fieldNameProp: 'id',\n ...options,\n fieldMetaProp: FIELD_META_PROP,\n fieldDataProp: FIELD_DATA_PROP,\n templateContext: this.$vnode.context,\n })({\n provide() {\n return {\n decoratorFormProps: this.$props,\n };\n },\n data() {\n return {\n children: $slots.default,\n formClassName,\n submit: onSubmit,\n };\n },\n created() {\n autoFormCreate(this.form);\n },\n render() {\n const { children, formClassName, submit } = this;\n return (\n <form onSubmit={submit} class={formClassName}>\n {children}\n </form>\n );\n },\n });\n if (this.domForm) {\n this.domForm.children = $slots.default;\n this.domForm.submit = onSubmit;\n this.domForm.formClassName = formClassName;\n }\n this.DomForm = DomForm;\n\n return (\n <DomForm\n wrappedComponentRef={inst => {\n this.domForm = inst;\n }}\n />\n );\n }\n return (\n <form onSubmit={onSubmit} class={formClassName}>\n {$slots.default}\n </form>\n );\n },\n};\n\nexport default Form;\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport find from 'lodash/find';\nimport Row from '../grid/Row';\nimport Col, { ColProps } from '../grid/Col';\nimport warning from '../_util/warning';\nimport { FIELD_META_PROP, FIELD_DATA_PROP } from './constants';\nimport {\n initDefaultProps,\n getComponentFromProp,\n filterEmpty,\n getSlotOptions,\n isValidElement,\n getAllChildren,\n} from '../_util/props-util';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement, cloneVNodes } from '../_util/vnode';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider';\n\nfunction noop() {}\n\nfunction intersperseSpace(list) {\n return list.reduce((current, item) => [...current, ' ', item], []).slice(1);\n}\nexport const FormItemProps = {\n id: PropTypes.string,\n htmlFor: PropTypes.string,\n prefixCls: PropTypes.string,\n label: PropTypes.any,\n labelCol: PropTypes.shape(ColProps).loose,\n wrapperCol: PropTypes.shape(ColProps).loose,\n help: PropTypes.any,\n extra: PropTypes.any,\n validateStatus: PropTypes.oneOf(['', 'success', 'warning', 'error', 'validating']),\n hasFeedback: PropTypes.bool,\n required: PropTypes.bool,\n colon: PropTypes.bool,\n fieldDecoratorId: PropTypes.string,\n fieldDecoratorOptions: PropTypes.object,\n selfUpdate: PropTypes.bool,\n labelAlign: PropTypes.oneOf(['left', 'right']),\n};\nfunction comeFromSlot(vnodes = [], itemVnode) {\n let isSlot = false;\n for (let i = 0, len = vnodes.length; i < len; i++) {\n const vnode = vnodes[i];\n if (vnode && (vnode === itemVnode || vnode.$vnode === itemVnode)) {\n isSlot = true;\n } else {\n const componentOptions =\n vnode.componentOptions || (vnode.$vnode && vnode.$vnode.componentOptions);\n const children = componentOptions ? componentOptions.children : vnode.$children;\n isSlot = comeFromSlot(children, itemVnode);\n }\n if (isSlot) {\n break;\n }\n }\n return isSlot;\n}\n\nexport default {\n name: 'AFormItem',\n __ANT_FORM_ITEM: true,\n mixins: [BaseMixin],\n props: initDefaultProps(FormItemProps, {\n hasFeedback: false,\n }),\n provide() {\n return {\n isFormItemChildren: true,\n };\n },\n inject: {\n isFormItemChildren: { default: false },\n FormContext: { default: () => ({}) },\n decoratorFormProps: { default: () => ({}) },\n collectFormItemContext: { default: () => noop },\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return { helpShow: false };\n },\n computed: {\n itemSelfUpdate() {\n return !!(this.selfUpdate === undefined ? this.FormContext.selfUpdate : this.selfUpdate);\n },\n },\n created() {\n this.collectContext();\n },\n beforeUpdate() {\n if (process.env.NODE_ENV !== 'production') {\n this.collectContext();\n }\n },\n beforeDestroy() {\n this.collectFormItemContext(this.$vnode && this.$vnode.context, 'delete');\n },\n mounted() {\n const { help, validateStatus } = this.$props;\n warning(\n this.getControls(this.slotDefault, true).length <= 1 ||\n help !== undefined ||\n validateStatus !== undefined,\n 'Form.Item',\n 'Cannot generate `validateStatus` and `help` automatically, ' +\n 'while there are more than one `getFieldDecorator` in it.',\n );\n warning(\n !this.fieldDecoratorId,\n 'Form.Item',\n '`fieldDecoratorId` is deprecated. please use `v-decorator={id, options}` instead.',\n );\n },\n methods: {\n collectContext() {\n if (this.FormContext.form && this.FormContext.form.templateContext) {\n const { templateContext } = this.FormContext.form;\n const vnodes = Object.values(templateContext.$slots || {}).reduce((a, b) => {\n return [...a, ...b];\n }, []);\n const isSlot = comeFromSlot(vnodes, this.$vnode);\n warning(!isSlot, 'You can not set FormItem from slot, please use slot-scope instead slot');\n let isSlotScope = false;\n // 进一步判断是否是通过slot-scope传递\n if (!isSlot && this.$vnode.context !== templateContext) {\n isSlotScope = comeFromSlot(this.$vnode.context.$children, templateContext.$vnode);\n }\n if (!isSlotScope && !isSlot) {\n this.collectFormItemContext(this.$vnode.context);\n }\n }\n },\n getHelpMessage() {\n const help = getComponentFromProp(this, 'help');\n const onlyControl = this.getOnlyControl();\n if (help === undefined && onlyControl) {\n const errors = this.getField().errors;\n if (errors) {\n return intersperseSpace(\n errors.map((e, index) => {\n let node = null;\n if (isValidElement(e)) {\n node = e;\n } else if (isValidElement(e.message)) {\n node = e.message;\n }\n return node ? cloneElement(node, { key: index }) : e.message;\n }),\n );\n } else {\n return '';\n }\n }\n\n return help;\n },\n\n getControls(childrenArray = [], recursively) {\n let controls = [];\n for (let i = 0; i < childrenArray.length; i++) {\n if (!recursively && controls.length > 0) {\n break;\n }\n\n const child = childrenArray[i];\n if (!child.tag && child.text.trim() === '') {\n continue;\n }\n\n if (getSlotOptions(child).__ANT_FORM_ITEM) {\n continue;\n }\n const children = getAllChildren(child);\n const attrs = (child.data && child.data.attrs) || {};\n if (FIELD_META_PROP in attrs) {\n // And means FIELD_DATA_PROP in child.props, too.\n controls.push(child);\n } else if (children) {\n controls = controls.concat(this.getControls(children, recursively));\n }\n }\n return controls;\n },\n\n getOnlyControl() {\n const child = this.getControls(this.slotDefault, false)[0];\n return child !== undefined ? child : null;\n },\n\n getChildAttr(prop) {\n const child = this.getOnlyControl();\n let data = {};\n if (!child) {\n return undefined;\n }\n if (child.data) {\n data = child.data;\n } else if (child.$vnode && child.$vnode.data) {\n data = child.$vnode.data;\n }\n return data[prop] || data.attrs[prop];\n },\n\n getId() {\n return this.getChildAttr('id');\n },\n\n getMeta() {\n return this.getChildAttr(FIELD_META_PROP);\n },\n\n getField() {\n return this.getChildAttr(FIELD_DATA_PROP);\n },\n\n getValidateStatus() {\n const onlyControl = this.getOnlyControl();\n if (!onlyControl) {\n return '';\n }\n const field = this.getField();\n if (field.validating) {\n return 'validating';\n }\n if (field.errors) {\n return 'error';\n }\n const fieldValue = 'value' in field ? field.value : this.getMeta().initialValue;\n if (fieldValue !== undefined && fieldValue !== null && fieldValue !== '') {\n return 'success';\n }\n return '';\n },\n\n // Resolve duplicated ids bug between different forms\n // https://github.com/ant-design/ant-design/issues/7351\n onLabelClick() {\n const id = this.id || this.getId();\n if (!id) {\n return;\n }\n const formItemNode = this.$el;\n const control = formItemNode.querySelector(`[id=\"${id}\"]`);\n if (control && control.focus) {\n control.focus();\n }\n },\n\n onHelpAnimEnd(_key, helpShow) {\n this.helpShow = helpShow;\n if (!helpShow) {\n this.$forceUpdate();\n }\n },\n\n isRequired() {\n const { required } = this;\n if (required !== undefined) {\n return required;\n }\n if (this.getOnlyControl()) {\n const meta = this.getMeta() || {};\n const validate = meta.validate || [];\n\n return validate\n .filter(item => !!item.rules)\n .some(item => {\n return item.rules.some(rule => rule.required);\n });\n }\n return false;\n },\n\n renderHelp(prefixCls) {\n const help = this.getHelpMessage();\n const children = help ? (\n <div class={`${prefixCls}-explain`} key=\"help\">\n {help}\n </div>\n ) : null;\n if (children) {\n this.helpShow = !!children;\n }\n const transitionProps = getTransitionProps('show-help', {\n afterEnter: () => this.onHelpAnimEnd('help', true),\n afterLeave: () => this.onHelpAnimEnd('help', false),\n });\n return (\n <transition {...transitionProps} key=\"help\">\n {children}\n </transition>\n );\n },\n\n renderExtra(prefixCls) {\n const extra = getComponentFromProp(this, 'extra');\n return extra ? <div class={`${prefixCls}-extra`}>{extra}</div> : null;\n },\n\n renderValidateWrapper(prefixCls, c1, c2, c3) {\n const props = this.$props;\n const onlyControl = this.getOnlyControl;\n const validateStatus =\n props.validateStatus === undefined && onlyControl\n ? this.getValidateStatus()\n : props.validateStatus;\n\n let classes = `${prefixCls}-item-control`;\n if (validateStatus) {\n classes = classNames(`${prefixCls}-item-control`, {\n 'has-feedback': validateStatus && props.hasFeedback,\n 'has-success': validateStatus === 'success',\n 'has-warning': validateStatus === 'warning',\n 'has-error': validateStatus === 'error',\n 'is-validating': validateStatus === 'validating',\n });\n }\n let iconType = '';\n switch (validateStatus) {\n case 'success':\n iconType = 'check-circle';\n break;\n case 'warning':\n iconType = 'exclamation-circle';\n break;\n case 'error':\n iconType = 'close-circle';\n break;\n case 'validating':\n iconType = 'loading';\n break;\n default:\n iconType = '';\n break;\n }\n const icon =\n props.hasFeedback && iconType ? (\n <span class={`${prefixCls}-item-children-icon`}>\n <Icon type={iconType} theme={iconType === 'loading' ? 'outlined' : 'filled'} />\n </span>\n ) : null;\n return (\n <div class={classes}>\n <span class={`${prefixCls}-item-children`}>\n {c1}\n {icon}\n </span>\n {c2}\n {c3}\n </div>\n );\n },\n\n renderWrapper(prefixCls, children) {\n const { wrapperCol: contextWrapperCol } = this.isFormItemChildren ? {} : this.FormContext;\n const { wrapperCol } = this;\n const mergedWrapperCol = wrapperCol || contextWrapperCol || {};\n const { style, id, on, ...restProps } = mergedWrapperCol;\n const className = classNames(`${prefixCls}-item-control-wrapper`, mergedWrapperCol.class);\n const colProps = {\n props: restProps,\n class: className,\n key: 'wrapper',\n style,\n id,\n on,\n };\n return <Col {...colProps}>{children}</Col>;\n },\n\n renderLabel(prefixCls) {\n const {\n vertical,\n labelAlign: contextLabelAlign,\n labelCol: contextLabelCol,\n colon: contextColon,\n } = this.FormContext;\n const { labelAlign, labelCol, colon, id, htmlFor } = this;\n const label = getComponentFromProp(this, 'label');\n const required = this.isRequired();\n const mergedLabelCol = labelCol || contextLabelCol || {};\n\n const mergedLabelAlign = labelAlign || contextLabelAlign;\n const labelClsBasic = `${prefixCls}-item-label`;\n const labelColClassName = classNames(\n labelClsBasic,\n mergedLabelAlign === 'left' && `${labelClsBasic}-left`,\n mergedLabelCol.class,\n );\n const {\n class: labelColClass,\n style: labelColStyle,\n id: labelColId,\n on,\n ...restProps\n } = mergedLabelCol;\n let labelChildren = label;\n // Keep label is original where there should have no colon\n const computedColon = colon === true || (contextColon !== false && colon !== false);\n const haveColon = computedColon && !vertical;\n // Remove duplicated user input colon\n if (haveColon && typeof label === 'string' && label.trim() !== '') {\n labelChildren = label.replace(/[::]\\s*$/, '');\n }\n\n const labelClassName = classNames({\n [`${prefixCls}-item-required`]: required,\n [`${prefixCls}-item-no-colon`]: !computedColon,\n });\n const colProps = {\n props: restProps,\n class: labelColClassName,\n key: 'label',\n style: labelColStyle,\n id: labelColId,\n on,\n };\n\n return label ? (\n <Col {...colProps}>\n <label\n for={htmlFor || id || this.getId()}\n class={labelClassName}\n title={typeof label === 'string' ? label : ''}\n onClick={this.onLabelClick}\n >\n {labelChildren}\n </label>\n </Col>\n ) : null;\n },\n renderChildren(prefixCls) {\n return [\n this.renderLabel(prefixCls),\n this.renderWrapper(\n prefixCls,\n this.renderValidateWrapper(\n prefixCls,\n this.slotDefault,\n this.renderHelp(prefixCls),\n this.renderExtra(prefixCls),\n ),\n ),\n ];\n },\n renderFormItem() {\n const { prefixCls: customizePrefixCls } = this.$props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('form', customizePrefixCls);\n const children = this.renderChildren(prefixCls);\n const itemClassName = {\n [`${prefixCls}-item`]: true,\n [`${prefixCls}-item-with-help`]: this.helpShow,\n };\n\n return (\n <Row class={classNames(itemClassName)} key=\"row\">\n {children}\n </Row>\n );\n },\n decoratorOption(vnode) {\n if (vnode.data && vnode.data.directives) {\n const directive = find(vnode.data.directives, ['name', 'decorator']);\n warning(\n !directive || (directive && Array.isArray(directive.value)),\n 'Form',\n `Invalid directive: type check failed for directive \"decorator\". Expected Array, got ${typeof (directive\n ? directive.value\n : directive)}. At ${vnode.tag}.`,\n );\n return directive ? directive.value : null;\n } else {\n return null;\n }\n },\n decoratorChildren(vnodes) {\n const { FormContext } = this;\n const getFieldDecorator = FormContext.form.getFieldDecorator;\n for (let i = 0, len = vnodes.length; i < len; i++) {\n const vnode = vnodes[i];\n if (getSlotOptions(vnode).__ANT_FORM_ITEM) {\n break;\n }\n if (vnode.children) {\n vnode.children = this.decoratorChildren(cloneVNodes(vnode.children));\n } else if (vnode.componentOptions && vnode.componentOptions.children) {\n vnode.componentOptions.children = this.decoratorChildren(\n cloneVNodes(vnode.componentOptions.children),\n );\n }\n const option = this.decoratorOption(vnode);\n if (option && option[0]) {\n vnodes[i] = getFieldDecorator(option[0], option[1], this)(vnode);\n }\n }\n return vnodes;\n },\n },\n\n render() {\n const {\n $slots,\n decoratorFormProps,\n fieldDecoratorId,\n fieldDecoratorOptions = {},\n FormContext,\n } = this;\n let child = filterEmpty($slots.default || []);\n if (decoratorFormProps.form && fieldDecoratorId && child.length) {\n const getFieldDecorator = decoratorFormProps.form.getFieldDecorator;\n child[0] = getFieldDecorator(fieldDecoratorId, fieldDecoratorOptions, this)(child[0]);\n warning(\n !(child.length > 1),\n 'Form',\n '`autoFormCreate` just `decorator` then first children. but you can use JSX to support multiple children',\n );\n this.slotDefault = child;\n } else if (FormContext.form) {\n child = cloneVNodes(child);\n this.slotDefault = this.decoratorChildren(child);\n } else {\n this.slotDefault = child;\n }\n return this.renderFormItem();\n },\n};\n","export const FIELD_META_PROP = 'data-__meta';\nexport const FIELD_DATA_PROP = 'data-__field';\n","import Vue from 'vue';\nimport Form from './Form';\nimport ref from 'vue-ref';\nimport FormDecoratorDirective from '../_util/FormDecoratorDirective';\nimport Base from '../base';\n\nVue.use(ref, { name: 'ant-ref' });\nVue.use(FormDecoratorDirective);\nVue.prototype.$form = Form;\n\nexport { FormProps, FormCreateOption, ValidationRule } from './Form';\nexport { FormItemProps } from './FormItem';\n\n/* istanbul ignore next */\nForm.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Form.name, Form);\n Vue.component(Form.Item.name, Form.Item);\n Vue.prototype.$form = Form;\n};\n\nexport default Form;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../grid/style';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider';\nimport { getListeners } from '../_util/props-util';\n\nconst stringOrNumber = PropTypes.oneOfType([PropTypes.string, PropTypes.number]);\n\nexport const ColSize = PropTypes.shape({\n span: stringOrNumber,\n order: stringOrNumber,\n offset: stringOrNumber,\n push: stringOrNumber,\n pull: stringOrNumber,\n}).loose;\n\nconst objectOrNumber = PropTypes.oneOfType([PropTypes.string, PropTypes.number, ColSize]);\n\nexport const ColProps = {\n span: stringOrNumber,\n order: stringOrNumber,\n offset: stringOrNumber,\n push: stringOrNumber,\n pull: stringOrNumber,\n xs: objectOrNumber,\n sm: objectOrNumber,\n md: objectOrNumber,\n lg: objectOrNumber,\n xl: objectOrNumber,\n xxl: objectOrNumber,\n prefixCls: PropTypes.string,\n flex: stringOrNumber,\n};\n\nexport default {\n name: 'ACol',\n props: ColProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n rowContext: {\n default: () => null,\n },\n },\n methods: {\n parseFlex(flex) {\n if (typeof flex === 'number') {\n return `${flex} ${flex} auto`;\n }\n if (/^\\d+(\\.\\d+)?(px|em|rem|%)$/.test(flex)) {\n return `0 0 ${flex}`;\n }\n return flex;\n },\n },\n render() {\n const {\n span,\n order,\n offset,\n push,\n pull,\n flex,\n prefixCls: customizePrefixCls,\n $slots,\n rowContext,\n } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('col', customizePrefixCls);\n\n let sizeClassObj = {};\n ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].forEach(size => {\n let sizeProps = {};\n const propSize = this[size];\n if (typeof propSize === 'number') {\n sizeProps.span = propSize;\n } else if (typeof propSize === 'object') {\n sizeProps = propSize || {};\n }\n\n sizeClassObj = {\n ...sizeClassObj,\n [`${prefixCls}-${size}-${sizeProps.span}`]: sizeProps.span !== undefined,\n [`${prefixCls}-${size}-order-${sizeProps.order}`]: sizeProps.order || sizeProps.order === 0,\n [`${prefixCls}-${size}-offset-${sizeProps.offset}`]:\n sizeProps.offset || sizeProps.offset === 0,\n [`${prefixCls}-${size}-push-${sizeProps.push}`]: sizeProps.push || sizeProps.push === 0,\n [`${prefixCls}-${size}-pull-${sizeProps.pull}`]: sizeProps.pull || sizeProps.pull === 0,\n };\n });\n const classes = {\n [`${prefixCls}`]: true,\n [`${prefixCls}-${span}`]: span !== undefined,\n [`${prefixCls}-order-${order}`]: order,\n [`${prefixCls}-offset-${offset}`]: offset,\n [`${prefixCls}-push-${push}`]: push,\n [`${prefixCls}-pull-${pull}`]: pull,\n ...sizeClassObj,\n };\n const divProps = {\n on: getListeners(this),\n class: classes,\n style: {},\n };\n if (rowContext) {\n const gutter = rowContext.getGutter();\n if (gutter) {\n divProps.style = {\n ...(gutter[0] > 0\n ? {\n paddingLeft: `${gutter[0] / 2}px`,\n paddingRight: `${gutter[0] / 2}px`,\n }\n : {}),\n ...(gutter[1] > 0\n ? {\n paddingTop: `${gutter[1] / 2}px`,\n paddingBottom: `${gutter[1] / 2}px`,\n }\n : {}),\n };\n }\n }\n\n if (flex) {\n divProps.style.flex = this.parseFlex(flex);\n }\n\n return <div {...divProps}>{$slots.default}</div>;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider';\nimport ResponsiveObserve from '../_util/responsiveObserve';\n\nconst RowProps = {\n gutter: PropTypes.oneOfType([PropTypes.object, PropTypes.number, PropTypes.array]),\n type: PropTypes.oneOf(['flex']),\n align: PropTypes.oneOf(['top', 'middle', 'bottom', 'stretch']),\n justify: PropTypes.oneOf(['start', 'end', 'center', 'space-around', 'space-between']),\n prefixCls: PropTypes.string,\n};\n\nconst responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\n\nexport default {\n name: 'ARow',\n mixins: [BaseMixin],\n props: {\n ...RowProps,\n gutter: PropTypes.oneOfType([PropTypes.object, PropTypes.number, PropTypes.array]).def(0),\n },\n provide() {\n return {\n rowContext: this,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n screens: {},\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n this.token = ResponsiveObserve.subscribe(screens => {\n const { gutter } = this;\n if (\n typeof gutter === 'object' ||\n (Array.isArray(gutter) &&\n (typeof gutter[0] === 'object' || typeof gutter[1] === 'object'))\n ) {\n this.screens = screens;\n }\n });\n });\n },\n beforeDestroy() {\n ResponsiveObserve.unsubscribe(this.token);\n },\n methods: {\n getGutter() {\n const results = [0, 0];\n const { gutter, screens } = this;\n const normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, 0];\n normalizedGutter.forEach((g, index) => {\n if (typeof g === 'object') {\n for (let i = 0; i < responsiveArray.length; i++) {\n const breakpoint = responsiveArray[i];\n if (screens[breakpoint] && g[breakpoint] !== undefined) {\n results[index] = g[breakpoint];\n break;\n }\n }\n } else {\n results[index] = g || 0;\n }\n });\n return results;\n },\n },\n\n render() {\n const { type, justify, align, prefixCls: customizePrefixCls, $slots } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('row', customizePrefixCls);\n\n const gutter = this.getGutter();\n const classes = {\n [prefixCls]: !type,\n [`${prefixCls}-${type}`]: type,\n [`${prefixCls}-${type}-${justify}`]: type && justify,\n [`${prefixCls}-${type}-${align}`]: type && align,\n };\n const rowStyle = {\n ...(gutter[0] > 0\n ? {\n marginLeft: `${gutter[0] / -2}px`,\n marginRight: `${gutter[0] / -2}px`,\n }\n : {}),\n ...(gutter[1] > 0\n ? {\n marginTop: `${gutter[1] / -2}px`,\n marginBottom: `${gutter[1] / -2}px`,\n }\n : {}),\n };\n return (\n <div class={classes} style={rowStyle}>\n {$slots.default}\n </div>\n );\n },\n};\n","import Row from './Row';\nimport Col from './Col';\n\nexport { Row, Col };\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import Icon from './index';\nimport { mergeProps } from '../_util/props-util';\n\nconst customCache = new Set();\n\nexport default function create(options) {\n const { scriptUrl, extraCommonProps = {} } = options;\n\n /**\n * DOM API required.\n * Make sure in browser environment.\n * The Custom Icon will create a <script/>\n * that loads SVG symbols and insert the SVG Element into the document body.\n */\n if (\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n typeof document.createElement === 'function' &&\n typeof scriptUrl === 'string' &&\n scriptUrl.length &&\n !customCache.has(scriptUrl)\n ) {\n const script = document.createElement('script');\n script.setAttribute('src', scriptUrl);\n script.setAttribute('data-namespace', scriptUrl);\n customCache.add(scriptUrl);\n document.body.appendChild(script);\n }\n\n const Iconfont = {\n functional: true,\n name: 'AIconfont',\n props: Icon.props,\n render(h, context) {\n const { props, slots, listeners, data } = context;\n const { type, ...restProps } = props;\n const slotsMap = slots();\n const children = slotsMap.default;\n // component > children > type\n let content = null;\n if (type) {\n content = <use {...{ attrs: { 'xlink:href': `#${type}` } }} />;\n }\n if (children) {\n content = children;\n }\n const iconProps = mergeProps(extraCommonProps, data, { props: restProps, on: listeners });\n return <Icon {...iconProps}>{content}</Icon>;\n },\n };\n return Iconfont;\n}\n","import classNames from 'classnames';\nimport * as allIcons from '@ant-design/icons/lib/dist';\nimport VueIcon from '@ant-design/icons-vue';\nimport PropTypes from '../_util/vue-types';\nimport createFromIconfontCN from './IconFont';\nimport {\n svgBaseProps,\n withThemeSuffix,\n removeTypeTheme,\n getThemeFromTypeName,\n alias,\n} from './utils';\nimport warning from '../_util/warning';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { getTwoToneColor, setTwoToneColor } from './twoTonePrimaryColor';\nimport { filterEmpty, getListeners } from '../_util/props-util';\nimport Base from '../base';\n\n// Initial setting\nVueIcon.add(...Object.keys(allIcons).map(key => allIcons[key]));\nsetTwoToneColor('#1890ff');\nconst defaultTheme = 'outlined';\nlet dangerousTheme;\n\nfunction renderIcon(h, locale, context) {\n const { $props: props, $slots } = context;\n const listeners = getListeners(context);\n const {\n // affect inner <svg>...</svg>\n type,\n component: Component,\n viewBox,\n spin,\n // other\n theme, // default to outlined\n twoToneColor,\n rotate,\n tabIndex,\n } = props;\n let children = filterEmpty($slots.default);\n children = children.length === 0 ? undefined : children;\n warning(\n Boolean(type || Component || children),\n 'Icon',\n 'Icon should have `type` prop or `component` prop or `children`.',\n );\n\n const classString = classNames({\n [`anticon`]: true,\n [`anticon-${type}`]: !!type,\n });\n\n const svgClassString = classNames({\n [`anticon-spin`]: !!spin || type === 'loading',\n });\n\n const svgStyle = rotate\n ? {\n msTransform: `rotate(${rotate}deg)`,\n transform: `rotate(${rotate}deg)`,\n }\n : undefined;\n\n const innerSvgProps = {\n attrs: {\n ...svgBaseProps,\n viewBox,\n },\n class: svgClassString,\n style: svgStyle,\n };\n if (!viewBox) {\n delete innerSvgProps.attrs.viewBox;\n }\n\n const renderInnerNode = () => {\n // component > children > type\n if (Component) {\n return <Component {...innerSvgProps}>{children}</Component>;\n }\n if (children) {\n warning(\n Boolean(viewBox) || (children.length === 1 && children[0].tag === 'use'),\n 'Icon',\n 'Make sure that you provide correct `viewBox`' +\n ' prop (default `0 0 1024 1024`) to the icon.',\n );\n const innerSvgProps = {\n attrs: {\n ...svgBaseProps,\n },\n class: svgClassString,\n style: svgStyle,\n };\n return (\n <svg {...innerSvgProps} viewBox={viewBox}>\n {children}\n </svg>\n );\n }\n\n if (typeof type === 'string') {\n let computedType = type;\n if (theme) {\n const themeInName = getThemeFromTypeName(type);\n warning(\n !themeInName || theme === themeInName,\n 'Icon',\n `The icon name '${type}' already specify a theme '${themeInName}',` +\n ` the 'theme' prop '${theme}' will be ignored.`,\n );\n }\n computedType = withThemeSuffix(\n removeTypeTheme(alias(computedType)),\n dangerousTheme || theme || defaultTheme,\n );\n\n return (\n <VueIcon\n focusable=\"false\"\n class={svgClassString}\n type={computedType}\n primaryColor={twoToneColor}\n style={svgStyle}\n />\n );\n }\n };\n let iconTabIndex = tabIndex;\n if (iconTabIndex === undefined && 'click' in listeners) {\n iconTabIndex = -1;\n }\n // functional component not support nativeOn,https://github.com/vuejs/vue/issues/7526\n const iProps = {\n attrs: {\n 'aria-label': type && `${locale.icon}: ${type}`,\n tabIndex: iconTabIndex,\n },\n on: listeners,\n class: classString,\n staticClass: '',\n };\n return <i {...iProps}>{renderInnerNode()}</i>;\n}\n\nconst Icon = {\n name: 'AIcon',\n props: {\n tabIndex: PropTypes.number,\n type: PropTypes.string,\n component: PropTypes.any,\n viewBox: PropTypes.any,\n spin: PropTypes.bool.def(false),\n rotate: PropTypes.number,\n theme: PropTypes.oneOf(['filled', 'outlined', 'twoTone']),\n twoToneColor: PropTypes.string,\n role: PropTypes.string,\n },\n render(h) {\n return (\n <LocaleReceiver\n componentName=\"Icon\"\n scopedSlots={{ default: locale => renderIcon(h, locale, this) }}\n />\n );\n },\n};\n\nIcon.createFromIconfontCN = createFromIconfontCN;\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\n\n/* istanbul ignore next */\nIcon.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Icon.name, Icon);\n};\n\nexport default Icon;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import VueIcon from '@ant-design/icons-vue';\n\nexport function setTwoToneColor(primaryColor) {\n return VueIcon.setTwoToneColors({\n primaryColor,\n });\n}\n\nexport function getTwoToneColor() {\n const colors = VueIcon.getTwoToneColors();\n return colors.primaryColor;\n}\n","import warning from '../_util/warning';\n\n// These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\nexport const svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false',\n};\n\nconst fillTester = /-fill$/;\nconst outlineTester = /-o$/;\nconst twoToneTester = /-twotone$/;\n\nexport function getThemeFromTypeName(type) {\n let result = null;\n if (fillTester.test(type)) {\n result = 'filled';\n } else if (outlineTester.test(type)) {\n result = 'outlined';\n } else if (twoToneTester.test(type)) {\n result = 'twoTone';\n }\n return result;\n}\n\nexport function removeTypeTheme(type) {\n return type\n .replace(fillTester, '')\n .replace(outlineTester, '')\n .replace(twoToneTester, '');\n}\n\nexport function withThemeSuffix(type, theme) {\n let result = type;\n if (theme === 'filled') {\n result += '-fill';\n } else if (theme === 'outlined') {\n result += '-o';\n } else if (theme === 'twoTone') {\n result += '-twotone';\n } else {\n warning(false, 'Icon', `This icon '${type}' has unknown theme '${theme}'`);\n }\n return result;\n}\n\n// For alias or compatibility\nexport function alias(type) {\n let newType = type;\n switch (type) {\n case 'cross':\n newType = 'close';\n break;\n // https://github.com/ant-design/ant-design/issues/13007\n case 'interation':\n newType = 'interaction';\n break;\n // https://github.com/ant-design/ant-design/issues/16810\n case 'canlendar':\n newType = 'calendar';\n break;\n // https://github.com/ant-design/ant-design/issues/17448\n case 'colum-height':\n newType = 'column-height';\n break;\n default:\n }\n warning(\n newType === type,\n 'Icon',\n `Icon '${type}' was a typo and is now deprecated, please use '${newType}' instead.`,\n );\n return newType;\n}\n","/* @remove-on-es-build-begin */\n// this file is not used if use https://github.com/ant-design/babel-plugin-import\nconst ENV = process.env.NODE_ENV;\nif (\n ENV !== 'production' &&\n ENV !== 'test' &&\n typeof console !== 'undefined' &&\n console.warn &&\n typeof window !== 'undefined'\n) {\n console.warn(\n 'You are using a whole package of antd, ' +\n 'please use https://www.npmjs.com/package/babel-plugin-import to reduce app bundle size.',\n );\n}\n/* @remove-on-es-build-end */\n\nimport { default as Affix } from './affix';\n\nimport { default as Anchor } from './anchor';\n\nimport { default as AutoComplete } from './auto-complete';\n\nimport { default as Alert } from './alert';\n\nimport { default as Avatar } from './avatar';\n\nimport { default as BackTop } from './back-top';\n\nimport { default as Badge } from './badge';\n\nimport { default as Base } from './base';\n\nimport { default as Breadcrumb } from './breadcrumb';\n\nimport { default as Button } from './button';\n\nimport { default as Calendar } from './calendar';\n\nimport { default as Card } from './card';\n\nimport { default as Collapse } from './collapse';\n\nimport { default as Carousel } from './carousel';\n\nimport { default as Cascader } from './cascader';\n\nimport { default as Checkbox } from './checkbox';\n\nimport { default as Col } from './col';\n\nimport { default as DatePicker } from './date-picker';\n\nimport { default as Divider } from './divider';\n\nimport { default as Dropdown } from './dropdown';\n\nimport { default as Form } from './form';\nimport { default as FormModel } from './form-model';\n\nimport { default as Icon } from './icon';\n\nimport { default as Input } from './input';\n\nimport { default as InputNumber } from './input-number';\n\nimport { default as Layout } from './layout';\n\nimport { default as List } from './list';\n\nimport { default as LocaleProvider } from './locale-provider';\n\nimport { default as message } from './message';\n\nimport { default as Menu } from './menu';\n\nimport { default as Mentions } from './mentions';\n\nimport { default as Modal } from './modal';\n\nimport { default as notification } from './notification';\n\nimport { default as Pagination } from './pagination';\n\nimport { default as Popconfirm } from './popconfirm';\n\nimport { default as Popover } from './popover';\n\nimport { default as Progress } from './progress';\n\nimport { default as Radio } from './radio';\n\nimport { default as Rate } from './rate';\n\nimport { default as Row } from './row';\n\nimport { default as Select } from './select';\n\nimport { default as Slider } from './slider';\n\nimport { default as Spin } from './spin';\n\nimport { default as Statistic } from './statistic';\n\nimport { default as Steps } from './steps';\n\nimport { default as Switch } from './switch';\n\nimport { default as Table } from './table';\n\nimport { default as Transfer } from './transfer';\n\nimport { default as Tree } from './tree';\n\nimport { default as TreeSelect } from './tree-select';\n\nimport { default as Tabs } from './tabs';\n\nimport { default as Tag } from './tag';\n\nimport { default as TimePicker } from './time-picker';\n\nimport { default as Timeline } from './timeline';\n\nimport { default as Tooltip } from './tooltip';\n\n// import { default as Mention } from './mention'\n\nimport { default as Upload } from './upload';\n\nimport { default as version } from './version';\n\nimport { default as Drawer } from './drawer';\n\nimport { default as Skeleton } from './skeleton';\n\nimport { default as Comment } from './comment';\n\n// import { default as ColorPicker } from './color-picker';\n\nimport { default as ConfigProvider } from './config-provider';\n\nimport { default as Empty } from './empty';\n\nimport { default as Result } from './result';\n\nimport { default as Descriptions } from './descriptions';\nimport { default as PageHeader } from './page-header';\nimport { default as Space } from './space';\n\nconst components = [\n Base,\n Affix,\n Anchor,\n AutoComplete,\n Alert,\n Avatar,\n BackTop,\n Badge,\n Breadcrumb,\n Button,\n Calendar,\n Card,\n Collapse,\n Carousel,\n Cascader,\n Checkbox,\n Col,\n DatePicker,\n Divider,\n Dropdown,\n Form,\n FormModel,\n Icon,\n Input,\n InputNumber,\n Layout,\n List,\n LocaleProvider,\n Menu,\n Mentions,\n Modal,\n Pagination,\n Popconfirm,\n Popover,\n Progress,\n Radio,\n Rate,\n Row,\n Select,\n Slider,\n Spin,\n Statistic,\n Steps,\n Switch,\n Table,\n Transfer,\n Tree,\n TreeSelect,\n Tabs,\n Tag,\n TimePicker,\n Timeline,\n Tooltip,\n Upload,\n Drawer,\n Skeleton,\n Comment,\n // ColorPicker,\n ConfigProvider,\n Empty,\n Result,\n Descriptions,\n PageHeader,\n Space,\n];\n\nconst install = function(Vue) {\n components.map(component => {\n Vue.use(component);\n });\n\n Vue.prototype.$message = message;\n Vue.prototype.$notification = notification;\n Vue.prototype.$info = Modal.info;\n Vue.prototype.$success = Modal.success;\n Vue.prototype.$error = Modal.error;\n Vue.prototype.$warning = Modal.warning;\n Vue.prototype.$confirm = Modal.confirm;\n Vue.prototype.$destroyAll = Modal.destroyAll;\n};\n\n/* istanbul ignore if */\nif (typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n}\n\nexport {\n Base,\n version,\n install,\n message,\n notification,\n Affix,\n Anchor,\n AutoComplete,\n Alert,\n Avatar,\n BackTop,\n Badge,\n Breadcrumb,\n Button,\n Calendar,\n Card,\n Collapse,\n Carousel,\n Cascader,\n Checkbox,\n Col,\n DatePicker,\n Divider,\n Dropdown,\n Form,\n FormModel,\n Icon,\n Input,\n InputNumber,\n Layout,\n List,\n LocaleProvider,\n Menu,\n Mentions,\n Modal,\n Pagination,\n Popconfirm,\n Popover,\n Progress,\n Radio,\n Rate,\n Row,\n Select,\n Slider,\n Spin,\n Statistic,\n Steps,\n Switch,\n Table,\n Transfer,\n Tree,\n TreeSelect,\n Tabs,\n Tag,\n TimePicker,\n Timeline,\n Tooltip,\n Upload,\n Drawer,\n Skeleton,\n Comment,\n // ColorPicker,\n ConfigProvider,\n Empty,\n Result,\n Descriptions,\n PageHeader,\n Space,\n};\n\nexport default {\n version,\n install,\n};\n","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getOptionProps, getListeners } from '../_util/props-util';\nimport classNames from 'classnames';\nimport Icon from '../icon';\nimport VcInputNumber from '../vc-input-number/src';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Base from '../base';\n\nexport const InputNumberProps = {\n prefixCls: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n step: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n tabIndex: PropTypes.number,\n disabled: PropTypes.bool,\n size: PropTypes.oneOf(['large', 'small', 'default']),\n formatter: PropTypes.func,\n parser: PropTypes.func,\n decimalSeparator: PropTypes.string,\n placeholder: PropTypes.string,\n name: PropTypes.string,\n id: PropTypes.string,\n precision: PropTypes.number,\n autoFocus: PropTypes.bool,\n};\n\nconst InputNumber = {\n name: 'AInputNumber',\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(InputNumberProps, {\n step: 1,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n focus() {\n this.$refs.inputNumberRef.focus();\n },\n blur() {\n this.$refs.inputNumberRef.blur();\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, size, ...others } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('input-number', customizePrefixCls);\n\n const inputNumberClass = classNames({\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n });\n const upIcon = <Icon type=\"up\" class={`${prefixCls}-handler-up-inner`} />;\n const downIcon = <Icon type=\"down\" class={`${prefixCls}-handler-down-inner`} />;\n\n const vcInputNumberprops = {\n props: {\n prefixCls,\n upHandler: upIcon,\n downHandler: downIcon,\n ...others,\n },\n class: inputNumberClass,\n ref: 'inputNumberRef',\n on: getListeners(this),\n };\n return <VcInputNumber {...vcInputNumberprops} />;\n },\n};\n\n/* istanbul ignore next */\nInputNumber.install = function(Vue) {\n Vue.use(Base);\n Vue.component(InputNumber.name, InputNumber);\n};\n\nexport default InputNumber;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import classNames from 'classnames';\nimport Icon from '../icon';\nimport { getInputClassName } from './Input';\nimport PropTypes from '../_util/vue-types';\nimport { cloneElement } from '../_util/vnode';\nimport { getComponentFromProp } from '../_util/props-util';\n\nexport function hasPrefixSuffix(instance) {\n return !!(\n getComponentFromProp(instance, 'prefix') ||\n getComponentFromProp(instance, 'suffix') ||\n instance.$props.allowClear\n );\n}\n\nconst ClearableInputType = ['text', 'input'];\n\nconst ClearableLabeledInput = {\n props: {\n prefixCls: PropTypes.string,\n inputType: PropTypes.oneOf(ClearableInputType),\n value: PropTypes.any,\n defaultValue: PropTypes.any,\n allowClear: PropTypes.bool,\n element: PropTypes.any,\n handleReset: PropTypes.func,\n disabled: PropTypes.bool,\n size: PropTypes.oneOf(['small', 'large', 'default']),\n suffix: PropTypes.any,\n prefix: PropTypes.any,\n addonBefore: PropTypes.any,\n addonAfter: PropTypes.any,\n className: PropTypes.string,\n readOnly: PropTypes.bool,\n },\n methods: {\n renderClearIcon(prefixCls) {\n const { allowClear, value, disabled, readOnly, inputType, handleReset } = this.$props;\n if (\n !allowClear ||\n disabled ||\n readOnly ||\n value === undefined ||\n value === null ||\n value === ''\n ) {\n return null;\n }\n const className =\n inputType === ClearableInputType[0]\n ? `${prefixCls}-textarea-clear-icon`\n : `${prefixCls}-clear-icon`;\n return (\n <Icon\n type=\"close-circle\"\n theme=\"filled\"\n onClick={handleReset}\n class={className}\n role=\"button\"\n />\n );\n },\n\n renderSuffix(prefixCls) {\n const { suffix, allowClear } = this.$props;\n if (suffix || allowClear) {\n return (\n <span class={`${prefixCls}-suffix`}>\n {this.renderClearIcon(prefixCls)}\n {suffix}\n </span>\n );\n }\n return null;\n },\n\n renderLabeledIcon(prefixCls, element) {\n const props = this.$props;\n const suffix = this.renderSuffix(prefixCls);\n if (!hasPrefixSuffix(this)) {\n return cloneElement(element, {\n props: { value: props.value },\n });\n }\n\n const prefix = props.prefix ? (\n <span class={`${prefixCls}-prefix`}>{props.prefix}</span>\n ) : null;\n\n const affixWrapperCls = classNames(props.className, `${prefixCls}-affix-wrapper`, {\n [`${prefixCls}-affix-wrapper-sm`]: props.size === 'small',\n [`${prefixCls}-affix-wrapper-lg`]: props.size === 'large',\n [`${prefixCls}-affix-wrapper-input-with-clear-btn`]:\n props.suffix && props.allowClear && this.$props.value,\n });\n\n return (\n <span class={affixWrapperCls} style={props.style}>\n {prefix}\n {cloneElement(element, {\n style: null,\n props: { value: props.value },\n class: getInputClassName(prefixCls, props.size, props.disabled),\n })}\n {suffix}\n </span>\n );\n },\n\n renderInputWithLabel(prefixCls, labeledElement) {\n const { addonBefore, addonAfter, style, size, className } = this.$props;\n // Not wrap when there is not addons\n if (!addonBefore && !addonAfter) {\n return labeledElement;\n }\n\n const wrapperClassName = `${prefixCls}-group`;\n const addonClassName = `${wrapperClassName}-addon`;\n const addonBeforeNode = addonBefore ? (\n <span class={addonClassName}>{addonBefore}</span>\n ) : null;\n const addonAfterNode = addonAfter ? <span class={addonClassName}>{addonAfter}</span> : null;\n\n const mergedWrapperClassName = classNames(`${prefixCls}-wrapper`, {\n [wrapperClassName]: addonBefore || addonAfter,\n });\n\n const mergedGroupClassName = classNames(className, `${prefixCls}-group-wrapper`, {\n [`${prefixCls}-group-wrapper-sm`]: size === 'small',\n [`${prefixCls}-group-wrapper-lg`]: size === 'large',\n });\n\n // Need another wrapper for changing display:table to display:inline-block\n // and put style prop in wrapper\n return (\n <span class={mergedGroupClassName} style={style}>\n <span class={mergedWrapperClassName}>\n {addonBeforeNode}\n {cloneElement(labeledElement, { style: null })}\n {addonAfterNode}\n </span>\n </span>\n );\n },\n\n renderTextAreaWithClearIcon(prefixCls, element) {\n const { value, allowClear, className, style } = this.$props;\n if (!allowClear) {\n return cloneElement(element, {\n props: { value },\n });\n }\n const affixWrapperCls = classNames(\n className,\n `${prefixCls}-affix-wrapper`,\n `${prefixCls}-affix-wrapper-textarea-with-clear-btn`,\n );\n return (\n <span class={affixWrapperCls} style={style}>\n {cloneElement(element, {\n style: null,\n props: { value },\n })}\n {this.renderClearIcon(prefixCls)}\n </span>\n );\n },\n\n renderClearableLabeledInput() {\n const { prefixCls, inputType, element } = this.$props;\n if (inputType === ClearableInputType[0]) {\n return this.renderTextAreaWithClearIcon(prefixCls, element);\n }\n return this.renderInputWithLabel(prefixCls, this.renderLabeledIcon(prefixCls, element));\n },\n },\n render() {\n return this.renderClearableLabeledInput();\n },\n};\n\nexport default ClearableLabeledInput;\n","import PropTypes from '../_util/vue-types';\nimport { filterEmpty, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\n\nexport default {\n name: 'AInputGroup',\n props: {\n prefixCls: PropTypes.string,\n size: {\n validator(value) {\n return ['small', 'large', 'default'].includes(value);\n },\n },\n compact: Boolean,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n computed: {\n classes() {\n const { prefixCls: customizePrefixCls, size, compact = false } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('input-group', customizePrefixCls);\n\n return {\n [`${prefixCls}`]: true,\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-compact`]: compact,\n };\n },\n },\n methods: {},\n render() {\n return (\n <span class={this.classes} {...{ on: getListeners(this) }}>\n {filterEmpty(this.$slots.default)}\n </span>\n );\n },\n};\n","import classNames from 'classnames';\nimport TextArea from './TextArea';\nimport omit from 'omit.js';\nimport inputProps from './inputProps';\nimport { hasProp, getComponentFromProp, getListeners, getOptionProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport ClearableLabeledInput from './ClearableLabeledInput';\n\nfunction noop() {}\n\nexport function fixControlledValue(value) {\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n return value;\n}\n\nexport function resolveOnChange(target, e, onChange) {\n if (onChange) {\n let event = e;\n if (e.type === 'click') {\n // click clear icon\n //event = Object.create(e);\n Object.defineProperty(event, 'target', {\n writable: true,\n });\n Object.defineProperty(event, 'currentTarget', {\n writable: true,\n });\n event.target = target;\n event.currentTarget = target;\n const originalInputValue = target.value;\n // change target ref value cause e.target.value should be '' when clear input\n target.value = '';\n onChange(event);\n // reset target ref value\n target.value = originalInputValue;\n return;\n }\n onChange(event);\n }\n}\n\nexport function getInputClassName(prefixCls, size, disabled) {\n return classNames(prefixCls, {\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-disabled`]: disabled,\n });\n}\n\nexport default {\n name: 'AInput',\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change.value',\n },\n props: {\n ...inputProps,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const props = this.$props;\n const value = typeof props.value === 'undefined' ? props.defaultValue : props.value;\n return {\n stateValue: typeof value === 'undefined' ? '' : value,\n };\n },\n watch: {\n value(val) {\n this.stateValue = val;\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus) {\n this.focus();\n }\n this.clearPasswordValueAttribute();\n });\n },\n beforeDestroy() {\n if (this.removePasswordTimeout) {\n clearTimeout(this.removePasswordTimeout);\n }\n },\n methods: {\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n select() {\n this.$refs.input.select();\n },\n\n setValue(value, callback) {\n if (this.stateValue === value) {\n return;\n }\n if (!hasProp(this, 'value')) {\n this.stateValue = value;\n this.$nextTick(() => {\n callback && callback();\n });\n } else {\n // 不在严格受控\n // https://github.com/vueComponent/ant-design-vue/issues/2207,modal 是 新 new 实例,更新队列和当前不在同一个更新队列中\n // this.$forceUpdate();\n }\n },\n onChange(e) {\n this.$emit('change.value', e.target.value);\n this.$emit('change', e);\n this.$emit('input', e);\n },\n handleReset(e) {\n this.setValue('', () => {\n this.focus();\n });\n resolveOnChange(this.$refs.input, e, this.onChange);\n },\n renderInput(prefixCls) {\n const otherProps = omit(this.$props, [\n 'prefixCls',\n 'addonBefore',\n 'addonAfter',\n 'prefix',\n 'suffix',\n 'allowClear',\n 'value',\n 'defaultValue',\n 'lazy',\n 'size',\n 'inputType',\n 'className',\n ]);\n const { stateValue, handleKeyDown, handleChange, size, disabled } = this;\n const inputProps = {\n directives: [{ name: 'ant-input' }],\n domProps: {\n value: fixControlledValue(stateValue),\n },\n attrs: { ...otherProps, ...this.$attrs },\n on: {\n ...getListeners(this),\n keydown: handleKeyDown,\n input: handleChange,\n change: noop,\n },\n class: getInputClassName(prefixCls, size, disabled),\n ref: 'input',\n key: 'ant-input',\n };\n return <input {...inputProps} />;\n },\n clearPasswordValueAttribute() {\n // https://github.com/ant-design/ant-design/issues/20541\n this.removePasswordTimeout = setTimeout(() => {\n if (\n this.$refs.input &&\n this.$refs.input.getAttribute &&\n this.$refs.input.getAttribute('type') === 'password' &&\n this.$refs.input.hasAttribute('value')\n ) {\n this.$refs.input.removeAttribute('value');\n }\n });\n },\n handleChange(e) {\n const { value, composing } = e.target;\n // https://github.com/vueComponent/ant-design-vue/issues/2203\n if (((e.isComposing || composing) && this.lazy) || this.stateValue === value) return;\n this.setValue(value, this.clearPasswordValueAttribute);\n resolveOnChange(this.$refs.input, e, this.onChange);\n },\n handleKeyDown(e) {\n if (e.keyCode === 13) {\n this.$emit('pressEnter', e);\n }\n this.$emit('keydown', e);\n },\n },\n render() {\n if (this.$props.type === 'textarea') {\n const textareaProps = {\n props: this.$props,\n attrs: this.$attrs,\n on: {\n ...getListeners(this),\n input: this.handleChange,\n keydown: this.handleKeyDown,\n change: noop,\n },\n };\n return <TextArea {...textareaProps} ref=\"input\" />;\n }\n const { prefixCls: customizePrefixCls } = this.$props;\n const { stateValue } = this.$data;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('input', customizePrefixCls);\n const addonAfter = getComponentFromProp(this, 'addonAfter');\n const addonBefore = getComponentFromProp(this, 'addonBefore');\n const suffix = getComponentFromProp(this, 'suffix');\n const prefix = getComponentFromProp(this, 'prefix');\n const props = {\n props: {\n ...getOptionProps(this),\n prefixCls,\n inputType: 'input',\n value: fixControlledValue(stateValue),\n element: this.renderInput(prefixCls),\n handleReset: this.handleReset,\n addonAfter,\n addonBefore,\n suffix,\n prefix,\n },\n on: getListeners(this),\n };\n return <ClearableLabeledInput {...props} />;\n },\n};\n","import classNames from 'classnames';\nimport { getComponentFromProp, getOptionProps, getListeners } from '../_util/props-util';\nimport Input from './Input';\nimport Icon from '../icon';\nimport inputProps from './inputProps';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\n\nconst ActionMap = {\n click: 'click',\n hover: 'mouseover',\n};\n\nexport default {\n name: 'AInputPassword',\n mixins: [BaseMixin],\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change.value',\n },\n props: {\n ...inputProps,\n prefixCls: PropTypes.string.def('ant-input-password'),\n inputPrefixCls: PropTypes.string.def('ant-input'),\n action: PropTypes.string.def('click'),\n visibilityToggle: PropTypes.bool.def(true),\n },\n data() {\n return {\n visible: false,\n };\n },\n methods: {\n focus() {\n this.$refs.input.focus();\n },\n blur() {\n this.$refs.input.blur();\n },\n onVisibleChange() {\n if (this.disabled) {\n return;\n }\n this.setState({\n visible: !this.visible,\n });\n },\n getIcon() {\n const { prefixCls, action } = this.$props;\n const iconTrigger = ActionMap[action] || '';\n const iconProps = {\n props: {\n type: this.visible ? 'eye' : 'eye-invisible',\n },\n on: {\n [iconTrigger]: this.onVisibleChange,\n mousedown: e => {\n // Prevent focused state lost\n // https://github.com/ant-design/ant-design/issues/15173\n e.preventDefault();\n },\n mouseup: e => {\n // Prevent focused state lost\n // https://github.com/ant-design/ant-design/pull/23633/files\n e.preventDefault();\n },\n },\n class: `${prefixCls}-icon`,\n key: 'passwordIcon',\n };\n return <Icon {...iconProps} />;\n },\n },\n render() {\n const {\n prefixCls,\n inputPrefixCls,\n size,\n suffix,\n visibilityToggle,\n ...restProps\n } = getOptionProps(this);\n const suffixIcon = visibilityToggle && this.getIcon();\n const inputClassName = classNames(prefixCls, {\n [`${prefixCls}-${size}`]: !!size,\n });\n const inputProps = {\n props: {\n ...restProps,\n prefixCls: inputPrefixCls,\n size,\n suffix: suffixIcon,\n prefix: getComponentFromProp(this, 'prefix'),\n addonAfter: getComponentFromProp(this, 'addonAfter'),\n addonBefore: getComponentFromProp(this, 'addonBefore'),\n },\n attrs: {\n ...this.$attrs,\n type: this.visible ? 'text' : 'password',\n },\n class: inputClassName,\n ref: 'input',\n on: getListeners(this),\n };\n return <Input {...inputProps} />;\n },\n};\n","import ResizeObserver from '../vc-resize-observer';\nimport omit from 'omit.js';\nimport classNames from 'classnames';\nimport calculateNodeHeight from './calculateNodeHeight';\nimport raf from '../_util/raf';\nimport warning from '../_util/warning';\nimport BaseMixin from '../_util/BaseMixin';\nimport inputProps from './inputProps';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, getListeners } from '../_util/props-util';\n\nconst RESIZE_STATUS_NONE = 0;\nconst RESIZE_STATUS_RESIZING = 1;\nconst RESIZE_STATUS_RESIZED = 2;\n\nconst TextAreaProps = {\n ...inputProps,\n autosize: PropTypes.oneOfType([Object, Boolean]),\n autoSize: PropTypes.oneOfType([Object, Boolean]),\n};\nconst ResizableTextArea = {\n name: 'ResizableTextArea',\n props: TextAreaProps,\n data() {\n return {\n textareaStyles: {},\n resizeStatus: RESIZE_STATUS_NONE,\n };\n },\n mixins: [BaseMixin],\n mounted() {\n this.$nextTick(() => {\n this.resizeTextarea();\n });\n },\n beforeDestroy() {\n raf.cancel(this.nextFrameActionId);\n raf.cancel(this.resizeFrameId);\n },\n watch: {\n value() {\n this.$nextTick(() => {\n this.resizeTextarea();\n });\n },\n },\n methods: {\n handleResize(size) {\n const { resizeStatus } = this.$data;\n const { autoSize } = this.$props;\n\n if (resizeStatus !== RESIZE_STATUS_NONE) {\n return;\n }\n this.$emit('resize', size);\n if (autoSize) {\n this.resizeOnNextFrame();\n }\n },\n resizeOnNextFrame() {\n raf.cancel(this.nextFrameActionId);\n this.nextFrameActionId = raf(this.resizeTextarea);\n },\n\n resizeTextarea() {\n const autoSize = this.$props.autoSize || this.$props.autosize;\n if (!autoSize || !this.$refs.textArea) {\n return;\n }\n const { minRows, maxRows } = autoSize;\n const textareaStyles = calculateNodeHeight(this.$refs.textArea, false, minRows, maxRows);\n this.setState({ textareaStyles, resizeStatus: RESIZE_STATUS_RESIZING }, () => {\n raf.cancel(this.resizeFrameId);\n this.resizeFrameId = raf(() => {\n this.setState({ resizeStatus: RESIZE_STATUS_RESIZED }, () => {\n this.resizeFrameId = raf(() => {\n this.setState({ resizeStatus: RESIZE_STATUS_NONE });\n this.fixFirefoxAutoScroll();\n });\n });\n });\n });\n },\n // https://github.com/ant-design/ant-design/issues/21870\n fixFirefoxAutoScroll() {\n try {\n if (document.activeElement === this.$refs.textArea) {\n const currentStart = this.$refs.textArea.selectionStart;\n const currentEnd = this.$refs.textArea.selectionEnd;\n this.$refs.textArea.setSelectionRange(currentStart, currentEnd);\n }\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 renderTextArea() {\n const props = getOptionProps(this);\n const { prefixCls, autoSize, autosize, disabled } = props;\n const { textareaStyles, resizeStatus } = this.$data;\n warning(\n autosize === undefined,\n 'Input.TextArea',\n 'autosize is deprecated, please use autoSize instead.',\n );\n const otherProps = omit(props, [\n 'prefixCls',\n 'autoSize',\n 'autosize',\n 'defaultValue',\n 'allowClear',\n 'type',\n 'lazy',\n 'value',\n ]);\n const cls = classNames(prefixCls, {\n [`${prefixCls}-disabled`]: disabled,\n });\n const domProps = {};\n // Fix https://github.com/ant-design/ant-design/issues/6776\n // Make sure it could be reset when using form.getFieldDecorator\n if ('value' in props) {\n domProps.value = props.value || '';\n }\n const style = {\n ...textareaStyles,\n ...(resizeStatus === RESIZE_STATUS_RESIZING\n ? { overflowX: 'hidden', overflowY: 'hidden' }\n : null),\n };\n const textareaProps = {\n attrs: otherProps,\n domProps,\n style,\n class: cls,\n on: omit(getListeners(this), 'pressEnter'),\n directives: [\n {\n name: 'ant-input',\n },\n ],\n };\n return (\n <ResizeObserver onResize={this.handleResize} disabled={!(autoSize || autosize)}>\n <textarea {...textareaProps} ref=\"textArea\" />\n </ResizeObserver>\n );\n },\n },\n\n render() {\n return this.renderTextArea();\n },\n};\n\nexport default ResizableTextArea;\n","import classNames from 'classnames';\nimport { isMobile } from 'is-mobile';\nimport Input from './Input';\nimport Icon from '../icon';\nimport inputProps from './inputProps';\nimport Button from '../button';\nimport { cloneElement } from '../_util/vnode';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\n\nexport default {\n name: 'AInputSearch',\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change.value',\n },\n props: {\n ...inputProps,\n // 不能设置默认值 https://github.com/vueComponent/ant-design-vue/issues/1916\n enterButton: PropTypes.any,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n onChange(e) {\n if (e && e.target && e.type === 'click') {\n this.$emit('search', e.target.value, e);\n }\n this.$emit('change', e);\n },\n onSearch(e) {\n if (this.loading || this.disabled) {\n return;\n }\n this.$emit('search', this.$refs.input.stateValue, e);\n if (!isMobile({ tablet: true })) {\n this.$refs.input.focus();\n }\n },\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n renderLoading(prefixCls) {\n const { size } = this.$props;\n let enterButton = getComponentFromProp(this, 'enterButton');\n // 兼容 <a-input-search enterButton />, 因enterButton类型为 any,此类写法 enterButton 为空字符串\n enterButton = enterButton || enterButton === '';\n if (enterButton) {\n return (\n <Button class={`${prefixCls}-button`} type=\"primary\" size={size} key=\"enterButton\">\n <Icon type=\"loading\" />\n </Button>\n );\n }\n return <Icon class={`${prefixCls}-icon`} type=\"loading\" key=\"loadingIcon\" />;\n },\n renderSuffix(prefixCls) {\n const { loading } = this;\n const suffix = getComponentFromProp(this, 'suffix');\n let enterButton = getComponentFromProp(this, 'enterButton');\n // 兼容 <a-input-search enterButton />, 因enterButton类型为 any,此类写法 enterButton 为空字符串\n enterButton = enterButton || enterButton === '';\n if (loading && !enterButton) {\n return [suffix, this.renderLoading(prefixCls)];\n }\n\n if (enterButton) return suffix;\n\n const icon = (\n <Icon class={`${prefixCls}-icon`} type=\"search\" key=\"searchIcon\" onClick={this.onSearch} />\n );\n\n if (suffix) {\n // let cloneSuffix = suffix;\n // if (isValidElement(cloneSuffix) && !cloneSuffix.key) {\n // cloneSuffix = cloneElement(cloneSuffix, {\n // key: 'originSuffix',\n // });\n // }\n return [suffix, icon];\n }\n\n return icon;\n },\n renderAddonAfter(prefixCls) {\n const { size, disabled, loading } = this;\n const btnClassName = `${prefixCls}-button`;\n let enterButton = getComponentFromProp(this, 'enterButton');\n enterButton = enterButton || enterButton === '';\n const addonAfter = getComponentFromProp(this, 'addonAfter');\n if (loading && enterButton) {\n return [this.renderLoading(prefixCls), addonAfter];\n }\n if (!enterButton) return addonAfter;\n const enterButtonAsElement = Array.isArray(enterButton) ? enterButton[0] : enterButton;\n let button;\n const isAntdButton =\n enterButtonAsElement.componentOptions &&\n enterButtonAsElement.componentOptions.Ctor.extendOptions.__ANT_BUTTON;\n if (enterButtonAsElement.tag === 'button' || isAntdButton) {\n button = cloneElement(enterButtonAsElement, {\n key: 'enterButton',\n class: isAntdButton ? btnClassName : '',\n props: isAntdButton ? { size } : {},\n on: {\n click: this.onSearch,\n },\n });\n } else {\n button = (\n <Button\n class={btnClassName}\n type=\"primary\"\n size={size}\n disabled={disabled}\n key=\"enterButton\"\n onClick={this.onSearch}\n >\n {enterButton === true || enterButton === '' ? <Icon type=\"search\" /> : enterButton}\n </Button>\n );\n }\n if (addonAfter) {\n return [button, addonAfter];\n }\n\n return button;\n },\n },\n render() {\n const {\n prefixCls: customizePrefixCls,\n inputPrefixCls: customizeInputPrefixCls,\n size,\n loading,\n ...others\n } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('input-search', customizePrefixCls);\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n\n let enterButton = getComponentFromProp(this, 'enterButton');\n const addonBefore = getComponentFromProp(this, 'addonBefore');\n enterButton = enterButton || enterButton === '';\n let inputClassName;\n if (enterButton) {\n inputClassName = classNames(prefixCls, {\n [`${prefixCls}-enter-button`]: !!enterButton,\n [`${prefixCls}-${size}`]: !!size,\n });\n } else {\n inputClassName = prefixCls;\n }\n\n const on = { ...getListeners(this) };\n delete on.search;\n const inputProps = {\n props: {\n ...others,\n prefixCls: inputPrefixCls,\n size,\n suffix: this.renderSuffix(prefixCls),\n prefix: getComponentFromProp(this, 'prefix'),\n addonAfter: this.renderAddonAfter(prefixCls),\n addonBefore,\n className: inputClassName,\n },\n attrs: this.$attrs,\n ref: 'input',\n on: {\n pressEnter: this.onSearch,\n ...on,\n change: this.onChange,\n },\n };\n return <Input {...inputProps} />;\n },\n};\n","import ClearableLabeledInput from './ClearableLabeledInput';\nimport ResizableTextArea from './ResizableTextArea';\nimport inputProps from './inputProps';\nimport hasProp, { getListeners, getOptionProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport { fixControlledValue, resolveOnChange } from './Input';\nimport PropTypes from '../_util/vue-types';\n\nconst TextAreaProps = {\n ...inputProps,\n autosize: PropTypes.oneOfType([Object, Boolean]),\n autoSize: PropTypes.oneOfType([Object, Boolean]),\n};\n\nexport default {\n name: 'ATextarea',\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change.value',\n },\n props: {\n ...TextAreaProps,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const value = typeof this.value === 'undefined' ? this.defaultValue : this.value;\n return {\n stateValue: typeof value === 'undefined' ? '' : value,\n };\n },\n computed: {},\n watch: {\n value(val) {\n this.stateValue = val;\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus) {\n this.focus();\n }\n });\n },\n methods: {\n setValue(value, callback) {\n if (!hasProp(this, 'value')) {\n this.stateValue = value;\n this.$nextTick(() => {\n callback && callback();\n });\n } else {\n // 不在严格受控\n // https://github.com/vueComponent/ant-design-vue/issues/2207,modal 是 新 new 实例,更新队列和当前不在同一个更新队列中\n // this.$forceUpdate();\n }\n },\n handleKeyDown(e) {\n if (e.keyCode === 13) {\n this.$emit('pressEnter', e);\n }\n this.$emit('keydown', e);\n },\n onChange(e) {\n this.$emit('change.value', e.target.value);\n this.$emit('change', e);\n this.$emit('input', e);\n },\n handleChange(e) {\n const { value, composing } = e.target;\n if (((e.isComposing || composing) && this.lazy) || this.stateValue === value) return;\n\n this.setValue(e.target.value, () => {\n this.$refs.resizableTextArea.resizeTextarea();\n });\n resolveOnChange(this.$refs.resizableTextArea.$refs.textArea, e, this.onChange);\n },\n\n focus() {\n this.$refs.resizableTextArea.$refs.textArea.focus();\n },\n\n blur() {\n this.$refs.resizableTextArea.$refs.textArea.blur();\n },\n handleReset(e) {\n this.setValue('', () => {\n this.$refs.resizableTextArea.renderTextArea();\n this.focus();\n });\n resolveOnChange(this.$refs.resizableTextArea.$refs.textArea, e, this.onChange);\n },\n\n renderTextArea(prefixCls) {\n const props = getOptionProps(this);\n const resizeProps = {\n props: {\n ...props,\n prefixCls,\n },\n on: {\n ...getListeners(this),\n input: this.handleChange,\n keydown: this.handleKeyDown,\n },\n attrs: this.$attrs,\n };\n return <ResizableTextArea {...resizeProps} ref=\"resizableTextArea\" />;\n },\n },\n render() {\n const { stateValue, prefixCls: customizePrefixCls } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('input', customizePrefixCls);\n\n const props = {\n props: {\n ...getOptionProps(this),\n prefixCls,\n inputType: 'text',\n value: fixControlledValue(stateValue),\n element: this.renderTextArea(prefixCls),\n handleReset: this.handleReset,\n },\n on: getListeners(this),\n };\n return <ClearableLabeledInput {...props} />;\n },\n};\n","// Thanks to https://github.com/andreypopp/react-textarea-autosize/\n\n/**\n * calculateNodeHeight(uiTextNode, useCache = false)\n */\n\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`;\n\nconst SIZING_STYLE = [\n 'letter-spacing',\n 'line-height',\n 'padding-top',\n 'padding-bottom',\n 'font-family',\n 'font-weight',\n 'font-size',\n 'font-variant',\n 'text-rendering',\n 'text-transform',\n 'width',\n 'text-indent',\n 'padding-left',\n 'padding-right',\n 'border-width',\n 'box-sizing',\n];\n\nconst computedStyleCache = {};\nlet hiddenTextarea;\n\nexport function calculateNodeStyling(node, useCache = false) {\n const nodeRef =\n node.getAttribute('id') || node.getAttribute('data-reactid') || node.getAttribute('name');\n\n if (useCache && computedStyleCache[nodeRef]) {\n return computedStyleCache[nodeRef];\n }\n\n const style = window.getComputedStyle(node);\n\n const boxSizing =\n style.getPropertyValue('box-sizing') ||\n style.getPropertyValue('-moz-box-sizing') ||\n style.getPropertyValue('-webkit-box-sizing');\n\n const paddingSize =\n parseFloat(style.getPropertyValue('padding-bottom')) +\n parseFloat(style.getPropertyValue('padding-top'));\n\n const borderSize =\n parseFloat(style.getPropertyValue('border-bottom-width')) +\n parseFloat(style.getPropertyValue('border-top-width'));\n\n const sizingStyle = SIZING_STYLE.map(name => `${name}:${style.getPropertyValue(name)}`).join(';');\n\n const nodeInfo = {\n sizingStyle,\n paddingSize,\n borderSize,\n boxSizing,\n };\n\n if (useCache && nodeRef) {\n computedStyleCache[nodeRef] = nodeInfo;\n }\n\n return nodeInfo;\n}\n\nexport default function calculateNodeHeight(\n uiTextNode,\n useCache = false,\n minRows = null,\n maxRows = null,\n) {\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n document.body.appendChild(hiddenTextarea);\n }\n\n // Fix wrap=\"off\" issue\n // https://github.com/ant-design/ant-design/issues/6577\n if (uiTextNode.getAttribute('wrap')) {\n hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap'));\n } else {\n hiddenTextarea.removeAttribute('wrap');\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n const { paddingSize, borderSize, boxSizing, sizingStyle } = calculateNodeStyling(\n uiTextNode,\n useCache,\n );\n\n // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n hiddenTextarea.setAttribute('style', `${sizingStyle};${HIDDEN_TEXTAREA_STYLE}`);\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || '';\n\n let minHeight = Number.MIN_SAFE_INTEGER;\n let maxHeight = Number.MAX_SAFE_INTEGER;\n let height = hiddenTextarea.scrollHeight;\n let overflowY;\n\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height += borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height -= paddingSize;\n }\n\n if (minRows !== null || maxRows !== null) {\n // measure height of a textarea with a single row\n hiddenTextarea.value = ' ';\n const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n overflowY = height > maxHeight ? '' : 'hidden';\n height = Math.min(maxHeight, height);\n }\n }\n return {\n height: `${height}px`,\n minHeight: `${minHeight}px`,\n maxHeight: `${maxHeight}px`,\n overflowY,\n };\n}\n","import Vue from 'vue';\nimport Input from './Input';\nimport Group from './Group';\nimport Search from './Search';\nimport TextArea from './TextArea';\nimport Password from './Password';\nimport antInputDirective from '../_util/antInputDirective';\nimport Base from '../base';\n\nVue.use(antInputDirective);\n\nInput.Group = Group;\nInput.Search = Search;\nInput.TextArea = TextArea;\nInput.Password = Password;\n\n/* istanbul ignore next */\nInput.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Input.name, Input);\n Vue.component(Input.Group.name, Input.Group);\n Vue.component(Input.Search.name, Input.Search);\n Vue.component(Input.TextArea.name, Input.TextArea);\n Vue.component(Input.Password.name, Input.Password);\n};\n\nexport default Input;\n","import PropTypes from '../_util/vue-types';\nexport default {\n prefixCls: PropTypes.string,\n inputPrefixCls: PropTypes.string,\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n placeholder: [String, Number],\n type: {\n default: 'text',\n type: String,\n },\n name: String,\n size: PropTypes.oneOf(['small', 'large', 'default']),\n disabled: PropTypes.bool,\n readOnly: PropTypes.bool,\n addonBefore: PropTypes.any,\n addonAfter: PropTypes.any,\n // onPressEnter?: React.FormEventHandler<any>;\n // onKeyDown?: React.FormEventHandler<any>;\n // onChange?: React.ChangeEventHandler<HTMLInputElement>;\n // onClick?: React.FormEventHandler<any>;\n // onFocus?: React.FormEventHandler<any>;\n // onBlur?: React.FormEventHandler<any>;\n prefix: PropTypes.any,\n suffix: PropTypes.any,\n // spellCheck: Boolean,\n autoFocus: Boolean,\n allowClear: Boolean,\n lazy: {\n default: true,\n type: Boolean,\n },\n maxLength: PropTypes.number,\n loading: PropTypes.bool,\n className: PropTypes.string,\n};\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../button/style';\n","// extracted by mini-css-extract-plugin","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport {\n initDefaultProps,\n getOptionProps,\n hasProp,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport isNumeric from '../_util/isNumeric';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Icon from '../icon';\n\n// matchMedia polyfill for\n// https://github.com/WickyNilliams/enquire.js/issues/82\nif (typeof window !== 'undefined') {\n const matchMediaPolyfill = mediaQuery => {\n return {\n media: mediaQuery,\n matches: false,\n addListener() {},\n removeListener() {},\n };\n };\n window.matchMedia = window.matchMedia || matchMediaPolyfill;\n}\n\nconst dimensionMaxMap = {\n xs: '479.98px',\n sm: '575.98px',\n md: '767.98px',\n lg: '991.98px',\n xl: '1199.98px',\n xxl: '1599.98px',\n};\n\n// export type CollapseType = 'clickTrigger' | 'responsive';\n\nexport const SiderProps = {\n prefixCls: PropTypes.string,\n collapsible: PropTypes.bool,\n collapsed: PropTypes.bool,\n defaultCollapsed: PropTypes.bool,\n reverseArrow: PropTypes.bool,\n // onCollapse?: (collapsed: boolean, type: CollapseType) => void;\n zeroWidthTriggerStyle: PropTypes.object,\n trigger: PropTypes.any,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n collapsedWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n breakpoint: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', 'xxl']),\n theme: PropTypes.oneOf(['light', 'dark']).def('dark'),\n};\n\n// export interface SiderState {\n// collapsed?: boolean;\n// below: boolean;\n// belowShow?: boolean;\n// }\n\n// export interface SiderContext {\n// siderCollapsed: boolean;\n// }\n\nconst generateId = (() => {\n let i = 0;\n return (prefix = '') => {\n i += 1;\n return `${prefix}${i}`;\n };\n})();\n\nexport default {\n name: 'ALayoutSider',\n __ANT_LAYOUT_SIDER: true,\n mixins: [BaseMixin],\n model: {\n prop: 'collapsed',\n event: 'collapse',\n },\n props: initDefaultProps(SiderProps, {\n collapsible: false,\n defaultCollapsed: false,\n reverseArrow: false,\n width: 200,\n collapsedWidth: 80,\n }),\n data() {\n this.uniqueId = generateId('ant-sider-');\n let matchMedia;\n if (typeof window !== 'undefined') {\n matchMedia = window.matchMedia;\n }\n const props = getOptionProps(this);\n if (matchMedia && props.breakpoint && props.breakpoint in dimensionMaxMap) {\n this.mql = matchMedia(`(max-width: ${dimensionMaxMap[props.breakpoint]})`);\n }\n let sCollapsed;\n if ('collapsed' in props) {\n sCollapsed = props.collapsed;\n } else {\n sCollapsed = props.defaultCollapsed;\n }\n return {\n sCollapsed,\n below: false,\n belowShow: false,\n };\n },\n provide() {\n return {\n layoutSiderContext: this, // menu组件中使用\n };\n },\n inject: {\n siderHook: { default: () => ({}) },\n configProvider: { default: () => ConfigConsumerProps },\n },\n // getChildContext() {\n // return {\n // siderCollapsed: this.state.collapsed,\n // collapsedWidth: this.props.collapsedWidth,\n // };\n // }\n watch: {\n collapsed(val) {\n this.setState({\n sCollapsed: val,\n });\n },\n },\n\n mounted() {\n this.$nextTick(() => {\n if (this.mql) {\n this.mql.addListener(this.responsiveHandler);\n this.responsiveHandler(this.mql);\n }\n\n if (this.siderHook.addSider) {\n this.siderHook.addSider(this.uniqueId);\n }\n });\n },\n\n beforeDestroy() {\n if (this.mql) {\n this.mql.removeListener(this.responsiveHandler);\n }\n\n if (this.siderHook.removeSider) {\n this.siderHook.removeSider(this.uniqueId);\n }\n },\n methods: {\n responsiveHandler(mql) {\n this.setState({ below: mql.matches });\n this.$emit('breakpoint', mql.matches);\n if (this.sCollapsed !== mql.matches) {\n this.setCollapsed(mql.matches, 'responsive');\n }\n },\n\n setCollapsed(collapsed, type) {\n if (!hasProp(this, 'collapsed')) {\n this.setState({\n sCollapsed: collapsed,\n });\n }\n this.$emit('collapse', collapsed, type);\n },\n\n toggle() {\n const collapsed = !this.sCollapsed;\n this.setCollapsed(collapsed, 'clickTrigger');\n },\n\n belowShowChange() {\n this.setState({ belowShow: !this.belowShow });\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n theme,\n collapsible,\n reverseArrow,\n width,\n collapsedWidth,\n zeroWidthTriggerStyle,\n } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('layout-sider', customizePrefixCls);\n\n const trigger = getComponentFromProp(this, 'trigger');\n const rawWidth = this.sCollapsed ? collapsedWidth : width;\n // use \"px\" as fallback unit for width\n const siderWidth = isNumeric(rawWidth) ? `${rawWidth}px` : String(rawWidth);\n // special trigger when collapsedWidth == 0\n const zeroWidthTrigger =\n parseFloat(String(collapsedWidth || 0)) === 0 ? (\n <span\n onClick={this.toggle}\n class={`${prefixCls}-zero-width-trigger ${prefixCls}-zero-width-trigger-${\n reverseArrow ? 'right' : 'left'\n }`}\n style={zeroWidthTriggerStyle}\n >\n <Icon type=\"bars\" />\n </span>\n ) : null;\n const iconObj = {\n expanded: reverseArrow ? <Icon type=\"right\" /> : <Icon type=\"left\" />,\n collapsed: reverseArrow ? <Icon type=\"left\" /> : <Icon type=\"right\" />,\n };\n const status = this.sCollapsed ? 'collapsed' : 'expanded';\n const defaultTrigger = iconObj[status];\n const triggerDom =\n trigger !== null\n ? zeroWidthTrigger || (\n <div class={`${prefixCls}-trigger`} onClick={this.toggle} style={{ width: siderWidth }}>\n {trigger || defaultTrigger}\n </div>\n )\n : null;\n const divStyle = {\n // ...style,\n flex: `0 0 ${siderWidth}`,\n maxWidth: siderWidth, // Fix width transition bug in IE11\n minWidth: siderWidth, // https://github.com/ant-design/ant-design/issues/6349\n width: siderWidth,\n };\n const siderCls = classNames(prefixCls, `${prefixCls}-${theme}`, {\n [`${prefixCls}-collapsed`]: !!this.sCollapsed,\n [`${prefixCls}-has-trigger`]: collapsible && trigger !== null && !zeroWidthTrigger,\n [`${prefixCls}-below`]: !!this.below,\n [`${prefixCls}-zero-width`]: parseFloat(siderWidth) === 0,\n });\n const divProps = {\n on: getListeners(this),\n class: siderCls,\n style: divStyle,\n };\n return (\n <aside {...divProps}>\n <div class={`${prefixCls}-children`}>{this.$slots.default}</div>\n {collapsible || (this.below && zeroWidthTrigger) ? triggerDom : null}\n </aside>\n );\n },\n};\n","import Layout from './layout';\nimport Sider from './Sider';\nimport Base from '../base';\n\nLayout.Sider = Sider;\n\n/* istanbul ignore next */\nLayout.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Layout.name, Layout);\n Vue.component(Layout.Header.name, Layout.Header);\n Vue.component(Layout.Footer.name, Layout.Footer);\n Vue.component(Layout.Sider.name, Layout.Sider);\n Vue.component(Layout.Content.name, Layout.Content);\n};\nexport default Layout;\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\n\nexport const BasicProps = {\n prefixCls: PropTypes.string,\n hasSider: PropTypes.boolean,\n tagName: PropTypes.string,\n};\n\nfunction generator({ suffixCls, tagName, name }) {\n return BasicComponent => {\n return {\n name,\n props: BasicComponent.props,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls } = this.$props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls(suffixCls, customizePrefixCls);\n\n const basicComponentProps = {\n props: {\n prefixCls,\n ...getOptionProps(this),\n tagName,\n },\n on: getListeners(this),\n };\n return <BasicComponent {...basicComponentProps}>{this.$slots.default}</BasicComponent>;\n },\n };\n };\n}\n\nconst Basic = {\n props: BasicProps,\n render() {\n const { prefixCls, tagName: Tag, $slots } = this;\n const divProps = {\n class: prefixCls,\n on: getListeners(this),\n };\n return <Tag {...divProps}>{$slots.default}</Tag>;\n },\n};\n\nconst BasicLayout = {\n props: BasicProps,\n data() {\n return {\n siders: [],\n };\n },\n provide() {\n return {\n siderHook: {\n addSider: id => {\n this.siders = [...this.siders, id];\n },\n removeSider: id => {\n this.siders = this.siders.filter(currentId => currentId !== id);\n },\n },\n };\n },\n render() {\n const { prefixCls, $slots, hasSider, tagName: Tag } = this;\n const divCls = classNames(prefixCls, {\n [`${prefixCls}-has-sider`]: typeof hasSider === 'boolean' ? hasSider : this.siders.length > 0,\n });\n const divProps = {\n class: divCls,\n on: getListeners,\n };\n return <Tag {...divProps}>{$slots.default}</Tag>;\n },\n};\n\nconst Layout = generator({\n suffixCls: 'layout',\n tagName: 'section',\n name: 'ALayout',\n})(BasicLayout);\n\nconst Header = generator({\n suffixCls: 'layout-header',\n tagName: 'header',\n name: 'ALayoutHeader',\n})(Basic);\n\nconst Footer = generator({\n suffixCls: 'layout-footer',\n tagName: 'footer',\n name: 'ALayoutFooter',\n})(Basic);\n\nconst Content = generator({\n suffixCls: 'layout-content',\n tagName: 'main',\n name: 'ALayoutContent',\n})(Basic);\n\nLayout.Header = Header;\nLayout.Footer = Footer;\nLayout.Content = Content;\n\nexport default Layout;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport {\n getComponentFromProp,\n isStringElement,\n getListeners,\n isEmptyElement,\n} from '../_util/props-util';\nimport { Col } from '../grid';\nimport { ConfigConsumerProps } from '../config-provider';\nimport { ListGridType } from './index';\nimport { cloneElement } from '../_util/vnode';\n\nexport const ListItemProps = {\n prefixCls: PropTypes.string,\n extra: PropTypes.any,\n actions: PropTypes.arrayOf(PropTypes.any),\n grid: ListGridType,\n};\n\nexport const ListItemMetaProps = {\n avatar: PropTypes.any,\n description: PropTypes.any,\n prefixCls: PropTypes.string,\n title: PropTypes.any,\n};\n\nexport const Meta = {\n functional: true,\n name: 'AListItemMeta',\n __ANT_LIST_ITEM_META: true,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render(h, context) {\n const { props, slots, listeners, injections } = context;\n const slotsMap = slots();\n const getPrefixCls = injections.configProvider.getPrefixCls;\n const { prefixCls: customizePrefixCls } = props;\n const prefixCls = getPrefixCls('list', customizePrefixCls);\n\n const avatar = props.avatar || slotsMap.avatar;\n const title = props.title || slotsMap.title;\n const description = props.description || slotsMap.description;\n const content = (\n <div class={`${prefixCls}-item-meta-content`}>\n {title && <h4 class={`${prefixCls}-item-meta-title`}>{title}</h4>}\n {description && <div class={`${prefixCls}-item-meta-description`}>{description}</div>}\n </div>\n );\n return (\n <div {...{ on: listeners }} class={`${prefixCls}-item-meta`}>\n {avatar && <div class={`${prefixCls}-item-meta-avatar`}>{avatar}</div>}\n {(title || description) && content}\n </div>\n );\n },\n};\n\nfunction getGrid(grid, t) {\n return grid[t] && Math.floor(24 / grid[t]);\n}\n\nexport default {\n name: 'AListItem',\n Meta,\n props: ListItemProps,\n inject: {\n listContext: { default: () => ({}) },\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n isItemContainsTextNodeAndNotSingular() {\n const { $slots } = this;\n let result;\n const children = $slots.default || [];\n children.forEach(element => {\n if (isStringElement(element) && !isEmptyElement(element)) {\n result = true;\n }\n });\n return result && children.length > 1;\n },\n\n isFlexMode() {\n const extra = getComponentFromProp(this, 'extra');\n const { itemLayout } = this.listContext;\n if (itemLayout === 'vertical') {\n return !!extra;\n }\n return !this.isItemContainsTextNodeAndNotSingular();\n },\n },\n render() {\n const { grid, itemLayout } = this.listContext;\n const { prefixCls: customizePrefixCls, $slots } = this;\n const listeners = getListeners(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('list', customizePrefixCls);\n const extra = getComponentFromProp(this, 'extra');\n const actions = getComponentFromProp(this, 'actions');\n\n const actionsContent = actions && actions.length > 0 && (\n <ul class={`${prefixCls}-item-action`} key=\"actions\">\n {actions.map((action, i) => (\n <li key={`${prefixCls}-item-action-${i}`}>\n {action}\n {i !== actions.length - 1 && <em class={`${prefixCls}-item-action-split`} />}\n </li>\n ))}\n </ul>\n );\n\n const Tag = grid ? 'div' : 'li';\n const itemChildren = (\n <Tag\n {...{ on: listeners }}\n class={classNames(`${prefixCls}-item`, {\n [`${prefixCls}-item-no-flex`]: !this.isFlexMode(),\n })}\n >\n {itemLayout === 'vertical' && extra\n ? [\n <div class={`${prefixCls}-item-main`} key=\"content\">\n {$slots.default}\n {actionsContent}\n </div>,\n <div class={`${prefixCls}-item-extra`} key=\"extra\">\n {extra}\n </div>,\n ]\n : [$slots.default, actionsContent, cloneElement(extra, { key: 'extra' })]}\n </Tag>\n );\n\n const mainContent = grid ? (\n <Col\n span={getGrid(grid, 'column')}\n xs={getGrid(grid, 'xs')}\n sm={getGrid(grid, 'sm')}\n md={getGrid(grid, 'md')}\n lg={getGrid(grid, 'lg')}\n xl={getGrid(grid, 'xl')}\n xxl={getGrid(grid, 'xxl')}\n >\n {itemChildren}\n </Col>\n ) : (\n itemChildren\n );\n\n return mainContent;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport { ConfigConsumerProps } from '../config-provider';\n\nimport Spin from '../spin';\nimport Pagination, { PaginationConfig } from '../pagination';\nimport { Row } from '../grid';\n\nimport Item from './Item';\nimport {\n initDefaultProps,\n getComponentFromProp,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport Base from '../base';\n\nexport { ListItemProps, ListItemMetaProps } from './Item';\n\nexport const ColumnCount = ['', 1, 2, 3, 4, 6, 8, 12, 24];\n\nexport const ColumnType = ['gutter', 'column', 'xs', 'sm', 'md', 'lg', 'xl', 'xxl'];\n\nexport const ListGridType = {\n gutter: PropTypes.number,\n column: PropTypes.oneOf(ColumnCount),\n xs: PropTypes.oneOf(ColumnCount),\n sm: PropTypes.oneOf(ColumnCount),\n md: PropTypes.oneOf(ColumnCount),\n lg: PropTypes.oneOf(ColumnCount),\n xl: PropTypes.oneOf(ColumnCount),\n xxl: PropTypes.oneOf(ColumnCount),\n};\n\nexport const ListSize = ['small', 'default', 'large'];\n\nexport const ListProps = () => ({\n bordered: PropTypes.bool,\n dataSource: PropTypes.array,\n extra: PropTypes.any,\n grid: PropTypes.shape(ListGridType).loose,\n itemLayout: PropTypes.string,\n loading: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n loadMore: PropTypes.any,\n pagination: PropTypes.oneOfType([PropTypes.shape(PaginationConfig()).loose, PropTypes.bool]),\n prefixCls: PropTypes.string,\n rowKey: PropTypes.any,\n renderItem: PropTypes.any,\n size: PropTypes.oneOf(ListSize),\n split: PropTypes.bool,\n header: PropTypes.any,\n footer: PropTypes.any,\n locale: PropTypes.object,\n});\n\nconst List = {\n Item,\n name: 'AList',\n props: initDefaultProps(ListProps(), {\n dataSource: [],\n bordered: false,\n split: true,\n loading: false,\n pagination: false,\n }),\n provide() {\n return {\n listContext: this,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n this.keys = [];\n this.defaultPaginationProps = {\n current: 1,\n pageSize: 10,\n onChange: (page, pageSize) => {\n const { pagination } = this;\n this.paginationCurrent = page;\n if (pagination && pagination.onChange) {\n pagination.onChange(page, pageSize);\n }\n },\n total: 0,\n };\n this.onPaginationChange = this.triggerPaginationEvent('onChange');\n this.onPaginationShowSizeChange = this.triggerPaginationEvent('onShowSizeChange');\n const { pagination } = this.$props;\n const paginationObj = pagination && typeof pagination === 'object' ? pagination : {};\n return {\n paginationCurrent: paginationObj.defaultCurrent || 1,\n paginationSize: paginationObj.defaultPageSize || 10,\n };\n },\n methods: {\n triggerPaginationEvent(eventName) {\n return (page, pageSize) => {\n const { pagination } = this.$props;\n this.paginationCurrent = page;\n this.paginationSize = pageSize;\n if (pagination && pagination[eventName]) {\n pagination[eventName](page, pageSize);\n }\n };\n },\n renderItem2(item, index) {\n const { $scopedSlots, rowKey } = this;\n const renderItem = this.renderItem || $scopedSlots.renderItem;\n if (!renderItem) return null;\n let key;\n if (typeof rowKey === 'function') {\n key = rowKey(item);\n } else if (typeof rowKey === 'string') {\n key = item[rowKey];\n } else {\n key = item.key;\n }\n\n if (!key) {\n key = `list-item-${index}`;\n }\n\n this.keys[index] = key;\n\n return renderItem(item, index);\n },\n\n isSomethingAfterLastItem() {\n const { pagination } = this;\n const loadMore = getComponentFromProp(this, 'loadMore');\n const footer = getComponentFromProp(this, 'footer');\n return !!(loadMore || pagination || footer);\n },\n\n renderEmpty(prefixCls, renderEmpty) {\n const { locale } = this;\n return (\n <div class={`${prefixCls}-empty-text`}>\n {(locale && locale.emptyText) || renderEmpty(h, 'List')}\n </div>\n );\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n bordered,\n split,\n itemLayout,\n pagination,\n grid,\n dataSource = [],\n size,\n loading,\n $slots,\n paginationCurrent,\n paginationSize,\n } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('list', customizePrefixCls);\n\n const loadMore = getComponentFromProp(this, 'loadMore');\n const footer = getComponentFromProp(this, 'footer');\n const header = getComponentFromProp(this, 'header');\n const children = filterEmpty($slots.default || []);\n let loadingProp = loading;\n if (typeof loadingProp === 'boolean') {\n loadingProp = {\n spinning: loadingProp,\n };\n }\n const isLoading = loadingProp && loadingProp.spinning;\n\n // large => lg\n // small => sm\n let sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n default:\n break;\n }\n const classString = classNames(prefixCls, {\n [`${prefixCls}-vertical`]: itemLayout === 'vertical',\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-split`]: split,\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-loading`]: isLoading,\n [`${prefixCls}-grid`]: grid,\n [`${prefixCls}-something-after-last-item`]: this.isSomethingAfterLastItem(),\n });\n const paginationProps = {\n ...this.defaultPaginationProps,\n total: dataSource.length,\n current: paginationCurrent,\n pageSize: paginationSize,\n ...(pagination || {}),\n };\n const largestPage = Math.ceil(paginationProps.total / paginationProps.pageSize);\n if (paginationProps.current > largestPage) {\n paginationProps.current = largestPage;\n }\n const { class: cls, style, ...restProps } = paginationProps;\n const paginationContent = pagination ? (\n <div class={`${prefixCls}-pagination`}>\n <Pagination\n {...{\n props: omit(restProps, ['onChange']),\n class: cls,\n style,\n on: {\n change: this.onPaginationChange,\n showSizeChange: this.onPaginationShowSizeChange,\n },\n }}\n />\n </div>\n ) : null;\n\n let splitDataSource = [...dataSource];\n if (pagination) {\n if (dataSource.length > (paginationProps.current - 1) * paginationProps.pageSize) {\n splitDataSource = [...dataSource].splice(\n (paginationProps.current - 1) * paginationProps.pageSize,\n paginationProps.pageSize,\n );\n }\n }\n\n let childrenContent;\n childrenContent = isLoading && <div style={{ minHeight: 53 }} />;\n if (splitDataSource.length > 0) {\n const items = splitDataSource.map((item, index) => this.renderItem2(item, index));\n const childrenList = items.map((child, index) =>\n cloneElement(child, {\n key: this.keys[index],\n }),\n );\n\n childrenContent = grid ? (\n <Row gutter={grid.gutter}>{childrenList}</Row>\n ) : (\n <ul class={`${prefixCls}-items`}>{childrenList}</ul>\n );\n } else if (!children.length && !isLoading) {\n const renderEmpty = this.configProvider.renderEmpty;\n childrenContent = this.renderEmpty(prefixCls, renderEmpty);\n }\n const paginationPosition = paginationProps.position || 'bottom';\n\n return (\n <div class={classString} {...{ on: getListeners(this) }}>\n {(paginationPosition === 'top' || paginationPosition === 'both') && paginationContent}\n {header && <div class={`${prefixCls}-header`}>{header}</div>}\n <Spin {...{ props: loadingProp }}>\n {childrenContent}\n {children}\n </Spin>\n {footer && <div class={`${prefixCls}-footer`}>{footer}</div>}\n {loadMore ||\n ((paginationPosition === 'bottom' || paginationPosition === 'both') && paginationContent)}\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nList.install = function(Vue) {\n Vue.use(Base);\n Vue.component(List.name, List);\n Vue.component(List.Item.name, List.Item);\n Vue.component(List.Item.Meta.name, List.Item.Meta);\n};\n\nexport default List;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../empty/style';\nimport '../../spin/style';\nimport '../../pagination/style';\nimport '../../grid/style';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport defaultLocaleData from './default';\n\nexport default {\n name: 'LocaleReceiver',\n props: {\n componentName: PropTypes.string.def('global'),\n defaultLocale: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n children: PropTypes.func,\n },\n inject: {\n localeData: { default: () => ({}) },\n },\n methods: {\n getLocale() {\n const { componentName, defaultLocale } = this;\n const locale = defaultLocale || defaultLocaleData[componentName || 'global'];\n const { antLocale } = this.localeData;\n\n const localeFromContext = componentName && antLocale ? antLocale[componentName] : {};\n return {\n ...(typeof locale === 'function' ? locale() : locale),\n ...(localeFromContext || {}),\n };\n },\n\n getLocaleCode() {\n const { antLocale } = this.localeData;\n const localeCode = antLocale && antLocale.locale;\n // Had use LocaleProvide but didn't set locale\n if (antLocale && antLocale.exist && !localeCode) {\n return defaultLocaleData.locale;\n }\n return localeCode;\n },\n },\n render() {\n const { $scopedSlots } = this;\n const children = this.children || $scopedSlots.default;\n const { antLocale } = this.localeData;\n return children(this.getLocale(), this.getLocaleCode(), antLocale);\n },\n};\n","import locale from '../locale/default';\n\nexport default locale;\n","import PropTypes from '../_util/vue-types';\nimport * as moment from 'moment';\nimport interopDefault from '../_util/interopDefault';\nimport { changeConfirmLocale } from '../modal/locale';\nimport Base from '../base';\nimport warning from '../_util/warning';\n// export interface Locale {\n// locale: string;\n// Pagination?: Object;\n// DatePicker?: Object;\n// TimePicker?: Object;\n// Calendar?: Object;\n// Table?: Object;\n// Modal?: ModalLocale;\n// Popconfirm?: Object;\n// Transfer?: Object;\n// Select?: Object;\n// Upload?: Object;\n// }\nexport const ANT_MARK = 'internalMark';\nfunction setMomentLocale(locale) {\n if (locale && locale.locale) {\n interopDefault(moment).locale(locale.locale);\n } else {\n interopDefault(moment).locale('en');\n }\n}\n\nconst LocaleProvider = {\n name: 'ALocaleProvider',\n props: {\n locale: PropTypes.object.def(() => ({})),\n _ANT_MARK__: PropTypes.string,\n },\n data() {\n warning(\n this._ANT_MARK__ === ANT_MARK,\n 'LocaleProvider',\n '`LocaleProvider` is deprecated. Please use `locale` with `ConfigProvider` instead',\n );\n return {\n antLocale: {\n ...this.locale,\n exist: true,\n },\n };\n },\n provide() {\n return {\n localeData: this.$data,\n };\n },\n watch: {\n locale(val) {\n this.antLocale = {\n ...this.locale,\n exist: true,\n };\n setMomentLocale(val);\n changeConfirmLocale(val && val.Modal);\n },\n },\n created() {\n const { locale } = this;\n setMomentLocale(locale);\n changeConfirmLocale(locale && locale.Modal);\n },\n beforeDestroy() {\n changeConfirmLocale();\n },\n render() {\n return this.$slots.default ? this.$slots.default[0] : null;\n },\n};\n\n/* istanbul ignore next */\nLocaleProvider.install = function(Vue) {\n Vue.use(Base);\n Vue.component(LocaleProvider.name, LocaleProvider);\n};\n\nexport default LocaleProvider;\n","import './index.less';\n","// extracted by mini-css-extract-plugin","import Pagination from '../vc-pagination/locale/en_US';\nimport DatePicker from '../date-picker/locale/en_US';\nimport TimePicker from '../time-picker/locale/en_US';\nimport Calendar from '../calendar/locale/en_US';\nimport ColorPicker from '../color-picker/locale/en_US';\n\nexport default {\n locale: 'en',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n ColorPicker,\n global: {\n placeholder: 'Please select',\n },\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\n sortTitle: 'Sort',\n expand: 'Expand row',\n collapse: 'Collapse row',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel',\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Search here',\n itemUnit: 'item',\n itemsUnit: 'items',\n },\n Upload: {\n uploading: 'Uploading...',\n removeFile: 'Remove file',\n uploadError: 'Upload error',\n previewFile: 'Preview file',\n downloadFile: 'Download file',\n },\n Empty: {\n description: 'No Data',\n },\n Icon: {\n icon: 'icon',\n },\n Text: {\n edit: 'Edit',\n copy: 'Copy',\n copied: 'Copied',\n expand: 'Expand',\n },\n PageHeader: {\n back: 'Back',\n },\n};\n","import classNames from 'classnames';\nimport omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport VcMentions from '../vc-mentions';\nimport { mentionsProps } from '../vc-mentions/src/mentionsProps';\nimport Base from '../base';\nimport Spin from '../spin';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider';\nimport {\n getOptionProps,\n getComponentFromProp,\n getListeners,\n filterEmpty,\n} from '../_util/props-util';\n\nconst { Option } = VcMentions;\n\nfunction loadingFilterOption() {\n return true;\n}\n\nfunction getMentions(value = '', config) {\n const { prefix = '@', split = ' ' } = config || {};\n const prefixList = Array.isArray(prefix) ? prefix : [prefix];\n\n return value\n .split(split)\n .map((str = '') => {\n let hitPrefix = null;\n\n prefixList.some(prefixStr => {\n const startStr = str.slice(0, prefixStr.length);\n if (startStr === prefixStr) {\n hitPrefix = prefixStr;\n return true;\n }\n return false;\n });\n\n if (hitPrefix !== null) {\n return {\n prefix: hitPrefix,\n value: str.slice(hitPrefix.length),\n };\n }\n return null;\n })\n .filter(entity => !!entity && !!entity.value);\n}\n\nconst Mentions = {\n name: 'AMentions',\n mixins: [BaseMixin],\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change',\n },\n Option: { ...Option, name: 'AMentionsOption' },\n getMentions,\n props: {\n ...mentionsProps,\n loading: PropTypes.bool,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n focused: false,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus) {\n this.focus();\n }\n });\n },\n methods: {\n onFocus(...args) {\n this.$emit('focus', ...args);\n this.setState({\n focused: true,\n });\n },\n onBlur(...args) {\n this.$emit('blur', ...args);\n this.setState({\n focused: false,\n });\n },\n onSelect(...args) {\n this.$emit('select', ...args);\n this.setState({\n focused: true,\n });\n },\n onChange(val) {\n this.$emit('change', val);\n },\n getNotFoundContent(renderEmpty) {\n const h = this.$createElement;\n const notFoundContent = getComponentFromProp(this, 'notFoundContent');\n if (notFoundContent !== undefined) {\n return notFoundContent;\n }\n\n return renderEmpty(h, 'Select');\n },\n getOptions() {\n const { loading } = this.$props;\n const children = filterEmpty(this.$slots.default || []);\n\n if (loading) {\n return (\n <Option value=\"ANTD_SEARCHING\" disabled>\n <Spin size=\"small\" />\n </Option>\n );\n }\n return children;\n },\n getFilterOption() {\n const { filterOption, loading } = this.$props;\n if (loading) {\n return loadingFilterOption;\n }\n return filterOption;\n },\n focus() {\n this.$refs.vcMentions.focus();\n },\n blur() {\n this.$refs.vcMentions.blur();\n },\n },\n render() {\n const { focused } = this.$data;\n const { getPrefixCls, renderEmpty } = this.configProvider;\n const {\n prefixCls: customizePrefixCls,\n disabled,\n getPopupContainer,\n ...restProps\n } = getOptionProps(this);\n const prefixCls = getPrefixCls('mentions', customizePrefixCls);\n const otherProps = omit(restProps, ['loading']);\n\n const mergedClassName = classNames({\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-focused`]: focused,\n });\n\n const mentionsProps = {\n props: {\n prefixCls,\n notFoundContent: this.getNotFoundContent(renderEmpty),\n ...otherProps,\n disabled,\n filterOption: this.getFilterOption(),\n getPopupContainer,\n children: this.getOptions(),\n },\n class: mergedClassName,\n attrs: { rows: 1, ...this.$attrs },\n on: {\n ...getListeners(this),\n change: this.onChange,\n select: this.onSelect,\n focus: this.onFocus,\n blur: this.onBlur,\n },\n ref: 'vcMentions',\n };\n\n return <VcMentions {...mentionsProps} />;\n },\n};\n\n/* istanbul ignore next */\nMentions.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Mentions.name, Mentions);\n Vue.component(Mentions.Option.name, Mentions.Option);\n};\n\nexport default Mentions;\n","import './index.less';\n\n// style dependencies\nimport '../../empty/style';\nimport '../../spin/style';\n","// extracted by mini-css-extract-plugin","import { Item, itemProps } from '../vc-menu';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nimport Tooltip from '../tooltip';\nfunction noop() {}\nexport default {\n name: 'MenuItem',\n inheritAttrs: false,\n props: itemProps,\n inject: {\n getInlineCollapsed: { default: () => noop },\n layoutSiderContext: { default: () => ({}) },\n },\n isMenuItem: true,\n methods: {\n onKeyDown(e) {\n this.$refs.menuItem.onKeyDown(e);\n },\n },\n render() {\n const props = getOptionProps(this);\n const { level, title, rootPrefixCls } = props;\n const { getInlineCollapsed, $slots, $attrs: attrs } = this;\n const inlineCollapsed = getInlineCollapsed();\n let tooltipTitle = title;\n if (typeof title === 'undefined') {\n tooltipTitle = level === 1 ? $slots.default : '';\n } else if (title === false) {\n tooltipTitle = '';\n }\n const tooltipProps = {\n title: tooltipTitle,\n };\n const siderCollapsed = this.layoutSiderContext.sCollapsed;\n if (!siderCollapsed && !inlineCollapsed) {\n tooltipProps.title = null;\n // Reset `visible` to fix control mode tooltip display not correct\n // ref: https://github.com/ant-design/ant-design/issues/16742\n tooltipProps.visible = false;\n }\n\n const itemProps = {\n props: {\n ...props,\n title,\n },\n attrs,\n on: getListeners(this),\n };\n const toolTipProps = {\n props: {\n ...tooltipProps,\n placement: 'right',\n overlayClassName: `${rootPrefixCls}-inline-collapsed-tooltip`,\n },\n };\n return (\n <Tooltip {...toolTipProps}>\n <Item {...itemProps} ref=\"menuItem\">\n {$slots.default}\n </Item>\n </Tooltip>\n );\n },\n};\n","import { SubMenu as VcSubMenu } from '../vc-menu';\nimport { getListeners } from '../_util/props-util';\nimport classNames from 'classnames';\n\nexport default {\n name: 'ASubMenu',\n isSubMenu: true,\n props: { ...VcSubMenu.props },\n inject: {\n menuPropsContext: { default: () => ({}) },\n },\n methods: {\n onKeyDown(e) {\n this.$refs.subMenu.onKeyDown(e);\n },\n },\n\n render() {\n const { $slots, $scopedSlots } = this;\n const { rootPrefixCls, popupClassName } = this.$props;\n const { theme: antdMenuTheme } = this.menuPropsContext;\n const props = {\n props: {\n ...this.$props,\n popupClassName: classNames(`${rootPrefixCls}-${antdMenuTheme}`, popupClassName),\n },\n ref: 'subMenu',\n on: getListeners(this),\n scopedSlots: $scopedSlots,\n };\n const slotsKey = Object.keys($slots);\n return (\n <VcSubMenu {...props}>\n {slotsKey.length\n ? slotsKey.map(name => {\n return <template slot={name}>{$slots[name]}</template>;\n })\n : null}\n </VcSubMenu>\n );\n },\n};\n","import omit from 'omit.js';\nimport VcMenu, { Divider, ItemGroup } from '../vc-menu';\nimport SubMenu from './SubMenu';\nimport PropTypes from '../_util/vue-types';\nimport animation from '../_util/openAnimation';\nimport warning from '../_util/warning';\nimport Item from './MenuItem';\nimport { hasProp, getListeners, getOptionProps } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport commonPropsType from '../vc-menu/commonPropsType';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Base from '../base';\n// import raf from '../_util/raf';\n\nexport const MenuMode = PropTypes.oneOf([\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'horizontal',\n 'inline',\n]);\n\nexport const menuProps = {\n ...commonPropsType,\n theme: PropTypes.oneOf(['light', 'dark']).def('light'),\n mode: MenuMode.def('vertical'),\n selectable: PropTypes.bool,\n selectedKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n defaultSelectedKeys: PropTypes.array,\n openKeys: PropTypes.array,\n defaultOpenKeys: PropTypes.array,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n openTransitionName: PropTypes.string,\n prefixCls: PropTypes.string,\n multiple: PropTypes.bool,\n inlineIndent: PropTypes.number.def(24),\n inlineCollapsed: PropTypes.bool,\n isRootMenu: PropTypes.bool.def(true),\n focusable: PropTypes.bool.def(false),\n};\n\nconst Menu = {\n name: 'AMenu',\n props: menuProps,\n Divider: { ...Divider, name: 'AMenuDivider' },\n Item: { ...Item, name: 'AMenuItem' },\n SubMenu: { ...SubMenu, name: 'ASubMenu' },\n ItemGroup: { ...ItemGroup, name: 'AMenuItemGroup' },\n provide() {\n return {\n getInlineCollapsed: this.getInlineCollapsed,\n menuPropsContext: this.$props,\n };\n },\n mixins: [BaseMixin],\n inject: {\n layoutSiderContext: { default: () => ({}) },\n configProvider: { default: () => ConfigConsumerProps },\n },\n model: {\n prop: 'selectedKeys',\n event: 'selectChange',\n },\n updated() {\n this.propsUpdating = false;\n },\n // beforeDestroy() {\n // raf.cancel(this.mountRafId);\n // },\n watch: {\n mode(val, oldVal) {\n if (oldVal === 'inline' && val !== 'inline') {\n this.switchingModeFromInline = true;\n }\n },\n openKeys(val) {\n this.setState({ sOpenKeys: val });\n },\n inlineCollapsed(val) {\n this.collapsedChange(val);\n },\n 'layoutSiderContext.sCollapsed'(val) {\n this.collapsedChange(val);\n },\n },\n data() {\n const props = getOptionProps(this);\n warning(\n !('inlineCollapsed' in props && props.mode !== 'inline'),\n 'Menu',\n \"`inlineCollapsed` should only be used when Menu's `mode` is inline.\",\n );\n this.switchingModeFromInline = false;\n this.leaveAnimationExecutedWhenInlineCollapsed = false;\n this.inlineOpenKeys = [];\n let sOpenKeys;\n\n if ('openKeys' in props) {\n sOpenKeys = props.openKeys;\n } else if ('defaultOpenKeys' in props) {\n sOpenKeys = props.defaultOpenKeys;\n }\n return {\n sOpenKeys,\n };\n },\n methods: {\n collapsedChange(val) {\n if (this.propsUpdating) {\n return;\n }\n this.propsUpdating = true;\n if (!hasProp(this, 'openKeys')) {\n if (val) {\n this.switchingModeFromInline = true;\n this.inlineOpenKeys = this.sOpenKeys;\n this.setState({ sOpenKeys: [] });\n } else {\n this.setState({ sOpenKeys: this.inlineOpenKeys });\n this.inlineOpenKeys = [];\n }\n } else if (val) {\n // 缩起时,openKeys置为空的动画会闪动,react可以通过是否传递openKeys避免闪动,vue不是很方便动态传递openKeys\n this.switchingModeFromInline = true;\n }\n },\n restoreModeVerticalFromInline() {\n if (this.switchingModeFromInline) {\n this.switchingModeFromInline = false;\n this.$forceUpdate();\n }\n },\n // Restore vertical mode when menu is collapsed responsively when mounted\n // https://github.com/ant-design/ant-design/issues/13104\n // TODO: not a perfect solution, looking a new way to avoid setting switchingModeFromInline in this situation\n handleMouseEnter(e) {\n this.restoreModeVerticalFromInline();\n this.$emit('mouseenter', e);\n },\n handleTransitionEnd(e) {\n // when inlineCollapsed menu width animation finished\n // https://github.com/ant-design/ant-design/issues/12864\n const widthCollapsed = e.propertyName === 'width' && e.target === e.currentTarget;\n\n // Fix SVGElement e.target.className.indexOf is not a function\n // https://github.com/ant-design/ant-design/issues/15699\n const { className } = e.target;\n // SVGAnimatedString.animVal should be identical to SVGAnimatedString.baseVal, unless during an animation.\n const classNameValue =\n Object.prototype.toString.call(className) === '[object SVGAnimatedString]'\n ? className.animVal\n : className;\n\n // Fix for <Menu style={{ width: '100%' }} />, the width transition won't trigger when menu is collapsed\n // https://github.com/ant-design/ant-design-pro/issues/2783\n const iconScaled = e.propertyName === 'font-size' && classNameValue.indexOf('anticon') >= 0;\n\n if (widthCollapsed || iconScaled) {\n this.restoreModeVerticalFromInline();\n }\n },\n handleClick(e) {\n this.handleOpenChange([]);\n this.$emit('click', e);\n },\n handleSelect(info) {\n this.$emit('select', info);\n this.$emit('selectChange', info.selectedKeys);\n },\n handleDeselect(info) {\n this.$emit('deselect', info);\n this.$emit('selectChange', info.selectedKeys);\n },\n handleOpenChange(openKeys) {\n this.setOpenKeys(openKeys);\n this.$emit('openChange', openKeys);\n this.$emit('update:openKeys', openKeys);\n },\n setOpenKeys(openKeys) {\n if (!hasProp(this, 'openKeys')) {\n this.setState({ sOpenKeys: openKeys });\n }\n },\n getRealMenuMode() {\n const inlineCollapsed = this.getInlineCollapsed();\n if (this.switchingModeFromInline && inlineCollapsed) {\n return 'inline';\n }\n const { mode } = this.$props;\n return inlineCollapsed ? 'vertical' : mode;\n },\n getInlineCollapsed() {\n const { inlineCollapsed } = this.$props;\n if (this.layoutSiderContext.sCollapsed !== undefined) {\n return this.layoutSiderContext.sCollapsed;\n }\n return inlineCollapsed;\n },\n getMenuOpenAnimation(menuMode) {\n const { openAnimation, openTransitionName } = this.$props;\n let menuOpenAnimation = openAnimation || openTransitionName;\n if (openAnimation === undefined && openTransitionName === undefined) {\n if (menuMode === 'horizontal') {\n menuOpenAnimation = 'slide-up';\n } else if (menuMode === 'inline') {\n menuOpenAnimation = { on: animation };\n } else {\n // When mode switch from inline\n // submenu should hide without animation\n if (this.switchingModeFromInline) {\n menuOpenAnimation = '';\n this.switchingModeFromInline = false;\n } else {\n menuOpenAnimation = 'zoom-big';\n }\n }\n }\n return menuOpenAnimation;\n },\n },\n render() {\n const { layoutSiderContext, $slots } = this;\n const { collapsedWidth } = layoutSiderContext;\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const props = getOptionProps(this);\n const { prefixCls: customizePrefixCls, theme, getPopupContainer } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('menu', customizePrefixCls);\n const menuMode = this.getRealMenuMode();\n const menuOpenAnimation = this.getMenuOpenAnimation(menuMode);\n\n const menuClassName = {\n [`${prefixCls}-${theme}`]: true,\n [`${prefixCls}-inline-collapsed`]: this.getInlineCollapsed(),\n };\n\n const menuProps = {\n props: {\n ...omit(props, ['inlineCollapsed']),\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n openKeys: this.sOpenKeys,\n mode: menuMode,\n prefixCls,\n },\n on: {\n ...getListeners(this),\n select: this.handleSelect,\n deselect: this.handleDeselect,\n openChange: this.handleOpenChange,\n mouseenter: this.handleMouseEnter,\n },\n nativeOn: {\n transitionend: this.handleTransitionEnd,\n },\n };\n if (!hasProp(this, 'selectedKeys')) {\n delete menuProps.props.selectedKeys;\n }\n\n if (menuMode !== 'inline') {\n // closing vertical popup submenu after click it\n menuProps.on.click = this.handleClick;\n menuProps.props.openTransitionName = menuOpenAnimation;\n } else {\n menuProps.on.click = e => {\n this.$emit('click', e);\n };\n menuProps.props.openAnimation = menuOpenAnimation;\n }\n\n // https://github.com/ant-design/ant-design/issues/8587\n const hideMenu =\n this.getInlineCollapsed() &&\n (collapsedWidth === 0 || collapsedWidth === '0' || collapsedWidth === '0px');\n if (hideMenu) {\n menuProps.props.openKeys = [];\n }\n\n return (\n <VcMenu {...menuProps} class={menuClassName}>\n {$slots.default}\n </VcMenu>\n );\n },\n};\n\n/* istanbul ignore next */\nMenu.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Menu.name, Menu);\n Vue.component(Menu.Item.name, Menu.Item);\n Vue.component(Menu.SubMenu.name, Menu.SubMenu);\n Vue.component(Menu.Divider.name, Menu.Divider);\n Vue.component(Menu.ItemGroup.name, Menu.ItemGroup);\n};\nexport default Menu;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\n// deps-lint-skip: layout\nimport '../../tooltip/style';\n","// extracted by mini-css-extract-plugin","import Notification from '../vc-notification';\nimport Icon from '../icon';\n\nlet defaultDuration = 3;\nlet defaultTop;\nlet messageInstance;\nlet key = 1;\nlet prefixCls = 'ant-message';\nlet transitionName = 'move-up';\nlet getContainer = () => document.body;\nlet maxCount;\n\nfunction getMessageInstance(callback) {\n if (messageInstance) {\n callback(messageInstance);\n return;\n }\n Notification.newInstance(\n {\n prefixCls,\n transitionName,\n style: { top: defaultTop }, // 覆盖原来的样式\n getContainer,\n maxCount,\n },\n instance => {\n if (messageInstance) {\n callback(messageInstance);\n return;\n }\n messageInstance = instance;\n callback(instance);\n },\n );\n}\n\n// type NoticeType = 'info' | 'success' | 'error' | 'warning' | 'loading';\n\nfunction notice(args) {\n const duration = args.duration !== undefined ? args.duration : defaultDuration;\n const iconType = {\n info: 'info-circle',\n success: 'check-circle',\n error: 'close-circle',\n warning: 'exclamation-circle',\n loading: 'loading',\n }[args.type];\n\n const target = args.key || key++;\n const closePromise = new Promise(resolve => {\n const callback = () => {\n if (typeof args.onClose === 'function') {\n args.onClose();\n }\n return resolve(true);\n };\n getMessageInstance(instance => {\n instance.notice({\n key: target,\n duration,\n style: {},\n content: h => {\n const iconNode = (\n <Icon type={iconType} theme={iconType === 'loading' ? 'outlined' : 'filled'} />\n );\n const switchIconNode = iconType ? iconNode : '';\n return (\n <div\n class={`${prefixCls}-custom-content${args.type ? ` ${prefixCls}-${args.type}` : ''}`}\n >\n {args.icon\n ? typeof args.icon === 'function'\n ? args.icon(h)\n : args.icon\n : switchIconNode}\n <span>{typeof args.content === 'function' ? args.content(h) : args.content}</span>\n </div>\n );\n },\n onClose: callback,\n });\n });\n });\n const result = () => {\n if (messageInstance) {\n messageInstance.removeNotice(target);\n }\n };\n result.then = (filled, rejected) => closePromise.then(filled, rejected);\n result.promise = closePromise;\n return result;\n}\n\n// type ConfigContent = React.ReactNode | string;\n// type ConfigDuration = number | (() => void);\n// export type ConfigOnClose = () => void;\n\nfunction isArgsProps(content) {\n return Object.prototype.toString.call(content) === '[object Object]' && !!content.content;\n}\n\n// export interface ConfigOptions {\n// top?: number;\n// duration?: number;\n// prefixCls?: string;\n// getContainer?: () => HTMLElement;\n// transitionName?: string;\n// }\n\nconst api = {\n open: notice,\n config(options) {\n if (options.top !== undefined) {\n defaultTop = options.top;\n messageInstance = null; // delete messageInstance for new defaultTop\n }\n if (options.duration !== undefined) {\n defaultDuration = options.duration;\n }\n if (options.prefixCls !== undefined) {\n prefixCls = options.prefixCls;\n }\n if (options.getContainer !== undefined) {\n getContainer = options.getContainer;\n }\n if (options.transitionName !== undefined) {\n transitionName = options.transitionName;\n messageInstance = null; // delete messageInstance for new transitionName\n }\n if (options.maxCount !== undefined) {\n maxCount = options.maxCount;\n messageInstance = null;\n }\n },\n destroy() {\n if (messageInstance) {\n messageInstance.destroy();\n messageInstance = null;\n }\n },\n};\n\n['success', 'info', 'warning', 'error', 'loading'].forEach(type => {\n api[type] = (content, duration, onClose) => {\n if (isArgsProps(content)) {\n return api.open({ ...content, type });\n }\n if (typeof duration === 'function') {\n onClose = duration;\n duration = undefined;\n }\n return api.open({ content, duration, type, onClose });\n };\n});\n\napi.warn = api.warning;\n\nexport default api;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport Button from '../button';\nimport BaseMixin from '../_util/BaseMixin';\nimport buttonTypes from '../button/buttonTypes';\nconst ButtonType = buttonTypes().type;\nconst ActionButtonProps = {\n type: ButtonType,\n actionFn: PropTypes.func,\n closeModal: PropTypes.func,\n autoFocus: PropTypes.bool,\n buttonProps: PropTypes.object,\n};\n\nexport default {\n mixins: [BaseMixin],\n props: ActionButtonProps,\n data() {\n return {\n loading: false,\n };\n },\n mounted() {\n if (this.autoFocus) {\n this.timeoutId = setTimeout(() => this.$el.focus());\n }\n },\n beforeDestroy() {\n clearTimeout(this.timeoutId);\n },\n methods: {\n onClick() {\n const { actionFn, closeModal } = this;\n if (actionFn) {\n let ret;\n if (actionFn.length) {\n ret = actionFn(closeModal);\n } else {\n ret = actionFn();\n if (!ret) {\n closeModal();\n }\n }\n if (ret && ret.then) {\n this.setState({ loading: true });\n ret.then(\n (...args) => {\n // It's unnecessary to set loading=false, for the Modal will be unmounted after close.\n // this.setState({ loading: false });\n closeModal(...args);\n },\n e => {\n // Emit error when catch promise reject\n // eslint-disable-next-line no-console\n console.error(e);\n // See: https://github.com/ant-design/ant-design/issues/6183\n this.setState({ loading: false });\n },\n );\n }\n } else {\n closeModal();\n }\n },\n },\n\n render() {\n const { type, $slots, loading, buttonProps } = this;\n return (\n <Button type={type} onClick={this.onClick} loading={loading} {...buttonProps}>\n {$slots.default}\n </Button>\n );\n },\n};\n","import classNames from 'classnames';\nimport Icon from '../icon';\nimport Dialog from './Modal';\nimport ActionButton from './ActionButton';\nimport { getConfirmLocale } from './locale';\nimport warning from '../_util/warning';\n\nexport default {\n functional: true,\n render(h, context) {\n const { props } = context;\n const {\n onCancel,\n onOk,\n close,\n zIndex,\n afterClose,\n visible,\n keyboard,\n centered,\n getContainer,\n maskStyle,\n okButtonProps,\n cancelButtonProps,\n iconType = 'question-circle',\n closable = false,\n } = props;\n warning(\n !('iconType' in props),\n 'Modal',\n `The property 'iconType' is deprecated. Use the property 'icon' instead.`,\n );\n const icon = props.icon ? props.icon : iconType;\n const okType = props.okType || 'primary';\n const prefixCls = props.prefixCls || 'ant-modal';\n const contentPrefixCls = `${prefixCls}-confirm`;\n // 默认为 true,保持向下兼容\n const okCancel = 'okCancel' in props ? props.okCancel : true;\n const width = props.width || 416;\n const style = props.style || {};\n const mask = props.mask === undefined ? true : props.mask;\n // 默认为 false,保持旧版默认行为\n const maskClosable = props.maskClosable === undefined ? false : props.maskClosable;\n const runtimeLocale = getConfirmLocale();\n const okText = props.okText || (okCancel ? runtimeLocale.okText : runtimeLocale.justOkText);\n const cancelText = props.cancelText || runtimeLocale.cancelText;\n const autoFocusButton = props.autoFocusButton === null ? false : props.autoFocusButton || 'ok';\n const transitionName = props.transitionName || 'zoom';\n const maskTransitionName = props.maskTransitionName || 'fade';\n\n const classString = classNames(\n contentPrefixCls,\n `${contentPrefixCls}-${props.type}`,\n `${prefixCls}-${props.type}`,\n props.class,\n );\n\n const cancelButton = okCancel && (\n <ActionButton\n actionFn={onCancel}\n closeModal={close}\n autoFocus={autoFocusButton === 'cancel'}\n buttonProps={cancelButtonProps}\n >\n {cancelText}\n </ActionButton>\n );\n const iconNode = typeof icon === 'string' ? <Icon type={icon} /> : icon(h);\n\n return (\n <Dialog\n prefixCls={prefixCls}\n class={classString}\n wrapClassName={classNames({ [`${contentPrefixCls}-centered`]: !!centered })}\n onCancel={e => close({ triggerCancel: true }, e)}\n visible={visible}\n closable={closable}\n title=\"\"\n transitionName={transitionName}\n footer=\"\"\n maskTransitionName={maskTransitionName}\n mask={mask}\n maskClosable={maskClosable}\n maskStyle={maskStyle}\n style={style}\n width={width}\n zIndex={zIndex}\n afterClose={afterClose}\n keyboard={keyboard}\n centered={centered}\n getContainer={getContainer}\n >\n <div class={`${contentPrefixCls}-body-wrapper`}>\n <div class={`${contentPrefixCls}-body`}>\n {iconNode}\n {props.title === undefined ? null : (\n <span class={`${contentPrefixCls}-title`}>\n {typeof props.title === 'function' ? props.title(h) : props.title}\n </span>\n )}\n <div class={`${contentPrefixCls}-content`}>\n {typeof props.content === 'function' ? props.content(h) : props.content}\n </div>\n </div>\n <div class={`${contentPrefixCls}-btns`}>\n {cancelButton}\n <ActionButton\n type={okType}\n actionFn={onOk}\n closeModal={close}\n autoFocus={autoFocusButton === 'ok'}\n buttonProps={okButtonProps}\n >\n {okText}\n </ActionButton>\n </div>\n </div>\n </Dialog>\n );\n },\n};\n","import classNames from 'classnames';\nimport Dialog from '../vc-dialog';\nimport PropTypes from '../_util/vue-types';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport { getConfirmLocale } from './locale';\nimport Icon from '../icon';\nimport Button from '../button';\nimport buttonTypes from '../button/buttonTypes';\nconst ButtonType = buttonTypes().type;\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport {\n initDefaultProps,\n getComponentFromProp,\n getClass,\n getStyle,\n mergeProps,\n getListeners,\n} from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\n\nlet mousePosition = null;\n// ref: https://github.com/ant-design/ant-design/issues/15795\nconst getClickPosition = e => {\n mousePosition = {\n x: e.pageX,\n y: e.pageY,\n };\n // 100ms 内发生过点击事件,则从点击位置动画展示\n // 否则直接 zoom 展示\n // 这样可以兼容非点击方式展开\n setTimeout(() => (mousePosition = null), 100);\n};\n\n// 只有点击事件支持从鼠标位置动画展开\nif (typeof window !== 'undefined' && window.document && window.document.documentElement) {\n addEventListener(document.documentElement, 'click', getClickPosition, true);\n}\n\nfunction noop() {}\nconst modalProps = (defaultProps = {}) => {\n const props = {\n prefixCls: PropTypes.string,\n /** 对话框是否可见*/\n visible: PropTypes.bool,\n /** 确定按钮 loading*/\n confirmLoading: PropTypes.bool,\n /** 标题*/\n title: PropTypes.any,\n /** 是否显示右上角的关闭按钮*/\n closable: PropTypes.bool,\n closeIcon: PropTypes.any,\n /** 点击确定回调*/\n // onOk: (e: React.MouseEvent<any>) => void,\n /** 点击模态框右上角叉、取消按钮、Props.maskClosable 值为 true 时的遮罩层或键盘按下 Esc 时的回调*/\n // onCancel: (e: React.MouseEvent<any>) => void,\n afterClose: PropTypes.func.def(noop),\n /** 垂直居中 */\n centered: PropTypes.bool,\n /** 宽度*/\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** 底部内容*/\n footer: PropTypes.any,\n /** 确认按钮文字*/\n okText: PropTypes.any,\n /** 确认按钮类型*/\n okType: ButtonType,\n /** 取消按钮文字*/\n cancelText: PropTypes.any,\n icon: PropTypes.any,\n /** 点击蒙层是否允许关闭*/\n maskClosable: PropTypes.bool,\n /** 强制渲染 Modal*/\n forceRender: PropTypes.bool,\n okButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n destroyOnClose: PropTypes.bool,\n wrapClassName: PropTypes.string,\n maskTransitionName: PropTypes.string,\n transitionName: PropTypes.string,\n getContainer: PropTypes.func,\n zIndex: PropTypes.number,\n bodyStyle: PropTypes.object,\n maskStyle: PropTypes.object,\n mask: PropTypes.bool,\n keyboard: PropTypes.bool,\n wrapProps: PropTypes.object,\n focusTriggerAfterClose: PropTypes.bool,\n };\n return initDefaultProps(props, defaultProps);\n};\n\nexport const destroyFns = [];\n\nexport default {\n name: 'AModal',\n inheritAttrs: false,\n model: {\n prop: 'visible',\n event: 'change',\n },\n props: modalProps({\n width: 520,\n transitionName: 'zoom',\n maskTransitionName: 'fade',\n confirmLoading: false,\n visible: false,\n okType: 'primary',\n }),\n data() {\n return {\n sVisible: !!this.visible,\n };\n },\n watch: {\n visible(val) {\n this.sVisible = val;\n },\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n // static info: ModalFunc;\n // static success: ModalFunc;\n // static error: ModalFunc;\n // static warn: ModalFunc;\n // static warning: ModalFunc;\n // static confirm: ModalFunc;\n methods: {\n handleCancel(e) {\n this.$emit('cancel', e);\n this.$emit('change', false);\n },\n\n handleOk(e) {\n this.$emit('ok', e);\n },\n renderFooter(locale) {\n const { okType, confirmLoading } = this;\n const cancelBtnProps = mergeProps(\n { on: { click: this.handleCancel } },\n this.cancelButtonProps || {},\n );\n const okBtnProps = mergeProps(\n {\n on: { click: this.handleOk },\n props: {\n type: okType,\n loading: confirmLoading,\n },\n },\n this.okButtonProps || {},\n );\n return (\n <div>\n <Button {...cancelBtnProps}>\n {getComponentFromProp(this, 'cancelText') || locale.cancelText}\n </Button>\n <Button {...okBtnProps}>{getComponentFromProp(this, 'okText') || locale.okText}</Button>\n </div>\n );\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n sVisible: visible,\n wrapClassName,\n centered,\n getContainer,\n $slots,\n $scopedSlots,\n $attrs,\n } = this;\n const children = $scopedSlots.default ? $scopedSlots.default() : $slots.default;\n const { getPrefixCls, getPopupContainer: getContextPopupContainer } = this.configProvider;\n const prefixCls = getPrefixCls('modal', customizePrefixCls);\n\n const defaultFooter = (\n <LocaleReceiver\n componentName=\"Modal\"\n defaultLocale={getConfirmLocale()}\n scopedSlots={{ default: this.renderFooter }}\n />\n );\n const closeIcon = getComponentFromProp(this, 'closeIcon');\n const closeIconToRender = (\n <span class={`${prefixCls}-close-x`}>\n {closeIcon || <Icon class={`${prefixCls}-close-icon`} type={'close'} />}\n </span>\n );\n const footer = getComponentFromProp(this, 'footer');\n const title = getComponentFromProp(this, 'title');\n const dialogProps = {\n props: {\n ...this.$props,\n getContainer: getContainer === undefined ? getContextPopupContainer : getContainer,\n prefixCls,\n wrapClassName: classNames({ [`${prefixCls}-centered`]: !!centered }, wrapClassName),\n title,\n footer: footer === undefined ? defaultFooter : footer,\n visible,\n mousePosition,\n closeIcon: closeIconToRender,\n },\n on: {\n ...getListeners(this),\n close: this.handleCancel,\n },\n class: getClass(this),\n style: getStyle(this),\n attrs: $attrs,\n };\n return <Dialog {...dialogProps}>{children}</Dialog>;\n },\n};\n","import Vue from 'vue';\nimport ConfirmDialog from './ConfirmDialog';\nimport { destroyFns } from './Modal';\nimport Base from '../base';\nimport Omit from 'omit.js';\n\nexport default function confirm(config) {\n const div = document.createElement('div');\n const el = document.createElement('div');\n div.appendChild(el);\n document.body.appendChild(div);\n let currentConfig = { ...Omit(config, ['parentContext']), close, visible: true };\n\n let confirmDialogInstance = null;\n const confirmDialogProps = { props: {} };\n function close(...args) {\n destroy(...args);\n }\n function update(newConfig) {\n currentConfig = {\n ...currentConfig,\n ...newConfig,\n };\n confirmDialogProps.props = currentConfig;\n }\n function destroy(...args) {\n if (confirmDialogInstance && div.parentNode) {\n confirmDialogInstance.$destroy();\n confirmDialogInstance = null;\n div.parentNode.removeChild(div);\n }\n const triggerCancel = args.some(param => param && param.triggerCancel);\n if (config.onCancel && triggerCancel) {\n config.onCancel(...args);\n }\n for (let i = 0; i < destroyFns.length; i++) {\n const fn = destroyFns[i];\n if (fn === close) {\n destroyFns.splice(i, 1);\n break;\n }\n }\n }\n\n function render(props) {\n confirmDialogProps.props = props;\n const V = Base.Vue || Vue;\n return new V({\n el,\n parent: config.parentContext,\n data() {\n return { confirmDialogProps };\n },\n render() {\n // 先解构,避免报错,原因不详\n const cdProps = { ...this.confirmDialogProps };\n return <ConfirmDialog {...cdProps} />;\n },\n });\n }\n\n confirmDialogInstance = render(currentConfig);\n destroyFns.push(close);\n return {\n destroy: close,\n update,\n };\n}\n","import Modal, { destroyFns } from './Modal';\nimport modalConfirm from './confirm';\nimport Icon from '../icon';\nimport Base from '../base';\n\n// export { ActionButtonProps } from './ActionButton'\n// export { ModalProps, ModalFuncProps } from './Modal'\n\nconst info = function(props) {\n const config = {\n type: 'info',\n icon: h => {\n return <Icon type=\"info-circle\" />;\n },\n okCancel: false,\n ...props,\n };\n return modalConfirm(config);\n};\n\nconst success = function(props) {\n const config = {\n type: 'success',\n icon: h => {\n return <Icon type=\"check-circle\" />;\n },\n okCancel: false,\n ...props,\n };\n return modalConfirm(config);\n};\n\nconst error = function(props) {\n const config = {\n type: 'error',\n icon: h => {\n return <Icon type=\"close-circle\" />;\n },\n okCancel: false,\n ...props,\n };\n return modalConfirm(config);\n};\n\nconst warning = function(props) {\n const config = {\n type: 'warning',\n icon: h => {\n return <Icon type=\"exclamation-circle\" />;\n },\n okCancel: false,\n ...props,\n };\n return modalConfirm(config);\n};\nconst warn = warning;\n\nconst confirm = function confirmFn(props) {\n const config = {\n type: 'confirm',\n okCancel: true,\n ...props,\n };\n return modalConfirm(config);\n};\nModal.info = info;\nModal.success = success;\nModal.error = error;\nModal.warning = warning;\nModal.warn = warn;\nModal.confirm = confirm;\n\nModal.destroyAll = function destroyAllFn() {\n while (destroyFns.length) {\n const close = destroyFns.pop();\n if (close) {\n close();\n }\n }\n};\n\n/* istanbul ignore next */\nModal.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Modal.name, Modal);\n};\n\nexport default Modal;\n","import defaultLocale from '../locale/default';\n\n// export interface ModalLocale {\n// okText: string;\n// cancelText: string;\n// justOkText: string;\n// }\n\nlet runtimeLocale = {\n ...defaultLocale.Modal,\n};\n\nexport function changeConfirmLocale(newLocale) {\n if (newLocale) {\n runtimeLocale = {\n ...runtimeLocale,\n ...newLocale,\n };\n } else {\n runtimeLocale = {\n ...defaultLocale.Modal,\n };\n }\n}\n\nexport function getConfirmLocale() {\n return runtimeLocale;\n}\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../button/style';\n","// extracted by mini-css-extract-plugin","import Notification from '../vc-notification';\nimport Icon from '../icon';\n\nconst notificationInstance = {};\nlet defaultDuration = 4.5;\nlet defaultTop = '24px';\nlet defaultBottom = '24px';\nlet defaultPlacement = 'topRight';\nlet defaultGetContainer = () => document.body;\nlet defaultCloseIcon = null;\n\nfunction setNotificationConfig(options) {\n const { duration, placement, bottom, top, getContainer, closeIcon } = options;\n if (duration !== undefined) {\n defaultDuration = duration;\n }\n if (placement !== undefined) {\n defaultPlacement = placement;\n }\n if (bottom !== undefined) {\n defaultBottom = typeof bottom === 'number' ? `${bottom}px` : bottom;\n }\n if (top !== undefined) {\n defaultTop = typeof top === 'number' ? `${top}px` : top;\n }\n if (getContainer !== undefined) {\n defaultGetContainer = getContainer;\n }\n if (closeIcon !== undefined) {\n defaultCloseIcon = closeIcon;\n }\n}\n\nfunction getPlacementStyle(placement, top = defaultTop, bottom = defaultBottom) {\n let style;\n switch (placement) {\n case 'topLeft':\n style = {\n left: 0,\n top,\n bottom: 'auto',\n };\n break;\n case 'topRight':\n style = {\n right: 0,\n top,\n bottom: 'auto',\n };\n break;\n case 'bottomLeft':\n style = {\n left: 0,\n top: 'auto',\n bottom,\n };\n break;\n default:\n style = {\n right: 0,\n top: 'auto',\n bottom,\n };\n break;\n }\n return style;\n}\n\nfunction getNotificationInstance(\n {\n prefixCls,\n placement = defaultPlacement,\n getContainer = defaultGetContainer,\n top,\n bottom,\n closeIcon = defaultCloseIcon,\n },\n callback,\n) {\n const cacheKey = `${prefixCls}-${placement}`;\n if (notificationInstance[cacheKey]) {\n callback(notificationInstance[cacheKey]);\n return;\n }\n Notification.newInstance(\n {\n prefixCls,\n class: `${prefixCls}-${placement}`,\n style: getPlacementStyle(placement, top, bottom),\n getContainer,\n closeIcon: h => {\n const icon = typeof closeIcon === 'function' ? closeIcon(h) : closeIcon;\n const closeIconToRender = (\n <span class={`${prefixCls}-close-x`}>\n {icon || <Icon class={`${prefixCls}-close-icon`} type=\"close\" />}\n </span>\n );\n return closeIconToRender;\n },\n },\n notification => {\n notificationInstance[cacheKey] = notification;\n callback(notification);\n },\n );\n}\n\nconst typeToIcon = {\n success: 'check-circle-o',\n info: 'info-circle-o',\n error: 'close-circle-o',\n warning: 'exclamation-circle-o',\n};\n\nfunction notice(args) {\n const { icon, type, description, message, btn } = args;\n const outerPrefixCls = args.prefixCls || 'ant-notification';\n const prefixCls = `${outerPrefixCls}-notice`;\n const duration = args.duration === undefined ? defaultDuration : args.duration;\n\n let iconNode = null;\n if (icon) {\n iconNode = h => (\n <span class={`${prefixCls}-icon`}>{typeof icon === 'function' ? icon(h) : icon}</span>\n );\n } else if (type) {\n const iconType = typeToIcon[type];\n iconNode = h => <Icon class={`${prefixCls}-icon ${prefixCls}-icon-${type}`} type={iconType} />; // eslint-disable-line\n }\n const { placement, top, bottom, getContainer, closeIcon } = args;\n getNotificationInstance(\n {\n prefixCls: outerPrefixCls,\n placement,\n top,\n bottom,\n getContainer,\n closeIcon,\n },\n notification => {\n notification.notice({\n content: h => (\n <div class={iconNode ? `${prefixCls}-with-icon` : ''}>\n {iconNode && iconNode(h)}\n <div class={`${prefixCls}-message`}>\n {!description && iconNode ? (\n <span class={`${prefixCls}-message-single-line-auto-margin`} />\n ) : null}\n {typeof message === 'function' ? message(h) : message}\n </div>\n <div class={`${prefixCls}-description`}>\n {typeof description === 'function' ? description(h) : description}\n </div>\n {btn ? (\n <span class={`${prefixCls}-btn`}>{typeof btn === 'function' ? btn(h) : btn}</span>\n ) : null}\n </div>\n ),\n duration,\n closable: true,\n onClose: args.onClose,\n onClick: args.onClick,\n key: args.key,\n style: args.style || {},\n class: args.class,\n });\n },\n );\n}\n\nconst api = {\n open: notice,\n close(key) {\n Object.keys(notificationInstance).forEach(cacheKey =>\n notificationInstance[cacheKey].removeNotice(key),\n );\n },\n config: setNotificationConfig,\n destroy() {\n Object.keys(notificationInstance).forEach(cacheKey => {\n notificationInstance[cacheKey].destroy();\n delete notificationInstance[cacheKey];\n });\n },\n};\n\n['success', 'info', 'warning', 'error'].forEach(type => {\n api[type] = args =>\n api.open({\n ...args,\n type,\n });\n});\n\napi.warn = api.warning;\nexport default api;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport { getComponentFromProp, getOptionProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Icon from '../icon';\nimport Breadcrumb from '../breadcrumb';\nimport Avatar from '../avatar';\nimport TransButton from '../_util/transButton';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport Base from '../base';\n\nexport const PageHeaderProps = {\n backIcon: PropTypes.any,\n prefixCls: PropTypes.string,\n title: PropTypes.any,\n subTitle: PropTypes.any,\n breadcrumb: PropTypes.object,\n tags: PropTypes.any,\n footer: PropTypes.any,\n extra: PropTypes.any,\n avatar: PropTypes.object,\n ghost: PropTypes.bool,\n};\n\nconst renderBack = (instance, prefixCls, backIcon, onBack) => {\n // eslint-disable-next-line no-unused-vars\n const h = instance.$createElement;\n if (!backIcon || !onBack) {\n return null;\n }\n return (\n <LocaleReceiver componentName=\"PageHeader\">\n {({ back }) => (\n <div class={`${prefixCls}-back`}>\n <TransButton\n onClick={e => {\n instance.$emit('back', e);\n }}\n class={`${prefixCls}-back-button`}\n aria-label={back}\n >\n {backIcon}\n </TransButton>\n </div>\n )}\n </LocaleReceiver>\n );\n};\n\nconst renderBreadcrumb = (h, breadcrumb) => {\n return <Breadcrumb {...breadcrumb} />;\n};\n\nconst renderTitle = (h, prefixCls, instance) => {\n const { avatar } = instance;\n const title = getComponentFromProp(instance, 'title');\n const subTitle = getComponentFromProp(instance, 'subTitle');\n const tags = getComponentFromProp(instance, 'tags');\n const extra = getComponentFromProp(instance, 'extra');\n const backIcon =\n getComponentFromProp(instance, 'backIcon') !== undefined ? (\n getComponentFromProp(instance, 'backIcon')\n ) : (\n <Icon type=\"arrow-left\" />\n );\n const onBack = instance.$listeners.back;\n const headingPrefixCls = `${prefixCls}-heading`;\n if (title || subTitle || tags || extra) {\n const backIconDom = renderBack(instance, prefixCls, backIcon, onBack);\n return (\n <div class={headingPrefixCls}>\n {backIconDom}\n {avatar && <Avatar {...avatar} />}\n {title && <span class={`${headingPrefixCls}-title`}>{title}</span>}\n {subTitle && <span class={`${headingPrefixCls}-sub-title`}>{subTitle}</span>}\n {tags && <span class={`${headingPrefixCls}-tags`}>{tags}</span>}\n {extra && <span class={`${headingPrefixCls}-extra`}>{extra}</span>}\n </div>\n );\n }\n return null;\n};\n\nconst renderFooter = (h, prefixCls, footer) => {\n if (footer) {\n return <div class={`${prefixCls}-footer`}>{footer}</div>;\n }\n return null;\n};\n\nconst renderChildren = (h, prefixCls, children) => {\n return <div class={`${prefixCls}-content`}>{children}</div>;\n};\n\nconst PageHeader = {\n name: 'APageHeader',\n props: PageHeaderProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render(h) {\n const { getPrefixCls, pageHeader } = this.configProvider;\n const props = getOptionProps(this);\n const { prefixCls: customizePrefixCls, breadcrumb } = props;\n const footer = getComponentFromProp(this, 'footer');\n const children = this.$slots.default;\n\n let ghost = true;\n\n // Use `ghost` from `props` or from `ConfigProvider` instead.\n if ('ghost' in props) {\n ghost = props.ghost;\n } else if (pageHeader && 'ghost' in pageHeader) {\n ghost = pageHeader.ghost;\n }\n const prefixCls = getPrefixCls('page-header', customizePrefixCls);\n const breadcrumbDom =\n breadcrumb && breadcrumb.props && breadcrumb.props.routes\n ? renderBreadcrumb(h, breadcrumb)\n : null;\n const className = [\n prefixCls,\n {\n 'has-breadcrumb': breadcrumbDom,\n 'has-footer': footer,\n [`${prefixCls}-ghost`]: ghost,\n },\n ];\n\n return (\n <div class={className}>\n {breadcrumbDom}\n {renderTitle(h, prefixCls, this)}\n {children && renderChildren(h, prefixCls, children)}\n {renderFooter(h, prefixCls, footer)}\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nPageHeader.install = function(Vue) {\n Vue.use(Base);\n Vue.component(PageHeader.name, PageHeader);\n};\n\nexport default PageHeader;\n","import './index.less';\n\n// style dependencies\nimport '../../breadcrumb/style';\nimport '../../avatar/style';\n","// extracted by mini-css-extract-plugin","import VcSelect, { SelectProps } from '../select';\nimport { getOptionProps, filterEmpty, getListeners } from '../_util/props-util';\n\nexport default {\n props: {\n ...SelectProps,\n },\n Option: VcSelect.Option,\n render() {\n const selectOptionsProps = getOptionProps(this);\n const selelctProps = {\n props: {\n ...selectOptionsProps,\n size: 'small',\n },\n on: getListeners(this),\n };\n return <VcSelect {...selelctProps}>{filterEmpty(this.$slots.default)}</VcSelect>;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport VcSelect from '../select';\nimport MiniSelect from './MiniSelect';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nimport VcPagination from '../vc-pagination';\nimport enUS from '../vc-pagination/locale/en_US';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider';\n\nexport const PaginationProps = () => ({\n total: PropTypes.number,\n defaultCurrent: PropTypes.number,\n disabled: PropTypes.bool,\n current: PropTypes.number,\n defaultPageSize: PropTypes.number,\n pageSize: PropTypes.number,\n hideOnSinglePage: PropTypes.bool,\n showSizeChanger: PropTypes.bool,\n pageSizeOptions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])),\n buildOptionText: PropTypes.func,\n showSizeChange: PropTypes.func,\n showQuickJumper: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n showTotal: PropTypes.any,\n size: PropTypes.string,\n simple: PropTypes.bool,\n locale: PropTypes.object,\n prefixCls: PropTypes.string,\n selectPrefixCls: PropTypes.string,\n itemRender: PropTypes.any,\n role: PropTypes.string,\n showLessItems: PropTypes.bool,\n});\n\nexport const PaginationConfig = () => ({\n ...PaginationProps(),\n position: PropTypes.oneOf(['top', 'bottom', 'both']),\n});\n\nexport default {\n name: 'APagination',\n model: {\n prop: 'current',\n event: 'change.current',\n },\n props: {\n ...PaginationProps(),\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n getIconsProps(prefixCls) {\n const prevIcon = (\n <a class={`${prefixCls}-item-link`}>\n <Icon type=\"left\" />\n </a>\n );\n const nextIcon = (\n <a class={`${prefixCls}-item-link`}>\n <Icon type=\"right\" />\n </a>\n );\n const jumpPrevIcon = (\n <a class={`${prefixCls}-item-link`}>\n {/* You can use transition effects in the container :) */}\n <div class={`${prefixCls}-item-container`}>\n <Icon class={`${prefixCls}-item-link-icon`} type=\"double-left\" />\n <span class={`${prefixCls}-item-ellipsis`}>•••</span>\n </div>\n </a>\n );\n const jumpNextIcon = (\n <a class={`${prefixCls}-item-link`}>\n {/* You can use transition effects in the container :) */}\n <div class={`${prefixCls}-item-container`}>\n <Icon class={`${prefixCls}-item-link-icon`} type=\"double-right\" />\n <span class={`${prefixCls}-item-ellipsis`}>•••</span>\n </div>\n </a>\n );\n return {\n prevIcon,\n nextIcon,\n jumpPrevIcon,\n jumpNextIcon,\n };\n },\n renderPagination(contextLocale) {\n const {\n prefixCls: customizePrefixCls,\n selectPrefixCls: customizeSelectPrefixCls,\n buildOptionText,\n size,\n locale: customLocale,\n ...restProps\n } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('pagination', customizePrefixCls);\n const selectPrefixCls = getPrefixCls('select', customizeSelectPrefixCls);\n\n const isSmall = size === 'small';\n const paginationProps = {\n props: {\n prefixCls,\n selectPrefixCls,\n ...restProps,\n ...this.getIconsProps(prefixCls),\n selectComponentClass: isSmall ? MiniSelect : VcSelect,\n locale: { ...contextLocale, ...customLocale },\n buildOptionText: buildOptionText || this.$scopedSlots.buildOptionText,\n },\n class: {\n mini: isSmall,\n },\n on: getListeners(this),\n };\n\n return <VcPagination {...paginationProps} />;\n },\n },\n render() {\n return (\n <LocaleReceiver\n componentName=\"Pagination\"\n defaultLocale={enUS}\n scopedSlots={{ default: this.renderPagination }}\n />\n );\n },\n};\n","import Pagination from './Pagination';\nimport Base from '../base';\n\nexport { PaginationProps, PaginationConfig } from './Pagination';\n\n/* istanbul ignore next */\nPagination.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Pagination.name, Pagination);\n};\n\nexport default Pagination;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../select/style';\n","// extracted by mini-css-extract-plugin","import omit from 'omit.js';\nimport Tooltip from '../tooltip';\nimport abstractTooltipProps from '../tooltip/abstractTooltipProps';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, hasProp, getComponentFromProp, mergeProps } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport buttonTypes from '../button/buttonTypes';\nimport Icon from '../icon';\nimport Button from '../button';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Base from '../base';\n\nconst tooltipProps = abstractTooltipProps();\nconst btnProps = buttonTypes();\nconst Popconfirm = {\n name: 'APopconfirm',\n props: {\n ...tooltipProps,\n prefixCls: PropTypes.string,\n transitionName: PropTypes.string.def('zoom-big'),\n content: PropTypes.any,\n title: PropTypes.any,\n trigger: tooltipProps.trigger.def('click'),\n okType: btnProps.type.def('primary'),\n disabled: PropTypes.bool.def(false),\n okText: PropTypes.any,\n cancelText: PropTypes.any,\n icon: PropTypes.any,\n okButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n },\n mixins: [BaseMixin],\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n watch: {\n visible(val) {\n this.sVisible = val;\n },\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const props = getOptionProps(this);\n const state = { sVisible: false };\n if ('visible' in props) {\n state.sVisible = props.visible;\n }\n if ('defaultVisible' in props) {\n state.sVisible = props.defaultVisible;\n }\n return state;\n },\n methods: {\n onConfirm(e) {\n this.setVisible(false, e);\n this.$emit('confirm', e);\n },\n\n onCancel(e) {\n this.setVisible(false, e);\n this.$emit('cancel', e);\n },\n\n onVisibleChange(sVisible) {\n const { disabled } = this.$props;\n if (disabled) {\n return;\n }\n this.setVisible(sVisible);\n },\n\n setVisible(sVisible, e) {\n if (!hasProp(this, 'visible')) {\n this.setState({ sVisible });\n }\n this.$emit('visibleChange', sVisible, e);\n },\n getPopupDomNode() {\n return this.$refs.tooltip.getPopupDomNode();\n },\n renderOverlay(prefixCls, popconfirmLocale) {\n const { okType, okButtonProps, cancelButtonProps } = this;\n const icon = getComponentFromProp(this, 'icon') || (\n <Icon type=\"exclamation-circle\" theme=\"filled\" />\n );\n const cancelBtnProps = mergeProps(\n {\n props: {\n size: 'small',\n },\n on: {\n click: this.onCancel,\n },\n },\n cancelButtonProps,\n );\n const okBtnProps = mergeProps(\n {\n props: {\n type: okType,\n size: 'small',\n },\n on: {\n click: this.onConfirm,\n },\n },\n okButtonProps,\n );\n return (\n <div class={`${prefixCls}-inner-content`}>\n <div class={`${prefixCls}-message`}>\n {icon}\n <div class={`${prefixCls}-message-title`}>{getComponentFromProp(this, 'title')}</div>\n </div>\n <div class={`${prefixCls}-buttons`}>\n <Button {...cancelBtnProps}>\n {getComponentFromProp(this, 'cancelText') || popconfirmLocale.cancelText}\n </Button>\n <Button {...okBtnProps}>\n {getComponentFromProp(this, 'okText') || popconfirmLocale.okText}\n </Button>\n </div>\n </div>\n );\n },\n },\n render() {\n const props = getOptionProps(this);\n const { prefixCls: customizePrefixCls } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('popover', customizePrefixCls);\n\n const otherProps = omit(props, ['title', 'content', 'cancelText', 'okText']);\n const tooltipProps = {\n props: {\n ...otherProps,\n prefixCls,\n visible: this.sVisible,\n },\n ref: 'tooltip',\n on: {\n visibleChange: this.onVisibleChange,\n },\n };\n const overlay = (\n <LocaleReceiver\n componentName=\"Popconfirm\"\n defaultLocale={defaultLocale.Popconfirm}\n scopedSlots={{\n default: popconfirmLocale => this.renderOverlay(prefixCls, popconfirmLocale),\n }}\n />\n );\n return (\n <Tooltip {...tooltipProps}>\n <template slot=\"title\">{overlay}</template>\n {this.$slots.default}\n </Tooltip>\n );\n },\n};\n\n/* istanbul ignore next */\nPopconfirm.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Popconfirm.name, Popconfirm);\n};\n\nexport default Popconfirm;\n","import '../../style/index.less';\n\n// style dependencies\n// deps-lint-skip: tooltip, popover\nimport '../../popover/style';\nimport '../../button/style';\n","import Tooltip from '../tooltip';\nimport abstractTooltipProps from '../tooltip/abstractTooltipProps';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Base from '../base';\n\nconst props = abstractTooltipProps();\nconst Popover = {\n name: 'APopover',\n props: {\n ...props,\n prefixCls: PropTypes.string,\n transitionName: PropTypes.string.def('zoom-big'),\n content: PropTypes.any,\n title: PropTypes.any,\n },\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n getPopupDomNode() {\n return this.$refs.tooltip.getPopupDomNode();\n },\n },\n\n render() {\n const { title, prefixCls: customizePrefixCls, $slots } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('popover', customizePrefixCls);\n\n const props = getOptionProps(this);\n delete props.title;\n delete props.content;\n const tooltipProps = {\n props: {\n ...props,\n prefixCls,\n },\n ref: 'tooltip',\n on: getListeners(this),\n };\n return (\n <Tooltip {...tooltipProps}>\n <template slot=\"title\">\n <div>\n {(title || $slots.title) && (\n <div class={`${prefixCls}-title`}>{getComponentFromProp(this, 'title')}</div>\n )}\n <div class={`${prefixCls}-inner-content`}>{getComponentFromProp(this, 'content')}</div>\n </div>\n </template>\n {this.$slots.default}\n </Tooltip>\n );\n },\n};\n\n/* istanbul ignore next */\nPopover.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Popover.name, Popover);\n};\n\nexport default Popover;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\n// deps-lint-skip: tooltip\n","// extracted by mini-css-extract-plugin","import { Circle as VCCircle } from '../vc-progress';\nimport { validProgress } from './utils';\n\nconst statusColorMap = {\n normal: '#108ee9',\n exception: '#ff5500',\n success: '#87d068',\n};\n\nfunction getPercentage({ percent, successPercent }) {\n const ptg = validProgress(percent);\n if (!successPercent) return ptg;\n\n const successPtg = validProgress(successPercent);\n return [successPercent, validProgress(ptg - successPtg)];\n}\n\nfunction getStrokeColor({ progressStatus, successPercent, strokeColor }) {\n const color = strokeColor || statusColorMap[progressStatus];\n if (!successPercent) return color;\n return [statusColorMap.success, color];\n}\n\nconst Circle = {\n functional: true,\n render(h, context) {\n const { props, children } = context;\n const {\n prefixCls,\n width,\n strokeWidth,\n trailColor,\n strokeLinecap,\n gapPosition,\n gapDegree,\n type,\n } = props;\n const circleSize = width || 120;\n const circleStyle = {\n width: typeof circleSize === 'number' ? `${circleSize}px` : circleSize,\n height: typeof circleSize === 'number' ? `${circleSize}px` : circleSize,\n fontSize: circleSize * 0.15 + 6,\n };\n const circleWidth = strokeWidth || 6;\n const gapPos = gapPosition || (type === 'dashboard' && 'bottom') || 'top';\n const gapDeg = gapDegree || (type === 'dashboard' && 75);\n const strokeColor = getStrokeColor(props);\n const isGradient = Object.prototype.toString.call(strokeColor) === '[object Object]';\n\n const wrapperClassName = {\n [`${prefixCls}-inner`]: true,\n [`${prefixCls}-circle-gradient`]: isGradient,\n };\n\n return (\n <div class={wrapperClassName} style={circleStyle}>\n <VCCircle\n percent={getPercentage(props)}\n strokeWidth={circleWidth}\n trailWidth={circleWidth}\n strokeColor={strokeColor}\n strokeLinecap={strokeLinecap}\n trailColor={trailColor}\n prefixCls={prefixCls}\n gapDegree={gapDeg}\n gapPosition={gapPos}\n />\n {children}\n </div>\n );\n },\n};\n\nexport default Circle;\n","import Progress from './progress';\nimport Base from '../base';\n\nexport { ProgressProps } from './progress';\n\n/* istanbul ignore next */\nProgress.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Progress.name, Progress);\n};\n\nexport default Progress;\n","import { validProgress } from './utils';\n\n/**\n * {\n * '0%': '#afc163',\n * '75%': '#009900',\n * '50%': 'green', ====> '#afc163 0%, #66FF00 25%, #00CC00 50%, #009900 75%, #ffffff 100%'\n * '25%': '#66FF00',\n * '100%': '#ffffff'\n * }\n */\nexport const sortGradient = gradients => {\n let tempArr = [];\n // eslint-disable-next-line no-restricted-syntax\n for (const [key, value] of Object.entries(gradients)) {\n const formatKey = parseFloat(key.replace(/%/g, ''));\n if (isNaN(formatKey)) {\n return {};\n }\n tempArr.push({\n key: formatKey,\n value,\n });\n }\n tempArr = tempArr.sort((a, b) => a.key - b.key);\n return tempArr.map(({ key, value }) => `${value} ${key}%`).join(', ');\n};\n\n/**\n * {\n * '0%': '#afc163',\n * '25%': '#66FF00',\n * '50%': '#00CC00', ====> linear-gradient(to right, #afc163 0%, #66FF00 25%,\n * '75%': '#009900', #00CC00 50%, #009900 75%, #ffffff 100%)\n * '100%': '#ffffff'\n * }\n *\n * Then this man came to realize the truth:\n * Besides six pence, there is the moon.\n * Besides bread and butter, there is the bug.\n * And...\n * Besides women, there is the code.\n */\nexport const handleGradient = strokeColor => {\n const { from = '#1890ff', to = '#1890ff', direction = 'to right', ...rest } = strokeColor;\n if (Object.keys(rest).length !== 0) {\n const sortedGradients = sortGradient(rest);\n return { backgroundImage: `linear-gradient(${direction}, ${sortedGradients})` };\n }\n return { backgroundImage: `linear-gradient(${direction}, ${from}, ${to})` };\n};\n\nconst Line = {\n functional: true,\n render(h, context) {\n const { props, children } = context;\n const {\n prefixCls,\n percent,\n successPercent,\n strokeWidth,\n size,\n strokeColor,\n strokeLinecap,\n } = props;\n let backgroundProps;\n if (strokeColor && typeof strokeColor !== 'string') {\n backgroundProps = handleGradient(strokeColor);\n } else {\n backgroundProps = {\n background: strokeColor,\n };\n }\n const percentStyle = {\n width: `${validProgress(percent)}%`,\n height: `${strokeWidth || (size === 'small' ? 6 : 8)}px`,\n background: strokeColor,\n borderRadius: strokeLinecap === 'square' ? 0 : '100px',\n ...backgroundProps,\n };\n const successPercentStyle = {\n width: `${validProgress(successPercent)}%`,\n height: `${strokeWidth || (size === 'small' ? 6 : 8)}px`,\n borderRadius: strokeLinecap === 'square' ? 0 : '',\n };\n const successSegment =\n successPercent !== undefined ? (\n <div class={`${prefixCls}-success-bg`} style={successPercentStyle} />\n ) : null;\n return (\n <div>\n <div class={`${prefixCls}-outer`}>\n <div class={`${prefixCls}-inner`}>\n <div class={`${prefixCls}-bg`} style={percentStyle} />\n {successSegment}\n </div>\n </div>\n {children}\n </div>\n );\n },\n};\n\nexport default Line;\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, initDefaultProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Icon from '../icon';\nimport Line from './line';\nimport Circle from './circle';\nimport { validProgress } from './utils';\n\nconst ProgressStatuses = ['normal', 'exception', 'active', 'success'];\nexport const ProgressType = PropTypes.oneOf(['line', 'circle', 'dashboard']);\nexport const ProgressSize = PropTypes.oneOf(['default', 'small']);\n\nexport const ProgressProps = {\n prefixCls: PropTypes.string,\n type: ProgressType,\n percent: PropTypes.number,\n successPercent: PropTypes.number,\n format: PropTypes.func,\n status: PropTypes.oneOf(ProgressStatuses),\n showInfo: PropTypes.bool,\n strokeWidth: PropTypes.number,\n strokeLinecap: PropTypes.oneOf(['butt', 'round', 'square']),\n strokeColor: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n trailColor: PropTypes.string,\n width: PropTypes.number,\n gapDegree: PropTypes.number,\n gapPosition: PropTypes.oneOf(['top', 'bottom', 'left', 'right']),\n size: ProgressSize,\n};\n\nexport default {\n name: 'AProgress',\n props: initDefaultProps(ProgressProps, {\n type: 'line',\n percent: 0,\n showInfo: true,\n trailColor: '#f3f3f3',\n size: 'default',\n gapDegree: 0,\n strokeLinecap: 'round',\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n getPercentNumber() {\n const { successPercent, percent = 0 } = this.$props;\n return parseInt(\n successPercent !== undefined ? successPercent.toString() : percent.toString(),\n 10,\n );\n },\n\n getProgressStatus() {\n const { status } = this.$props;\n if (ProgressStatuses.indexOf(status) < 0 && this.getPercentNumber() >= 100) {\n return 'success';\n }\n return status || 'normal';\n },\n renderProcessInfo(prefixCls, progressStatus) {\n const { showInfo, format, type, percent, successPercent } = this.$props;\n if (!showInfo) return null;\n\n let text;\n const textFormatter =\n format || this.$scopedSlots.format || (percentNumber => `${percentNumber}%`);\n const iconType = type === 'circle' || type === 'dashboard' ? '' : '-circle';\n if (\n format ||\n this.$scopedSlots.format ||\n (progressStatus !== 'exception' && progressStatus !== 'success')\n ) {\n text = textFormatter(validProgress(percent), validProgress(successPercent));\n } else if (progressStatus === 'exception') {\n text = <Icon type={`close${iconType}`} theme={type === 'line' ? 'filled' : 'outlined'} />;\n } else if (progressStatus === 'success') {\n text = <Icon type={`check${iconType}`} theme={type === 'line' ? 'filled' : 'outlined'} />;\n }\n return (\n <span class={`${prefixCls}-text`} title={typeof text === 'string' ? text : undefined}>\n {text}\n </span>\n );\n },\n },\n render() {\n const props = getOptionProps(this);\n const { prefixCls: customizePrefixCls, size, type, showInfo } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('progress', customizePrefixCls);\n const progressStatus = this.getProgressStatus();\n const progressInfo = this.renderProcessInfo(prefixCls, progressStatus);\n\n let progress;\n\n // Render progress shape\n if (type === 'line') {\n const lineProps = {\n props: {\n ...props,\n prefixCls,\n },\n };\n progress = <Line {...lineProps}>{progressInfo}</Line>;\n } else if (type === 'circle' || type === 'dashboard') {\n const circleProps = {\n props: {\n ...props,\n prefixCls,\n progressStatus,\n },\n };\n progress = <Circle {...circleProps}>{progressInfo}</Circle>;\n }\n\n const classString = classNames(prefixCls, {\n [`${prefixCls}-${(type === 'dashboard' && 'circle') || type}`]: true,\n [`${prefixCls}-status-${progressStatus}`]: true,\n [`${prefixCls}-show-info`]: showInfo,\n [`${prefixCls}-${size}`]: size,\n });\n\n const progressProps = {\n on: getListeners(this),\n class: classString,\n };\n return <div {...progressProps}>{progress}</div>;\n },\n};\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","export function validProgress(progress) {\n if (!progress || progress < 0) {\n return 0;\n }\n if (progress > 100) {\n return 100;\n }\n return progress;\n}\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport Radio from './Radio';\nimport { getOptionProps, filterEmpty, hasProp, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nfunction noop() {}\n\nexport default {\n name: 'ARadioGroup',\n model: {\n prop: 'value',\n },\n props: {\n prefixCls: PropTypes.string,\n defaultValue: PropTypes.any,\n value: PropTypes.any,\n size: {\n default: 'default',\n validator(value) {\n return ['large', 'default', 'small'].includes(value);\n },\n },\n options: {\n default: () => [],\n type: Array,\n },\n disabled: Boolean,\n name: String,\n buttonStyle: PropTypes.string.def('outline'),\n },\n data() {\n const { value, defaultValue } = this;\n this.updatingValue = false;\n return {\n stateValue: value === undefined ? defaultValue : value,\n };\n },\n provide() {\n return {\n radioGroupContext: this,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n computed: {\n radioOptions() {\n const { disabled } = this;\n return this.options.map(option => {\n return typeof option === 'string'\n ? { label: option, value: option }\n : { ...option, disabled: option.disabled === undefined ? disabled : option.disabled };\n });\n },\n classes() {\n const { prefixCls, size } = this;\n return {\n [`${prefixCls}`]: true,\n [`${prefixCls}-${size}`]: size,\n };\n },\n },\n watch: {\n value(val) {\n this.updatingValue = false;\n this.stateValue = val;\n },\n },\n methods: {\n onRadioChange(ev) {\n const lastValue = this.stateValue;\n const { value } = ev.target;\n if (!hasProp(this, 'value')) {\n this.stateValue = value;\n }\n // nextTick for https://github.com/vueComponent/ant-design-vue/issues/1280\n if (!this.updatingValue && value !== lastValue) {\n this.updatingValue = true;\n this.$emit('input', value);\n this.$emit('change', ev);\n }\n this.$nextTick(() => {\n this.updatingValue = false;\n });\n },\n },\n render() {\n const { mouseenter = noop, mouseleave = noop } = getListeners(this);\n const props = getOptionProps(this);\n const { prefixCls: customizePrefixCls, options, buttonStyle } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('radio', customizePrefixCls);\n\n const groupPrefixCls = `${prefixCls}-group`;\n const classString = classNames(groupPrefixCls, `${groupPrefixCls}-${buttonStyle}`, {\n [`${groupPrefixCls}-${props.size}`]: props.size,\n });\n\n let children = filterEmpty(this.$slots.default);\n\n // 如果存在 options, 优先使用\n if (options && options.length > 0) {\n children = options.map(option => {\n if (typeof option === 'string') {\n return (\n <Radio\n key={option}\n prefixCls={prefixCls}\n disabled={props.disabled}\n value={option}\n checked={this.stateValue === option}\n >\n {option}\n </Radio>\n );\n } else {\n return (\n <Radio\n key={`radio-group-value-options-${option.value}`}\n prefixCls={prefixCls}\n disabled={option.disabled || props.disabled}\n value={option.value}\n checked={this.stateValue === option.value}\n >\n {option.label}\n </Radio>\n );\n }\n });\n }\n\n return (\n <div class={classString} onMouseenter={mouseenter} onMouseleave={mouseleave}>\n {children}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport VcCheckbox from '../vc-checkbox';\nimport classNames from 'classnames';\nimport { getOptionProps, getAttrs, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\n\nfunction noop() {}\n\nexport default {\n name: 'ARadio',\n model: {\n prop: 'checked',\n },\n props: {\n prefixCls: PropTypes.string,\n defaultChecked: Boolean,\n checked: { type: Boolean, default: undefined },\n disabled: Boolean,\n isGroup: Boolean,\n value: PropTypes.any,\n name: String,\n id: String,\n autoFocus: Boolean,\n type: PropTypes.string.def('radio'),\n },\n inject: {\n radioGroupContext: { default: undefined },\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n focus() {\n this.$refs.vcCheckbox.focus();\n },\n blur() {\n this.$refs.vcCheckbox.blur();\n },\n handleChange(event) {\n const targetChecked = event.target.checked;\n this.$emit('input', targetChecked);\n this.$emit('change', event);\n },\n onChange(e) {\n this.$emit('change', e);\n if (this.radioGroupContext && this.radioGroupContext.onRadioChange) {\n this.radioGroupContext.onRadioChange(e);\n }\n },\n },\n\n render() {\n const { $slots, radioGroupContext: radioGroup } = this;\n const props = getOptionProps(this);\n const children = $slots.default;\n const { mouseenter = noop, mouseleave = noop, ...restListeners } = getListeners(this);\n const { prefixCls: customizePrefixCls, ...restProps } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('radio', customizePrefixCls);\n\n const radioProps = {\n props: { ...restProps, prefixCls },\n on: restListeners,\n attrs: getAttrs(this),\n };\n\n if (radioGroup) {\n radioProps.props.name = radioGroup.name;\n radioProps.on.change = this.onChange;\n radioProps.props.checked = props.value === radioGroup.stateValue;\n radioProps.props.disabled = props.disabled || radioGroup.disabled;\n } else {\n radioProps.on.change = this.handleChange;\n }\n const wrapperClassString = classNames({\n [`${prefixCls}-wrapper`]: true,\n [`${prefixCls}-wrapper-checked`]: radioProps.props.checked,\n [`${prefixCls}-wrapper-disabled`]: radioProps.props.disabled,\n });\n\n return (\n <label class={wrapperClassString} onMouseenter={mouseenter} onMouseleave={mouseleave}>\n <VcCheckbox {...radioProps} ref=\"vcCheckbox\" />\n {children !== undefined ? <span>{children}</span> : null}\n </label>\n );\n },\n};\n","import Radio from './Radio';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\n\nexport default {\n name: 'ARadioButton',\n props: {\n ...Radio.props,\n },\n inject: {\n radioGroupContext: { default: undefined },\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls, ...otherProps } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('radio-button', customizePrefixCls);\n\n const radioProps = {\n props: {\n ...otherProps,\n prefixCls,\n },\n on: getListeners(this),\n };\n if (this.radioGroupContext) {\n radioProps.on.change = this.radioGroupContext.onRadioChange;\n radioProps.props.checked = this.$props.value === this.radioGroupContext.stateValue;\n radioProps.props.disabled = this.$props.disabled || this.radioGroupContext.disabled;\n }\n return <Radio {...radioProps}>{this.$slots.default}</Radio>;\n },\n};\n","import Radio from './Radio';\nimport Group from './Group';\nimport Button from './RadioButton';\nimport Base from '../base';\n\nRadio.Group = Group;\nRadio.Button = Button;\n\n/* istanbul ignore next */\nRadio.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Radio.name, Radio);\n Vue.component(Radio.Group.name, Radio.Group);\n Vue.component(Radio.Button.name, Radio.Button);\n};\n\nexport { Button, Group };\nexport default Radio;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport VcRate from '../vc-rate';\nimport Icon from '../icon';\nimport Tooltip from '../tooltip';\nimport Base from '../base';\n\nexport const RateProps = {\n prefixCls: PropTypes.string,\n count: PropTypes.number,\n value: PropTypes.value,\n defaultValue: PropTypes.value,\n allowHalf: PropTypes.bool,\n allowClear: PropTypes.bool,\n tooltips: PropTypes.arrayOf(PropTypes.string),\n disabled: PropTypes.bool,\n character: PropTypes.any,\n autoFocus: PropTypes.bool,\n};\n\nconst Rate = {\n name: 'ARate',\n model: {\n prop: 'value',\n event: 'change',\n },\n props: RateProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n characterRender(node, { index }) {\n const { tooltips } = this.$props;\n if (!tooltips) return node;\n return <Tooltip title={tooltips[index]}>{node}</Tooltip>;\n },\n focus() {\n this.$refs.refRate.focus();\n },\n blur() {\n this.$refs.refRate.blur();\n },\n },\n render() {\n const { prefixCls: customizePrefixCls, ...restProps } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('rate', customizePrefixCls);\n\n const character = getComponentFromProp(this, 'character') || (\n <Icon type=\"star\" theme=\"filled\" />\n );\n const rateProps = {\n props: {\n character,\n characterRender: this.characterRender,\n prefixCls,\n ...omit(restProps, ['tooltips']),\n },\n on: getListeners(this),\n ref: 'refRate',\n };\n return <VcRate {...rateProps} />;\n },\n};\n\n/* istanbul ignore next */\nRate.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Rate.name, Rate);\n};\nexport default Rate;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../tooltip/style';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport { getComponentFromProp } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Icon from '../icon';\nimport Base from '../base';\nimport noFound from './noFound';\nimport serverError from './serverError';\nimport unauthorized from './unauthorized';\n\nexport const IconMap = {\n success: 'check-circle',\n error: 'close-circle',\n info: 'exclamation-circle',\n warning: 'warning',\n};\n\nexport const ExceptionMap = {\n '404': noFound,\n '500': serverError,\n '403': unauthorized,\n};\n\n// ExceptionImageMap keys\nconst ExceptionStatus = Object.keys(ExceptionMap);\n\nexport const ResultProps = {\n prefixCls: PropTypes.string,\n icon: PropTypes.any,\n status: PropTypes.oneOf(['success', 'error', 'info', 'warning', '404', '403', '500']).def('info'),\n title: PropTypes.any,\n subTitle: PropTypes.any,\n extra: PropTypes.any,\n};\n\nconst renderIcon = (h, prefixCls, { status, icon }) => {\n if (ExceptionStatus.includes(`${status}`)) {\n const SVGComponent = ExceptionMap[status];\n return (\n <div class={`${prefixCls}-icon ${prefixCls}-image`}>\n <SVGComponent />\n </div>\n );\n }\n // prop `icon` require slot or VNode\n const iconString = IconMap[status];\n const iconNode = icon || <Icon type={iconString} theme=\"filled\" />;\n return <div class={`${prefixCls}-icon`}>{iconNode}</div>;\n};\n\nconst renderExtra = (h, prefixCls, extra) =>\n extra && <div class={`${prefixCls}-extra`}>{extra}</div>;\n\nconst Result = {\n name: 'AResult',\n props: ResultProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render(h) {\n const { prefixCls: customizePrefixCls, status } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('result', customizePrefixCls);\n\n const title = getComponentFromProp(this, 'title');\n const subTitle = getComponentFromProp(this, 'subTitle');\n const icon = getComponentFromProp(this, 'icon');\n const extra = getComponentFromProp(this, 'extra');\n\n return (\n <div class={`${prefixCls} ${prefixCls}-${status}`}>\n {renderIcon(h, prefixCls, { status, icon })}\n <div class={`${prefixCls}-title`}>{title}</div>\n {subTitle && <div class={`${prefixCls}-subtitle`}>{subTitle}</div>}\n {this.$slots.default && <div class={`${prefixCls}-content`}>{this.$slots.default}</div>}\n {renderExtra(h, prefixCls, extra)}\n </div>\n );\n },\n};\n\n/* add resource */\nResult.PRESENTED_IMAGE_403 = ExceptionMap[403];\nResult.PRESENTED_IMAGE_404 = ExceptionMap[404];\nResult.PRESENTED_IMAGE_500 = ExceptionMap[500];\n\n/* istanbul ignore next */\nResult.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Result.name, Result);\n};\nexport default Result;\n","const NoFound = {\n functional: true,\n render() {\n return (\n <svg width=\"252\" height=\"294\">\n <defs>\n <path d=\"M0 .387h251.772v251.772H0z\" />\n </defs>\n <g fill=\"none\" fillRule=\"evenodd\">\n <g transform=\"translate(0 .012)\">\n <mask fill=\"#fff\" />\n <path\n d=\"M0 127.32v-2.095C0 56.279 55.892.387 124.838.387h2.096c68.946 0 124.838 55.892 124.838 124.838v2.096c0 68.946-55.892 124.838-124.838 124.838h-2.096C55.892 252.16 0 196.267 0 127.321\"\n fill=\"#E4EBF7\"\n mask=\"url(#b)\"\n />\n </g>\n <path\n d=\"M39.755 130.84a8.276 8.276 0 1 1-16.468-1.66 8.276 8.276 0 0 1 16.468 1.66\"\n fill=\"#FFF\"\n />\n <path\n d=\"M36.975 134.297l10.482 5.943M48.373 146.508l-12.648 10.788\"\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n />\n <path\n d=\"M39.875 159.352a5.667 5.667 0 1 1-11.277-1.136 5.667 5.667 0 0 1 11.277 1.136M57.588 143.247a5.708 5.708 0 1 1-11.358-1.145 5.708 5.708 0 0 1 11.358 1.145M99.018 26.875l29.82-.014a4.587 4.587 0 1 0-.003-9.175l-29.82.013a4.587 4.587 0 1 0 .003 9.176M110.424 45.211l29.82-.013a4.588 4.588 0 0 0-.004-9.175l-29.82.013a4.587 4.587 0 1 0 .004 9.175\"\n fill=\"#FFF\"\n />\n <path\n d=\"M112.798 26.861v-.002l15.784-.006a4.588 4.588 0 1 0 .003 9.175l-15.783.007v-.002a4.586 4.586 0 0 0-.004-9.172M184.523 135.668c-.553 5.485-5.447 9.483-10.931 8.93-5.485-.553-9.483-5.448-8.93-10.932.552-5.485 5.447-9.483 10.932-8.93 5.485.553 9.483 5.447 8.93 10.932\"\n fill=\"#FFF\"\n />\n <path\n d=\"M179.26 141.75l12.64 7.167M193.006 156.477l-15.255 13.011\"\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n />\n <path\n d=\"M184.668 170.057a6.835 6.835 0 1 1-13.6-1.372 6.835 6.835 0 0 1 13.6 1.372M203.34 153.325a6.885 6.885 0 1 1-13.7-1.382 6.885 6.885 0 0 1 13.7 1.382\"\n fill=\"#FFF\"\n />\n <path\n d=\"M151.931 192.324a2.222 2.222 0 1 1-4.444 0 2.222 2.222 0 0 1 4.444 0zM225.27 116.056a2.222 2.222 0 1 1-4.445 0 2.222 2.222 0 0 1 4.444 0zM216.38 151.08a2.223 2.223 0 1 1-4.446-.001 2.223 2.223 0 0 1 4.446 0zM176.917 107.636a2.223 2.223 0 1 1-4.445 0 2.223 2.223 0 0 1 4.445 0zM195.291 92.165a2.223 2.223 0 1 1-4.445 0 2.223 2.223 0 0 1 4.445 0zM202.058 180.711a2.223 2.223 0 1 1-4.446 0 2.223 2.223 0 0 1 4.446 0z\"\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n />\n <path\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n d=\"M214.404 153.302l-1.912 20.184-10.928 5.99M173.661 174.792l-6.356 9.814h-11.36l-4.508 6.484M174.941 125.168v-15.804M220.824 117.25l-12.84 7.901-15.31-7.902V94.39\"\n />\n <path\n d=\"M166.588 65.936h-3.951a4.756 4.756 0 0 1-4.743-4.742 4.756 4.756 0 0 1 4.743-4.743h3.951a4.756 4.756 0 0 1 4.743 4.743 4.756 4.756 0 0 1-4.743 4.742\"\n fill=\"#FFF\"\n />\n <path\n d=\"M174.823 30.03c0-16.281 13.198-29.48 29.48-29.48 16.28 0 29.48 13.199 29.48 29.48 0 16.28-13.2 29.48-29.48 29.48-16.282 0-29.48-13.2-29.48-29.48\"\n fill=\"#1890FF\"\n />\n <path\n d=\"M205.952 38.387c.5.5.785 1.142.785 1.928s-.286 1.465-.785 1.964c-.572.5-1.214.75-2 .75-.785 0-1.429-.285-1.929-.785-.572-.5-.82-1.143-.82-1.929s.248-1.428.82-1.928c.5-.5 1.144-.75 1.93-.75.785 0 1.462.25 1.999.75m4.285-19.463c1.428 1.249 2.143 2.963 2.143 5.142 0 1.712-.427 3.13-1.219 4.25-.067.096-.137.18-.218.265-.416.429-1.41 1.346-2.956 2.699a5.07 5.07 0 0 0-1.428 1.75 5.207 5.207 0 0 0-.536 2.357v.5h-4.107v-.5c0-1.357.215-2.536.714-3.5.464-.964 1.857-2.464 4.178-4.536l.43-.5c.643-.785.964-1.643.964-2.535 0-1.18-.358-2.108-1-2.785-.678-.68-1.643-1.001-2.858-1.001-1.536 0-2.642.464-3.357 1.43-.37.5-.621 1.135-.76 1.904a1.999 1.999 0 0 1-1.971 1.63h-.004c-1.277 0-2.257-1.183-1.98-2.43.337-1.518 1.02-2.78 2.073-3.784 1.536-1.5 3.607-2.25 6.25-2.25 2.32 0 4.214.607 5.642 1.894\"\n fill=\"#FFF\"\n />\n <path\n d=\"M52.04 76.131s21.81 5.36 27.307 15.945c5.575 10.74-6.352 9.26-15.73 4.935-10.86-5.008-24.7-11.822-11.577-20.88\"\n fill=\"#FFB594\"\n />\n <path\n d=\"M90.483 67.504l-.449 2.893c-.753.49-4.748-2.663-4.748-2.663l-1.645.748-1.346-5.684s6.815-4.589 8.917-5.018c2.452-.501 9.884.94 10.7 2.278 0 0 1.32.486-2.227.69-3.548.203-5.043.447-6.79 3.132-1.747 2.686-2.412 3.624-2.412 3.624\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M128.055 111.367c-2.627-7.724-6.15-13.18-8.917-15.478-3.5-2.906-9.34-2.225-11.366-4.187-1.27-1.231-3.215-1.197-3.215-1.197s-14.98-3.158-16.828-3.479c-2.37-.41-2.124-.714-6.054-1.405-1.57-1.907-2.917-1.122-2.917-1.122l-7.11-1.383c-.853-1.472-2.423-1.023-2.423-1.023l-2.468-.897c-1.645 9.976-7.74 13.796-7.74 13.796 1.795 1.122 15.703 8.3 15.703 8.3l5.107 37.11s-3.321 5.694 1.346 9.109c0 0 19.883-3.743 34.921-.329 0 0 3.047-2.546.972-8.806.523-3.01 1.394-8.263 1.736-11.622.385.772 2.019 1.918 3.14 3.477 0 0 9.407-7.365 11.052-14.012-.832-.723-1.598-1.585-2.267-2.453-.567-.736-.358-2.056-.765-2.717-.669-1.084-1.804-1.378-1.907-1.682\"\n fill=\"#FFF\"\n />\n <path\n d=\"M101.09 289.998s4.295 2.041 7.354 1.021c2.821-.94 4.53.668 7.08 1.178 2.55.51 6.874 1.1 11.686-1.26-.103-5.51-6.889-3.98-11.96-6.713-2.563-1.38-3.784-4.722-3.598-8.799h-9.402s-1.392 10.52-1.16 14.573\"\n fill=\"#CBD1D1\"\n />\n <path\n d=\"M101.067 289.826s2.428 1.271 6.759.653c3.058-.437 3.712.481 7.423 1.031 3.712.55 10.724-.069 11.823-.894.413 1.1-.343 2.063-.343 2.063s-1.512.603-4.812.824c-2.03.136-5.8.291-7.607-.503-1.787-1.375-5.247-1.903-5.728-.241-3.918.95-7.355-.286-7.355-.286l-.16-2.647z\"\n fill=\"#2B0849\"\n />\n <path\n d=\"M108.341 276.044h3.094s-.103 6.702 4.536 8.558c-4.64.618-8.558-2.303-7.63-8.558\"\n fill=\"#A4AABA\"\n />\n <path\n d=\"M57.542 272.401s-2.107 7.416-4.485 12.306c-1.798 3.695-4.225 7.492 5.465 7.492 6.648 0 8.953-.48 7.423-6.599-1.53-6.12.266-13.199.266-13.199h-8.669z\"\n fill=\"#CBD1D1\"\n />\n <path\n d=\"M51.476 289.793s2.097 1.169 6.633 1.169c6.083 0 8.249-1.65 8.249-1.65s.602 1.114-.619 2.165c-.993.855-3.597 1.591-7.39 1.546-4.145-.048-5.832-.566-6.736-1.168-.825-.55-.687-1.58-.137-2.062\"\n fill=\"#2B0849\"\n />\n <path\n d=\"M58.419 274.304s.033 1.519-.314 2.93c-.349 1.42-1.078 3.104-1.13 4.139-.058 1.151 4.537 1.58 5.155.034.62-1.547 1.294-6.427 1.913-7.252.619-.825-4.903-2.119-5.624.15\"\n fill=\"#A4AABA\"\n />\n <path\n d=\"M99.66 278.514l13.378.092s1.298-54.52 1.853-64.403c.554-9.882 3.776-43.364 1.002-63.128l-12.547-.644-22.849.78s-.434 3.966-1.195 9.976c-.063.496-.682.843-.749 1.365-.075.585.423 1.354.32 1.966-2.364 14.08-6.377 33.104-8.744 46.677-.116.666-1.234 1.009-1.458 2.691-.04.302.211 1.525.112 1.795-6.873 18.744-10.949 47.842-14.277 61.885l14.607-.014s2.197-8.57 4.03-16.97c2.811-12.886 23.111-85.01 23.111-85.01l3.016-.521 1.043 46.35s-.224 1.234.337 2.02c.56.785-.56 1.123-.392 2.244l.392 1.794s-.449 7.178-.898 11.89c-.448 4.71-.092 39.165-.092 39.165\"\n fill=\"#7BB2F9\"\n />\n <path\n d=\"M76.085 221.626c1.153.094 4.038-2.019 6.955-4.935M106.36 225.142s2.774-1.11 6.103-3.883\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M107.275 222.1s2.773-1.11 6.102-3.884\"\n stroke=\"#648BD8\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M74.74 224.767s2.622-.591 6.505-3.365M86.03 151.634c-.27 3.106.3 8.525-4.336 9.123M103.625 149.88s.11 14.012-1.293 15.065c-2.219 1.664-2.99 1.944-2.99 1.944M99.79 150.438s.035 12.88-1.196 24.377M93.673 175.911s7.212-1.664 9.431-1.664M74.31 205.861a212.013 212.013 0 0 1-.979 4.56s-1.458 1.832-1.009 3.776c.449 1.944-.947 2.045-4.985 15.355-1.696 5.59-4.49 18.591-6.348 27.597l-.231 1.12M75.689 197.807a320.934 320.934 0 0 1-.882 4.754M82.591 152.233L81.395 162.7s-1.097.15-.5 2.244c.113 1.346-2.674 15.775-5.18 30.43M56.12 274.418h13.31\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M116.241 148.22s-17.047-3.104-35.893.2c.158 2.514-.003 4.15-.003 4.15s14.687-2.818 35.67-.312c.252-2.355.226-4.038.226-4.038\"\n fill=\"#192064\"\n />\n <path\n d=\"M106.322 151.165l.003-4.911a.81.81 0 0 0-.778-.815c-2.44-.091-5.066-.108-7.836-.014a.818.818 0 0 0-.789.815l-.003 4.906a.81.81 0 0 0 .831.813c2.385-.06 4.973-.064 7.73.017a.815.815 0 0 0 .842-.81\"\n fill=\"#FFF\"\n />\n <path\n d=\"M105.207 150.233l.002-3.076a.642.642 0 0 0-.619-.646 94.321 94.321 0 0 0-5.866-.01.65.65 0 0 0-.63.647v3.072a.64.64 0 0 0 .654.644 121.12 121.12 0 0 1 5.794.011c.362.01.665-.28.665-.642\"\n fill=\"#192064\"\n />\n <path\n d=\"M100.263 275.415h12.338M101.436 270.53c.006 3.387.042 5.79.111 6.506M101.451 264.548a915.75 915.75 0 0 0-.015 4.337M100.986 174.965l.898 44.642s.673 1.57-.225 2.692c-.897 1.122 2.468.673.898 2.243-1.57 1.57.897 1.122 0 3.365-.596 1.489-.994 21.1-1.096 35.146\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M46.876 83.427s-.516 6.045 7.223 5.552c11.2-.712 9.218-9.345 31.54-21.655-.786-2.708-2.447-4.744-2.447-4.744s-11.068 3.11-22.584 8.046c-6.766 2.9-13.395 6.352-13.732 12.801M104.46 91.057l.941-5.372-8.884-11.43-5.037 5.372-1.74 7.834a.321.321 0 0 0 .108.32c.965.8 6.5 5.013 14.347 3.544a.332.332 0 0 0 .264-.268\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M93.942 79.387s-4.533-2.853-2.432-6.855c1.623-3.09 4.513 1.133 4.513 1.133s.52-3.642 3.121-3.642c.52-1.04 1.561-4.162 1.561-4.162s11.445 2.601 13.526 3.121c0 5.203-2.304 19.424-7.84 19.861-8.892.703-12.449-9.456-12.449-9.456\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M113.874 73.446c2.601-2.081 3.47-9.722 3.47-9.722s-2.479-.49-6.64-2.05c-4.683-2.081-12.798-4.747-17.48.976-9.668 3.223-2.05 19.823-2.05 19.823l2.713-3.021s-3.935-3.287-2.08-6.243c2.17-3.462 3.92 1.073 3.92 1.073s.637-2.387 3.581-3.342c.355-.71 1.036-2.674 1.432-3.85a1.073 1.073 0 0 1 1.263-.704c2.4.558 8.677 2.019 11.356 2.662.522.125.871.615.82 1.15l-.305 3.248z\"\n fill=\"#520038\"\n />\n <path\n d=\"M104.977 76.064c-.103.61-.582 1.038-1.07.956-.489-.083-.801-.644-.698-1.254.103-.61.582-1.038 1.07-.956.488.082.8.644.698 1.254M112.132 77.694c-.103.61-.582 1.038-1.07.956-.488-.083-.8-.644-.698-1.254.103-.61.582-1.038 1.07-.956.488.082.8.643.698 1.254\"\n fill=\"#552950\"\n />\n <path\n stroke=\"#DB836E\"\n strokeWidth=\"1.118\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M110.13 74.84l-.896 1.61-.298 4.357h-2.228\"\n />\n <path\n d=\"M110.846 74.481s1.79-.716 2.506.537\"\n stroke=\"#5C2552\"\n strokeWidth=\"1.118\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M92.386 74.282s.477-1.114 1.113-.716c.637.398 1.274 1.433.558 1.99-.717.556.159 1.67.159 1.67\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.118\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M103.287 72.93s1.83 1.113 4.137.954\"\n stroke=\"#5C2552\"\n strokeWidth=\"1.118\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M103.685 81.762s2.227 1.193 4.376 1.193M104.64 84.308s.954.398 1.511.318M94.693 81.205s2.308 7.4 10.424 7.639\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.118\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M81.45 89.384s.45 5.647-4.935 12.787M69 82.654s-.726 9.282-8.204 14.206\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.101\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M129.405 122.865s-5.272 7.403-9.422 10.768\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M119.306 107.329s.452 4.366-2.127 32.062\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.101\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M150.028 151.232h-49.837a1.01 1.01 0 0 1-1.01-1.01v-31.688c0-.557.452-1.01 1.01-1.01h49.837c.558 0 1.01.453 1.01 1.01v31.688a1.01 1.01 0 0 1-1.01 1.01\"\n fill=\"#F2D7AD\"\n />\n <path\n d=\"M150.29 151.232h-19.863v-33.707h20.784v32.786a.92.92 0 0 1-.92.92\"\n fill=\"#F4D19D\"\n />\n <path\n d=\"M123.554 127.896H92.917a.518.518 0 0 1-.425-.816l6.38-9.113c.193-.277.51-.442.85-.442h31.092l-7.26 10.371z\"\n fill=\"#F2D7AD\"\n />\n <path fill=\"#CC9B6E\" d=\"M123.689 128.447H99.25v-.519h24.169l7.183-10.26.424.298z\" />\n <path\n d=\"M158.298 127.896h-18.669a2.073 2.073 0 0 1-1.659-.83l-7.156-9.541h19.965c.49 0 .95.23 1.244.622l6.69 8.92a.519.519 0 0 1-.415.83\"\n fill=\"#F4D19D\"\n />\n <path\n fill=\"#CC9B6E\"\n d=\"M157.847 128.479h-19.384l-7.857-10.475.415-.31 7.7 10.266h19.126zM130.554 150.685l-.032-8.177.519-.002.032 8.177z\"\n />\n <path\n fill=\"#CC9B6E\"\n d=\"M130.511 139.783l-.08-21.414.519-.002.08 21.414zM111.876 140.932l-.498-.143 1.479-5.167.498.143zM108.437 141.06l-2.679-2.935 2.665-3.434.41.318-2.397 3.089 2.384 2.612zM116.607 141.06l-.383-.35 2.383-2.612-2.397-3.089.41-.318 2.665 3.434z\"\n />\n <path\n d=\"M154.316 131.892l-3.114-1.96.038 3.514-1.043.092c-1.682.115-3.634.23-4.789.23-1.902 0-2.693 2.258 2.23 2.648l-2.645-.596s-2.168 1.317.504 2.3c0 0-1.58 1.217.561 2.58-.584 3.504 5.247 4.058 7.122 3.59 1.876-.47 4.233-2.359 4.487-5.16.28-3.085-.89-5.432-3.35-7.238\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M153.686 133.577s-6.522.47-8.36.372c-1.836-.098-1.904 2.19 2.359 2.264 3.739.15 5.451-.044 5.451-.044\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M145.16 135.877c-1.85 1.346.561 2.355.561 2.355s3.478.898 6.73.617\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M151.89 141.71s-6.28.111-6.73-2.132c-.223-1.346.45-1.402.45-1.402M146.114 140.868s-1.103 3.16 5.44 3.533M151.202 129.932v3.477M52.838 89.286c3.533-.337 8.423-1.248 13.582-7.754\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M168.567 248.318a6.647 6.647 0 0 1-6.647-6.647v-66.466a6.647 6.647 0 1 1 13.294 0v66.466a6.647 6.647 0 0 1-6.647 6.647\"\n fill=\"#5BA02E\"\n />\n <path\n d=\"M176.543 247.653a6.647 6.647 0 0 1-6.646-6.647v-33.232a6.647 6.647 0 1 1 13.293 0v33.232a6.647 6.647 0 0 1-6.647 6.647\"\n fill=\"#92C110\"\n />\n <path\n d=\"M186.443 293.613H158.92a3.187 3.187 0 0 1-3.187-3.187v-46.134a3.187 3.187 0 0 1 3.187-3.187h27.524a3.187 3.187 0 0 1 3.187 3.187v46.134a3.187 3.187 0 0 1-3.187 3.187\"\n fill=\"#F2D7AD\"\n />\n <path\n d=\"M88.979 89.48s7.776 5.384 16.6 2.842\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.101\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </g>\n </svg>\n );\n },\n};\n\nexport default NoFound;\n","const ServerError = {\n functional: true,\n render() {\n return (\n <svg width=\"254\" height=\"294\">\n <defs>\n <path d=\"M0 .335h253.49v253.49H0z\" />\n <path d=\"M0 293.665h253.49V.401H0z\" />\n </defs>\n <g fill=\"none\" fillRule=\"evenodd\">\n <g transform=\"translate(0 .067)\">\n <mask fill=\"#fff\" />\n <path\n d=\"M0 128.134v-2.11C0 56.608 56.273.334 125.69.334h2.11c69.416 0 125.69 56.274 125.69 125.69v2.11c0 69.417-56.274 125.69-125.69 125.69h-2.11C56.273 253.824 0 197.551 0 128.134\"\n fill=\"#E4EBF7\"\n mask=\"url(#b)\"\n />\n </g>\n <path\n d=\"M39.989 132.108a8.332 8.332 0 1 1-16.581-1.671 8.332 8.332 0 0 1 16.58 1.671\"\n fill=\"#FFF\"\n />\n <path\n d=\"M37.19 135.59l10.553 5.983M48.665 147.884l-12.734 10.861\"\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n />\n <path\n d=\"M40.11 160.816a5.706 5.706 0 1 1-11.354-1.145 5.706 5.706 0 0 1 11.354 1.145M57.943 144.6a5.747 5.747 0 1 1-11.436-1.152 5.747 5.747 0 0 1 11.436 1.153M99.656 27.434l30.024-.013a4.619 4.619 0 1 0-.004-9.238l-30.024.013a4.62 4.62 0 0 0 .004 9.238M111.14 45.896l30.023-.013a4.62 4.62 0 1 0-.004-9.238l-30.024.013a4.619 4.619 0 1 0 .004 9.238\"\n fill=\"#FFF\"\n />\n <path\n d=\"M113.53 27.421v-.002l15.89-.007a4.619 4.619 0 1 0 .005 9.238l-15.892.007v-.002a4.618 4.618 0 0 0-.004-9.234M150.167 70.091h-3.979a4.789 4.789 0 0 1-4.774-4.775 4.788 4.788 0 0 1 4.774-4.774h3.979a4.789 4.789 0 0 1 4.775 4.774 4.789 4.789 0 0 1-4.775 4.775\"\n fill=\"#FFF\"\n />\n <path\n d=\"M171.687 30.234c0-16.392 13.289-29.68 29.681-29.68 16.392 0 29.68 13.288 29.68 29.68 0 16.393-13.288 29.681-29.68 29.681s-29.68-13.288-29.68-29.68\"\n fill=\"#FF603B\"\n />\n <path\n d=\"M203.557 19.435l-.676 15.035a1.514 1.514 0 0 1-3.026 0l-.675-15.035a2.19 2.19 0 1 1 4.377 0m-.264 19.378c.513.477.77 1.1.77 1.87s-.257 1.393-.77 1.907c-.55.476-1.21.733-1.943.733a2.545 2.545 0 0 1-1.87-.77c-.55-.514-.806-1.136-.806-1.87 0-.77.256-1.393.806-1.87.513-.513 1.137-.733 1.87-.733.77 0 1.43.22 1.943.733\"\n fill=\"#FFF\"\n />\n <path\n d=\"M119.3 133.275c4.426-.598 3.612-1.204 4.079-4.778.675-5.18-3.108-16.935-8.262-25.118-1.088-10.72-12.598-11.24-12.598-11.24s4.312 4.895 4.196 16.199c1.398 5.243.804 14.45.804 14.45s5.255 11.369 11.78 10.487\"\n fill=\"#FFB594\"\n />\n <path\n d=\"M100.944 91.61s1.463-.583 3.211.582c8.08 1.398 10.368 6.706 11.3 11.368 1.864 1.282 1.864 2.33 1.864 3.496.365.777 1.515 3.03 1.515 3.03s-7.225 1.748-10.954 6.758c-1.399-6.41-6.936-25.235-6.936-25.235\"\n fill=\"#FFF\"\n />\n <path\n d=\"M94.008 90.5l1.019-5.815-9.23-11.874-5.233 5.581-2.593 9.863s8.39 5.128 16.037 2.246\"\n fill=\"#FFB594\"\n />\n <path\n d=\"M82.931 78.216s-4.557-2.868-2.445-6.892c1.632-3.107 4.537 1.139 4.537 1.139s.524-3.662 3.139-3.662c.523-1.046 1.569-4.184 1.569-4.184s11.507 2.615 13.6 3.138c-.001 5.23-2.317 19.529-7.884 19.969-8.94.706-12.516-9.508-12.516-9.508\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M102.971 72.243c2.616-2.093 3.489-9.775 3.489-9.775s-2.492-.492-6.676-2.062c-4.708-2.092-12.867-4.771-17.575.982-9.54 4.41-2.062 19.93-2.062 19.93l2.729-3.037s-3.956-3.304-2.092-6.277c2.183-3.48 3.943 1.08 3.943 1.08s.64-2.4 3.6-3.36c.356-.714 1.04-2.69 1.44-3.872a1.08 1.08 0 0 1 1.27-.707c2.41.56 8.723 2.03 11.417 2.676.524.126.876.619.825 1.156l-.308 3.266z\"\n fill=\"#520038\"\n />\n <path\n d=\"M101.22 76.514c-.104.613-.585 1.044-1.076.96-.49-.082-.805-.646-.702-1.26.104-.613.585-1.044 1.076-.961.491.083.805.647.702 1.26M94.26 75.074c-.104.613-.585 1.044-1.076.96-.49-.082-.805-.646-.702-1.26.104-.613.585-1.044 1.076-.96.491.082.805.646.702 1.26\"\n fill=\"#552950\"\n />\n <path\n stroke=\"#DB836E\"\n strokeWidth=\"1.063\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M99.206 73.644l-.9 1.62-.3 4.38h-2.24\"\n />\n <path\n d=\"M99.926 73.284s1.8-.72 2.52.54\"\n stroke=\"#5C2552\"\n strokeWidth=\"1.117\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M81.367 73.084s.48-1.12 1.12-.72c.64.4 1.28 1.44.56 2s.16 1.68.16 1.68\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.117\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M92.326 71.724s1.84 1.12 4.16.96\"\n stroke=\"#5C2552\"\n strokeWidth=\"1.117\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M92.726 80.604s2.24 1.2 4.4 1.2M93.686 83.164s.96.4 1.52.32M83.687 80.044s1.786 6.547 9.262 7.954\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.063\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M95.548 91.663s-1.068 2.821-8.298 2.105c-7.23-.717-10.29-5.044-10.29-5.044\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.136\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M78.126 87.478s6.526 4.972 16.47 2.486c0 0 9.577 1.02 11.536 5.322 5.36 11.77.543 36.835 0 39.962 3.496 4.055-.466 8.483-.466 8.483-15.624-3.548-35.81-.6-35.81-.6-4.849-3.546-1.223-9.044-1.223-9.044L62.38 110.32c-2.485-15.227.833-19.803 3.549-20.743 3.03-1.049 8.04-1.282 8.04-1.282.496-.058 1.08-.076 1.37-.233 2.36-1.282 2.787-.583 2.787-.583\"\n fill=\"#FFF\"\n />\n <path\n d=\"M65.828 89.81s-6.875.465-7.59 8.156c-.466 8.857 3.03 10.954 3.03 10.954s6.075 22.102 16.796 22.957c8.39-2.176 4.758-6.702 4.661-11.42-.233-11.304-7.108-16.897-7.108-16.897s-4.212-13.75-9.789-13.75\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M71.716 124.225s.855 11.264 9.828 6.486c4.765-2.536 7.581-13.828 9.789-22.568 1.456-5.768 2.58-12.197 2.58-12.197l-4.973-1.709s-2.408 5.516-7.769 12.275c-4.335 5.467-9.144 11.11-9.455 17.713\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M108.463 105.191s1.747 2.724-2.331 30.535c2.376 2.216 1.053 6.012-.233 7.51\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.085\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M123.262 131.527s-.427 2.732-11.77 1.981c-15.187-1.006-25.326-3.25-25.326-3.25l.933-5.8s.723.215 9.71-.068c11.887-.373 18.714-6.07 24.964-1.022 4.039 3.263 1.489 8.16 1.489 8.16\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M70.24 90.974s-5.593-4.739-11.054 2.68c-3.318 7.223.517 15.284 2.664 19.578-.31 3.729 2.33 4.311 2.33 4.311s.108.895 1.516 2.68c4.078-7.03 6.72-9.166 13.711-12.546-.328-.656-1.877-3.265-1.825-3.767.175-1.69-1.282-2.623-1.282-2.623s-.286-.156-1.165-2.738c-.788-2.313-2.036-5.177-4.895-7.575\"\n fill=\"#FFF\"\n />\n <path\n d=\"M90.232 288.027s4.855 2.308 8.313 1.155c3.188-1.063 5.12.755 8.002 1.331 2.881.577 7.769 1.243 13.207-1.424-.117-6.228-7.786-4.499-13.518-7.588-2.895-1.56-4.276-5.336-4.066-9.944H91.544s-1.573 11.89-1.312 16.47\"\n fill=\"#CBD1D1\"\n />\n <path\n d=\"M90.207 287.833s2.745 1.437 7.639.738c3.456-.494 3.223.66 7.418 1.282 4.195.621 13.092-.194 14.334-1.126.466 1.242-.388 2.33-.388 2.33s-1.709.682-5.438.932c-2.295.154-8.098.276-10.14-.621-2.02-1.554-4.894-1.515-6.06-.234-4.427 1.075-7.184-.31-7.184-.31l-.181-2.991z\"\n fill=\"#2B0849\"\n />\n <path\n d=\"M98.429 272.257h3.496s-.117 7.574 5.127 9.671c-5.244.7-9.672-2.602-8.623-9.671\"\n fill=\"#A4AABA\"\n />\n <path\n d=\"M44.425 272.046s-2.208 7.774-4.702 12.899c-1.884 3.874-4.428 7.854 5.729 7.854 6.97 0 9.385-.503 7.782-6.917-1.604-6.415.279-13.836.279-13.836h-9.088z\"\n fill=\"#CBD1D1\"\n />\n <path\n d=\"M38.066 290.277s2.198 1.225 6.954 1.225c6.376 0 8.646-1.73 8.646-1.73s.63 1.168-.649 2.27c-1.04.897-3.77 1.668-7.745 1.621-4.347-.05-6.115-.593-7.062-1.224-.864-.577-.72-1.657-.144-2.162\"\n fill=\"#2B0849\"\n />\n <path\n d=\"M45.344 274.041s.035 1.592-.329 3.07c-.365 1.49-1.13 3.255-1.184 4.34-.061 1.206 4.755 1.657 5.403.036.65-1.622 1.357-6.737 2.006-7.602.648-.865-5.14-2.222-5.896.156\"\n fill=\"#A4AABA\"\n />\n <path\n d=\"M89.476 277.57l13.899.095s1.349-56.643 1.925-66.909c.576-10.267 3.923-45.052 1.042-65.585l-13.037-.669-23.737.81s-.452 4.12-1.243 10.365c-.065.515-.708.874-.777 1.417-.078.608.439 1.407.332 2.044-2.455 14.627-5.797 32.736-8.256 46.837-.121.693-1.282 1.048-1.515 2.796-.042.314.22 1.584.116 1.865-7.14 19.473-12.202 52.601-15.66 67.19l15.176-.015s2.282-10.145 4.185-18.871c2.922-13.389 24.012-88.32 24.012-88.32l3.133-.954-.158 48.568s-.233 1.282.35 2.098c.583.815-.581 1.167-.408 2.331l.408 1.864s-.466 7.458-.932 12.352c-.467 4.895 1.145 40.69 1.145 40.69\"\n fill=\"#7BB2F9\"\n />\n <path\n d=\"M64.57 218.881c1.197.099 4.195-2.097 7.225-5.127M96.024 222.534s2.881-1.152 6.34-4.034\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.085\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M96.973 219.373s2.882-1.153 6.34-4.034\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.032\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M63.172 222.144s2.724-.614 6.759-3.496M74.903 146.166c-.281 3.226.31 8.856-4.506 9.478M93.182 144.344s.115 14.557-1.344 15.65c-2.305 1.73-3.107 2.02-3.107 2.02M89.197 144.923s.269 13.144-1.01 25.088M83.525 170.71s6.81-1.051 9.116-1.051M46.026 270.045l-.892 4.538M46.937 263.289l-.815 4.157M62.725 202.503c-.33 1.618-.102 1.904-.449 3.438 0 0-2.756 1.903-2.29 3.923.466 2.02-.31 3.424-4.505 17.252-1.762 5.807-4.233 18.922-6.165 28.278-.03.144-.521 2.646-1.14 5.8M64.158 194.136c-.295 1.658-.6 3.31-.917 4.938M71.33 146.787l-1.244 10.877s-1.14.155-.519 2.33c.117 1.399-2.778 16.39-5.382 31.615M44.242 273.727H58.07\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.085\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M106.18 142.117c-3.028-.489-18.825-2.744-36.219.2a.625.625 0 0 0-.518.644c.063 1.307.044 2.343.015 2.995a.617.617 0 0 0 .716.636c3.303-.534 17.037-2.412 35.664-.266.347.04.66-.214.692-.56.124-1.347.16-2.425.17-3.029a.616.616 0 0 0-.52-.62\"\n fill=\"#192064\"\n />\n <path\n d=\"M96.398 145.264l.003-5.102a.843.843 0 0 0-.809-.847 114.104 114.104 0 0 0-8.141-.014.85.85 0 0 0-.82.847l-.003 5.097c0 .476.388.857.864.845 2.478-.064 5.166-.067 8.03.017a.848.848 0 0 0 .876-.843\"\n fill=\"#FFF\"\n />\n <path\n d=\"M95.239 144.296l.002-3.195a.667.667 0 0 0-.643-.672c-1.9-.061-3.941-.073-6.094-.01a.675.675 0 0 0-.654.672l-.002 3.192c0 .376.305.677.68.669 1.859-.042 3.874-.043 6.02.012.376.01.69-.291.691-.668\"\n fill=\"#192064\"\n />\n <path\n d=\"M90.102 273.522h12.819M91.216 269.761c.006 3.519-.072 5.55 0 6.292M90.923 263.474c-.009 1.599-.016 2.558-.016 4.505M90.44 170.404l.932 46.38s.7 1.631-.233 2.796c-.932 1.166 2.564.7.932 2.33-1.63 1.633.933 1.166 0 3.497-.618 1.546-1.031 21.921-1.138 36.513\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.085\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M73.736 98.665l2.214 4.312s2.098.816 1.865 2.68l.816 2.214M64.297 116.611c.233-.932 2.176-7.147 12.585-10.488M77.598 90.042s7.691 6.137 16.547 2.72\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.085\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M91.974 86.954s5.476-.816 7.574-4.545c1.297-.345.72 2.212-.33 3.671-.7.971-1.01 1.554-1.01 1.554s.194.31.155.816c-.053.697-.175.653-.272 1.048-.081.335.108.657 0 1.049-.046.17-.198.5-.382.878-.12.249-.072.687-.2.948-.231.469-1.562 1.87-2.622 2.855-3.826 3.554-5.018 1.644-6.001-.408-.894-1.865-.661-5.127-.874-6.875-.35-2.914-2.622-3.03-1.923-4.429.343-.685 2.87.69 3.263 1.748.757 2.04 2.952 1.807 2.622 1.69\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M99.8 82.429c-.465.077-.35.272-.97 1.243-.622.971-4.817 2.932-6.39 3.224-2.589.48-2.278-1.56-4.254-2.855-1.69-1.107-3.562-.638-1.398 1.398.99.932.932 1.107 1.398 3.205.335 1.506-.64 3.67.7 5.593\"\n stroke=\"#DB836E\"\n strokeWidth=\".774\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M79.543 108.673c-2.1 2.926-4.266 6.175-5.557 8.762\"\n stroke=\"#E59788\"\n strokeWidth=\".774\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M87.72 124.768s-2.098-1.942-5.127-2.719c-3.03-.777-3.574-.155-5.516.078-1.942.233-3.885-.932-3.652.7.233 1.63 5.05 1.01 5.206 2.097.155 1.087-6.37 2.796-8.313 2.175-.777.777.466 1.864 2.02 2.175.233 1.554 2.253 1.554 2.253 1.554s.699 1.01 2.641 1.088c2.486 1.32 8.934-.7 10.954-1.554 2.02-.855-.466-5.594-.466-5.594\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M73.425 122.826s.66 1.127 3.167 1.418c2.315.27 2.563.583 2.563.583s-2.545 2.894-9.07 2.272M72.416 129.274s3.826.097 4.933-.718M74.98 130.75s1.961.136 3.36-.505M77.232 131.916s1.748.019 2.914-.505M73.328 122.321s-.595-1.032 1.262-.427c1.671.544 2.833.055 5.128.155 1.389.061 3.067-.297 3.982.15 1.606.784 3.632 2.181 3.632 2.181s10.526 1.204 19.033-1.127M78.864 108.104s-8.39 2.758-13.168 12.12\"\n stroke=\"#E59788\"\n strokeWidth=\".774\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M109.278 112.533s3.38-3.613 7.575-4.662\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.085\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M107.375 123.006s9.697-2.745 11.445-.88\"\n stroke=\"#E59788\"\n strokeWidth=\".774\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M194.605 83.656l3.971-3.886M187.166 90.933l3.736-3.655M191.752 84.207l-4.462-4.56M198.453 91.057l-4.133-4.225M129.256 163.074l3.718-3.718M122.291 170.039l3.498-3.498M126.561 163.626l-4.27-4.27M132.975 170.039l-3.955-3.955\"\n stroke=\"#BFCDDD\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M190.156 211.779h-1.604a4.023 4.023 0 0 1-4.011-4.011V175.68a4.023 4.023 0 0 1 4.01-4.01h1.605a4.023 4.023 0 0 1 4.011 4.01v32.088a4.023 4.023 0 0 1-4.01 4.01\"\n fill=\"#A3B4C6\"\n />\n <path\n d=\"M237.824 212.977a4.813 4.813 0 0 1-4.813 4.813h-86.636a4.813 4.813 0 0 1 0-9.626h86.636a4.813 4.813 0 0 1 4.813 4.813\"\n fill=\"#A3B4C6\"\n />\n <mask fill=\"#fff\" />\n <path fill=\"#A3B4C6\" mask=\"url(#d)\" d=\"M154.098 190.096h70.513v-84.617h-70.513z\" />\n <path\n d=\"M224.928 190.096H153.78a3.219 3.219 0 0 1-3.208-3.209V167.92a3.219 3.219 0 0 1 3.208-3.21h71.148a3.219 3.219 0 0 1 3.209 3.21v18.967a3.219 3.219 0 0 1-3.21 3.209M224.928 130.832H153.78a3.218 3.218 0 0 1-3.208-3.208v-18.968a3.219 3.219 0 0 1 3.208-3.209h71.148a3.219 3.219 0 0 1 3.209 3.21v18.967a3.218 3.218 0 0 1-3.21 3.208\"\n fill=\"#BFCDDD\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M159.563 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M166.98 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M174.397 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M222.539 120.546h-22.461a.802.802 0 0 1-.802-.802v-3.208c0-.443.359-.803.802-.803h22.46c.444 0 .803.36.803.803v3.208c0 .443-.36.802-.802.802\"\n fill=\"#FFF\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M224.928 160.464H153.78a3.218 3.218 0 0 1-3.208-3.209v-18.967a3.219 3.219 0 0 1 3.208-3.209h71.148a3.219 3.219 0 0 1 3.209 3.209v18.967a3.218 3.218 0 0 1-3.21 3.209\"\n fill=\"#BFCDDD\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M173.455 130.832h49.301M164.984 130.832h6.089M155.952 130.832h6.75M173.837 160.613h49.3M165.365 160.613h6.089M155.57 160.613h6.751\"\n stroke=\"#7C90A5\"\n strokeWidth=\"1.124\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M159.563 151.038a2.407 2.407 0 1 1 0-4.814 2.407 2.407 0 0 1 0 4.814M166.98 151.038a2.407 2.407 0 1 1 0-4.814 2.407 2.407 0 0 1 0 4.814M174.397 151.038a2.407 2.407 0 1 1 .001-4.814 2.407 2.407 0 0 1 0 4.814M222.539 151.038h-22.461a.802.802 0 0 1-.802-.802v-3.209c0-.443.359-.802.802-.802h22.46c.444 0 .803.36.803.802v3.209c0 .443-.36.802-.802.802M159.563 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M166.98 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M174.397 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M222.539 179.987h-22.461a.802.802 0 0 1-.802-.802v-3.209c0-.443.359-.802.802-.802h22.46c.444 0 .803.36.803.802v3.209c0 .443-.36.802-.802.802\"\n fill=\"#FFF\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M203.04 221.108h-27.372a2.413 2.413 0 0 1-2.406-2.407v-11.448a2.414 2.414 0 0 1 2.406-2.407h27.372a2.414 2.414 0 0 1 2.407 2.407V218.7a2.413 2.413 0 0 1-2.407 2.407\"\n fill=\"#BFCDDD\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M177.259 207.217v11.52M201.05 207.217v11.52\"\n stroke=\"#A3B4C6\"\n strokeWidth=\"1.124\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M162.873 267.894a9.422 9.422 0 0 1-9.422-9.422v-14.82a9.423 9.423 0 0 1 18.845 0v14.82a9.423 9.423 0 0 1-9.423 9.422\"\n fill=\"#5BA02E\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M171.22 267.83a9.422 9.422 0 0 1-9.422-9.423v-3.438a9.423 9.423 0 0 1 18.845 0v3.438a9.423 9.423 0 0 1-9.422 9.423\"\n fill=\"#92C110\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M181.31 293.666h-27.712a3.209 3.209 0 0 1-3.209-3.21V269.79a3.209 3.209 0 0 1 3.209-3.21h27.711a3.209 3.209 0 0 1 3.209 3.21v20.668a3.209 3.209 0 0 1-3.209 3.209\"\n fill=\"#F2D7AD\"\n mask=\"url(#d)\"\n />\n </g>\n </svg>\n );\n },\n};\n\nexport default ServerError;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","const Unauthorized = {\n functional: true,\n render() {\n return (\n <svg width=\"251\" height=\"294\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M0 129.023v-2.084C0 58.364 55.591 2.774 124.165 2.774h2.085c68.574 0 124.165 55.59 124.165 124.165v2.084c0 68.575-55.59 124.166-124.165 124.166h-2.085C55.591 253.189 0 197.598 0 129.023\"\n fill=\"#E4EBF7\"\n />\n <path\n d=\"M41.417 132.92a8.231 8.231 0 1 1-16.38-1.65 8.231 8.231 0 0 1 16.38 1.65\"\n fill=\"#FFF\"\n />\n <path\n d=\"M38.652 136.36l10.425 5.91M49.989 148.505l-12.58 10.73\"\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n />\n <path\n d=\"M41.536 161.28a5.636 5.636 0 1 1-11.216-1.13 5.636 5.636 0 0 1 11.216 1.13M59.154 145.261a5.677 5.677 0 1 1-11.297-1.138 5.677 5.677 0 0 1 11.297 1.138M100.36 29.516l29.66-.013a4.562 4.562 0 1 0-.004-9.126l-29.66.013a4.563 4.563 0 0 0 .005 9.126M111.705 47.754l29.659-.013a4.563 4.563 0 1 0-.004-9.126l-29.66.013a4.563 4.563 0 1 0 .005 9.126\"\n fill=\"#FFF\"\n />\n <path\n d=\"M114.066 29.503V29.5l15.698-.007a4.563 4.563 0 1 0 .004 9.126l-15.698.007v-.002a4.562 4.562 0 0 0-.004-9.122M185.405 137.723c-.55 5.455-5.418 9.432-10.873 8.882-5.456-.55-9.432-5.418-8.882-10.873.55-5.455 5.418-9.432 10.873-8.882 5.455.55 9.432 5.418 8.882 10.873\"\n fill=\"#FFF\"\n />\n <path\n d=\"M180.17 143.772l12.572 7.129M193.841 158.42L178.67 171.36\"\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n />\n <path\n d=\"M185.55 171.926a6.798 6.798 0 1 1-13.528-1.363 6.798 6.798 0 0 1 13.527 1.363M204.12 155.285a6.848 6.848 0 1 1-13.627-1.375 6.848 6.848 0 0 1 13.626 1.375\"\n fill=\"#FFF\"\n />\n <path\n d=\"M152.988 194.074a2.21 2.21 0 1 1-4.42 0 2.21 2.21 0 0 1 4.42 0zM225.931 118.217a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.421 0zM217.09 153.051a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.42 0zM177.84 109.842a2.21 2.21 0 1 1-4.422 0 2.21 2.21 0 0 1 4.421 0zM196.114 94.454a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.421 0zM202.844 182.523a2.21 2.21 0 1 1-4.42 0 2.21 2.21 0 0 1 4.42 0z\"\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n />\n <path\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n d=\"M215.125 155.262l-1.902 20.075-10.87 5.958M174.601 176.636l-6.322 9.761H156.98l-4.484 6.449M175.874 127.28V111.56M221.51 119.404l-12.77 7.859-15.228-7.86V96.668\"\n />\n <path\n d=\"M180.68 29.32C180.68 13.128 193.806 0 210 0c16.193 0 29.32 13.127 29.32 29.32 0 16.194-13.127 29.322-29.32 29.322-16.193 0-29.32-13.128-29.32-29.321\"\n fill=\"#A26EF4\"\n />\n <path\n d=\"M221.45 41.706l-21.563-.125a1.744 1.744 0 0 1-1.734-1.754l.071-12.23a1.744 1.744 0 0 1 1.754-1.734l21.562.125c.964.006 1.74.791 1.735 1.755l-.071 12.229a1.744 1.744 0 0 1-1.754 1.734\"\n fill=\"#FFF\"\n />\n <path\n d=\"M215.106 29.192c-.015 2.577-2.049 4.654-4.543 4.64-2.494-.014-4.504-2.115-4.489-4.693l.04-6.925c.016-2.577 2.05-4.654 4.543-4.64 2.494.015 4.504 2.116 4.49 4.693l-.04 6.925zm-4.53-14.074a6.877 6.877 0 0 0-6.916 6.837l-.043 7.368a6.877 6.877 0 0 0 13.754.08l.042-7.368a6.878 6.878 0 0 0-6.837-6.917zM167.566 68.367h-3.93a4.73 4.73 0 0 1-4.717-4.717 4.73 4.73 0 0 1 4.717-4.717h3.93a4.73 4.73 0 0 1 4.717 4.717 4.73 4.73 0 0 1-4.717 4.717\"\n fill=\"#FFF\"\n />\n <path\n d=\"M168.214 248.838a6.611 6.611 0 0 1-6.61-6.611v-66.108a6.611 6.611 0 0 1 13.221 0v66.108a6.611 6.611 0 0 1-6.61 6.61\"\n fill=\"#5BA02E\"\n />\n <path\n d=\"M176.147 248.176a6.611 6.611 0 0 1-6.61-6.61v-33.054a6.611 6.611 0 1 1 13.221 0v33.053a6.611 6.611 0 0 1-6.61 6.611\"\n fill=\"#92C110\"\n />\n <path\n d=\"M185.994 293.89h-27.376a3.17 3.17 0 0 1-3.17-3.17v-45.887a3.17 3.17 0 0 1 3.17-3.17h27.376a3.17 3.17 0 0 1 3.17 3.17v45.886a3.17 3.17 0 0 1-3.17 3.17\"\n fill=\"#F2D7AD\"\n />\n <path\n d=\"M81.972 147.673s6.377-.927 17.566-1.28c11.729-.371 17.57 1.086 17.57 1.086s3.697-3.855.968-8.424c1.278-12.077 5.982-32.827.335-48.273-1.116-1.339-3.743-1.512-7.536-.62-1.337.315-7.147-.149-7.983-.1l-15.311-.347s-3.487-.17-8.035-.508c-1.512-.113-4.227-1.683-5.458-.338-.406.443-2.425 5.669-1.97 16.077l8.635 35.642s-3.141 3.61 1.219 7.085\"\n fill=\"#FFF\"\n />\n <path\n d=\"M75.768 73.325l-.9-6.397 11.982-6.52s7.302-.118 8.038 1.205c.737 1.324-5.616.993-5.616.993s-1.836 1.388-2.615 2.5c-1.654 2.363-.986 6.471-8.318 5.986-1.708.284-2.57 2.233-2.57 2.233\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M52.44 77.672s14.217 9.406 24.973 14.444c1.061.497-2.094 16.183-11.892 11.811-7.436-3.318-20.162-8.44-21.482-14.496-.71-3.258 2.543-7.643 8.401-11.76M141.862 80.113s-6.693 2.999-13.844 6.876c-3.894 2.11-10.137 4.704-12.33 7.988-6.224 9.314 3.536 11.22 12.947 7.503 6.71-2.651 28.999-12.127 13.227-22.367\"\n fill=\"#FFB594\"\n />\n <path\n d=\"M76.166 66.36l3.06 3.881s-2.783 2.67-6.31 5.747c-7.103 6.195-12.803 14.296-15.995 16.44-3.966 2.662-9.754 3.314-12.177-.118-3.553-5.032.464-14.628 31.422-25.95\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M64.674 85.116s-2.34 8.413-8.912 14.447c.652.548 18.586 10.51 22.144 10.056 5.238-.669 6.417-18.968 1.145-20.531-.702-.208-5.901-1.286-8.853-2.167-.87-.26-1.611-1.71-3.545-.936l-1.98-.869zM128.362 85.826s5.318 1.956 7.325 13.734c-.546.274-17.55 12.35-21.829 7.805-6.534-6.94-.766-17.393 4.275-18.61 4.646-1.121 5.03-1.37 10.23-2.929\"\n fill=\"#FFF\"\n />\n <path\n d=\"M78.18 94.656s.911 7.41-4.914 13.078\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M87.397 94.68s3.124 2.572 10.263 2.572c7.14 0 9.074-3.437 9.074-3.437\"\n stroke=\"#E4EBF7\"\n strokeWidth=\".932\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M117.184 68.639l-6.781-6.177s-5.355-4.314-9.223-.893c-3.867 3.422 4.463 2.083 5.653 4.165 1.19 2.082.848 1.143-2.083.446-5.603-1.331-2.082.893 2.975 5.355 2.091 1.845 6.992.955 6.992.955l2.467-3.851z\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M105.282 91.315l-.297-10.937-15.918-.027-.53 10.45c-.026.403.17.788.515.999 2.049 1.251 9.387 5.093 15.799.424.287-.21.443-.554.431-.91\"\n fill=\"#FFB594\"\n />\n <path\n d=\"M107.573 74.24c.817-1.147.982-9.118 1.015-11.928a1.046 1.046 0 0 0-.965-1.055l-4.62-.365c-7.71-1.044-17.071.624-18.253 6.346-5.482 5.813-.421 13.244-.421 13.244s1.963 3.566 4.305 6.791c.756 1.041.398-3.731 3.04-5.929 5.524-4.594 15.899-7.103 15.899-7.103\"\n fill=\"#5C2552\"\n />\n <path\n d=\"M88.426 83.206s2.685 6.202 11.602 6.522c7.82.28 8.973-7.008 7.434-17.505l-.909-5.483c-6.118-2.897-15.478.54-15.478.54s-.576 2.044-.19 5.504c-2.276 2.066-1.824 5.618-1.824 5.618s-.905-1.922-1.98-2.321c-.86-.32-1.897.089-2.322 1.98-1.04 4.632 3.667 5.145 3.667 5.145\"\n fill=\"#FFC6A0\"\n />\n <path\n stroke=\"#DB836E\"\n strokeWidth=\"1.145\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M100.843 77.099l1.701-.928-1.015-4.324.674-1.406\"\n />\n <path\n d=\"M105.546 74.092c-.022.713-.452 1.279-.96 1.263-.51-.016-.904-.607-.882-1.32.021-.713.452-1.278.96-1.263.51.016.904.607.882 1.32M97.592 74.349c-.022.713-.452 1.278-.961 1.263-.509-.016-.904-.607-.882-1.32.022-.713.452-1.279.961-1.263.51.016.904.606.882 1.32\"\n fill=\"#552950\"\n />\n <path\n d=\"M91.132 86.786s5.269 4.957 12.679 2.327\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.145\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M99.776 81.903s-3.592.232-1.44-2.79c1.59-1.496 4.897-.46 4.897-.46s1.156 3.906-3.457 3.25\"\n fill=\"#DB836E\"\n />\n <path\n d=\"M102.88 70.6s2.483.84 3.402.715M93.883 71.975s2.492-1.144 4.778-1.073\"\n stroke=\"#5C2552\"\n strokeWidth=\"1.526\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M86.32 77.374s.961.879 1.458 2.106c-.377.48-1.033 1.152-.236 1.809M99.337 83.719s1.911.151 2.509-.254\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.145\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M87.782 115.821l15.73-3.012M100.165 115.821l10.04-2.008\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M66.508 86.763s-1.598 8.83-6.697 14.078\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.114\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M128.31 87.934s3.013 4.121 4.06 11.785\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M64.09 84.816s-6.03 9.912-13.607 9.903\"\n stroke=\"#DB836E\"\n strokeWidth=\".795\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M112.366 65.909l-.142 5.32s5.993 4.472 11.945 9.202c4.482 3.562 8.888 7.455 10.985 8.662 4.804 2.766 8.9 3.355 11.076 1.808 4.071-2.894 4.373-9.878-8.136-15.263-4.271-1.838-16.144-6.36-25.728-9.73\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M130.532 85.488s4.588 5.757 11.619 6.214\"\n stroke=\"#DB836E\"\n strokeWidth=\".75\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M121.708 105.73s-.393 8.564-1.34 13.612\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M115.784 161.512s-3.57-1.488-2.678-7.14\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M101.52 290.246s4.326 2.057 7.408 1.03c2.842-.948 4.564.673 7.132 1.186 2.57.514 6.925 1.108 11.772-1.269-.104-5.551-6.939-4.01-12.048-6.763-2.582-1.39-3.812-4.757-3.625-8.863h-9.471s-1.402 10.596-1.169 14.68\"\n fill=\"#CBD1D1\"\n />\n <path\n d=\"M101.496 290.073s2.447 1.281 6.809.658c3.081-.44 3.74.485 7.479 1.039 3.739.554 10.802-.07 11.91-.9.415 1.108-.347 2.077-.347 2.077s-1.523.608-4.847.831c-2.045.137-5.843.293-7.663-.507-1.8-1.385-5.286-1.917-5.77-.243-3.947.958-7.41-.288-7.41-.288l-.16-2.667z\"\n fill=\"#2B0849\"\n />\n <path\n d=\"M108.824 276.19h3.116s-.103 6.751 4.57 8.62c-4.673.624-8.62-2.32-7.686-8.62\"\n fill=\"#A4AABA\"\n />\n <path\n d=\"M57.65 272.52s-2.122 7.47-4.518 12.396c-1.811 3.724-4.255 7.548 5.505 7.548 6.698 0 9.02-.483 7.479-6.648-1.541-6.164.268-13.296.268-13.296H57.65z\"\n fill=\"#CBD1D1\"\n />\n <path\n d=\"M51.54 290.04s2.111 1.178 6.682 1.178c6.128 0 8.31-1.662 8.31-1.662s.605 1.122-.624 2.18c-1 .862-3.624 1.603-7.444 1.559-4.177-.049-5.876-.57-6.786-1.177-.831-.554-.692-1.593-.138-2.078\"\n fill=\"#2B0849\"\n />\n <path\n d=\"M58.533 274.438s.034 1.529-.315 2.95c-.352 1.431-1.087 3.127-1.139 4.17-.058 1.16 4.57 1.592 5.194.035.623-1.559 1.303-6.475 1.927-7.306.622-.831-4.94-2.135-5.667.15\"\n fill=\"#A4AABA\"\n />\n <path\n d=\"M100.885 277.015l13.306.092s1.291-54.228 1.843-64.056c.552-9.828 3.756-43.13.997-62.788l-12.48-.64-22.725.776s-.433 3.944-1.19 9.921c-.062.493-.677.838-.744 1.358-.075.582.42 1.347.318 1.956-2.35 14.003-6.343 32.926-8.697 46.425-.116.663-1.227 1.004-1.45 2.677-.04.3.21 1.516.112 1.785-6.836 18.643-10.89 47.584-14.2 61.551l14.528-.014s2.185-8.524 4.008-16.878c2.796-12.817 22.987-84.553 22.987-84.553l3-.517 1.037 46.1s-.223 1.228.334 2.008c.558.782-.556 1.117-.39 2.233l.39 1.784s-.446 7.14-.892 11.826c-.446 4.685-.092 38.954-.092 38.954\"\n fill=\"#7BB2F9\"\n />\n <path\n d=\"M77.438 220.434c1.146.094 4.016-2.008 6.916-4.91M107.55 223.931s2.758-1.103 6.069-3.862\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M108.459 220.905s2.759-1.104 6.07-3.863\"\n stroke=\"#648BD8\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M76.099 223.557s2.608-.587 6.47-3.346M87.33 150.82c-.27 3.088.297 8.478-4.315 9.073M104.829 149.075s.11 13.936-1.286 14.983c-2.207 1.655-2.975 1.934-2.975 1.934M101.014 149.63s.035 12.81-1.19 24.245M94.93 174.965s7.174-1.655 9.38-1.655M75.671 204.754c-.316 1.55-.64 3.067-.973 4.535 0 0-1.45 1.822-1.003 3.756.446 1.934-.943 2.034-4.96 15.273-1.686 5.559-4.464 18.49-6.313 27.447-.078.38-4.018 18.06-4.093 18.423M77.043 196.743a313.269 313.269 0 0 1-.877 4.729M83.908 151.414l-1.19 10.413s-1.091.148-.496 2.23c.111 1.34-2.66 15.692-5.153 30.267M57.58 272.94h13.238\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M117.377 147.423s-16.955-3.087-35.7.199c.157 2.501-.002 4.128-.002 4.128s14.607-2.802 35.476-.31c.251-2.342.226-4.017.226-4.017\"\n fill=\"#192064\"\n />\n <path\n d=\"M107.511 150.353l.004-4.885a.807.807 0 0 0-.774-.81c-2.428-.092-5.04-.108-7.795-.014a.814.814 0 0 0-.784.81l-.003 4.88c0 .456.371.82.827.808a140.76 140.76 0 0 1 7.688.017.81.81 0 0 0 .837-.806\"\n fill=\"#FFF\"\n />\n <path\n d=\"M106.402 149.426l.002-3.06a.64.64 0 0 0-.616-.643 94.135 94.135 0 0 0-5.834-.009.647.647 0 0 0-.626.643l-.001 3.056c0 .36.291.648.651.64 1.78-.04 3.708-.041 5.762.012.36.009.662-.279.662-.64\"\n fill=\"#192064\"\n />\n <path\n d=\"M101.485 273.933h12.272M102.652 269.075c.006 3.368.04 5.759.11 6.47M102.667 263.125c-.009 1.53-.015 2.98-.016 4.313M102.204 174.024l.893 44.402s.669 1.561-.224 2.677c-.892 1.116 2.455.67.893 2.231-1.562 1.562.893 1.116 0 3.347-.592 1.48-.988 20.987-1.09 34.956\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </g>\n </svg>\n );\n },\n};\n\nexport default Unauthorized;\n","import { Row } from '../grid';\nimport Base from '../base';\n\n/* istanbul ignore next */\nRow.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Row.name, Row);\n};\n\nexport default Row;\n","import '../../style/index.less';\n\n// style dependencies\n// deps-lint-skip: grid\nimport '../../grid/style';\n","import warning from '../_util/warning';\nimport omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport { Select as VcSelect, Option, OptGroup } from '../vc-select';\nimport { ConfigConsumerProps } from '../config-provider';\nimport {\n getComponentFromProp,\n getOptionProps,\n filterEmpty,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport Icon from '../icon';\nimport { cloneElement } from '../_util/vnode';\nimport Base from '../base';\n\nconst AbstractSelectProps = () => ({\n prefixCls: PropTypes.string,\n size: PropTypes.oneOf(['small', 'large', 'default']),\n showAction: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(String)]),\n notFoundContent: PropTypes.any,\n transitionName: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n showSearch: PropTypes.bool,\n allowClear: PropTypes.bool,\n disabled: PropTypes.bool,\n tabIndex: PropTypes.number,\n placeholder: PropTypes.any,\n defaultActiveFirstOption: PropTypes.bool,\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.any,\n dropdownMenuStyle: PropTypes.any,\n dropdownMatchSelectWidth: PropTypes.bool,\n // onSearch: (value: string) => any,\n filterOption: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n autoFocus: PropTypes.bool,\n backfill: PropTypes.bool,\n showArrow: PropTypes.bool,\n getPopupContainer: PropTypes.func,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n autoClearSearchValue: PropTypes.bool,\n dropdownRender: PropTypes.func,\n loading: PropTypes.bool,\n});\nconst Value = PropTypes.shape({\n key: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}).loose;\n\nconst SelectValue = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.arrayOf(PropTypes.oneOfType([Value, PropTypes.string, PropTypes.number])),\n Value,\n]);\n\nconst SelectProps = {\n ...AbstractSelectProps(),\n value: SelectValue,\n defaultValue: SelectValue,\n // mode: PropTypes.oneOf(['default', 'multiple', 'tags', 'combobox']),\n mode: PropTypes.string,\n optionLabelProp: PropTypes.string,\n firstActiveValue: PropTypes.oneOfType([String, PropTypes.arrayOf(String)]),\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n maxTagTextLength: PropTypes.number,\n dropdownMatchSelectWidth: PropTypes.bool,\n optionFilterProp: PropTypes.string,\n labelInValue: PropTypes.boolean,\n getPopupContainer: PropTypes.func,\n tokenSeparators: PropTypes.arrayOf(PropTypes.string),\n getInputElement: PropTypes.func,\n options: PropTypes.array,\n suffixIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n clearIcon: PropTypes.any,\n menuItemSelectedIcon: PropTypes.any,\n};\n\nconst SelectPropTypes = {\n prefixCls: PropTypes.string,\n size: PropTypes.oneOf(['default', 'large', 'small']),\n // combobox: PropTypes.bool,\n notFoundContent: PropTypes.any,\n showSearch: PropTypes.bool,\n optionLabelProp: PropTypes.string,\n transitionName: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n};\n\nexport { AbstractSelectProps, SelectValue, SelectProps };\nconst SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';\nconst Select = {\n SECRET_COMBOBOX_MODE_DO_NOT_USE,\n Option: { ...Option, name: 'ASelectOption' },\n OptGroup: { ...OptGroup, name: 'ASelectOptGroup' },\n name: 'ASelect',\n props: {\n ...SelectProps,\n showSearch: PropTypes.bool.def(false),\n transitionName: PropTypes.string.def('slide-up'),\n choiceTransitionName: PropTypes.string.def('zoom'),\n },\n propTypes: SelectPropTypes,\n model: {\n prop: 'value',\n event: 'change',\n },\n provide() {\n return {\n savePopupRef: this.savePopupRef,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n created() {\n warning(\n this.$props.mode !== 'combobox',\n 'Select',\n 'The combobox mode of Select is deprecated,' +\n 'it will be removed in next major version,' +\n 'please use AutoComplete instead',\n );\n },\n methods: {\n getNotFoundContent(renderEmpty) {\n const h = this.$createElement;\n const notFoundContent = getComponentFromProp(this, 'notFoundContent');\n if (notFoundContent !== undefined) {\n return notFoundContent;\n }\n if (this.isCombobox()) {\n return null;\n }\n return renderEmpty(h, 'Select');\n },\n savePopupRef(ref) {\n this.popupRef = ref;\n },\n focus() {\n this.$refs.vcSelect.focus();\n },\n blur() {\n this.$refs.vcSelect.blur();\n },\n\n isCombobox() {\n const { mode } = this;\n return mode === 'combobox' || mode === SECRET_COMBOBOX_MODE_DO_NOT_USE;\n },\n\n renderSuffixIcon(prefixCls) {\n const { loading } = this.$props;\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n if (suffixIcon) {\n return isValidElement(suffixIcon)\n ? cloneElement(suffixIcon, { class: `${prefixCls}-arrow-icon` })\n : suffixIcon;\n }\n if (loading) {\n return <Icon type=\"loading\" />;\n }\n return <Icon type=\"down\" class={`${prefixCls}-arrow-icon`} />;\n },\n },\n render() {\n const {\n prefixCls: customizePrefixCls,\n size,\n mode,\n options,\n getPopupContainer,\n showArrow,\n ...restProps\n } = getOptionProps(this);\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const renderEmpty = this.configProvider.renderEmpty;\n const prefixCls = getPrefixCls('select', customizePrefixCls);\n\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n let removeIcon = getComponentFromProp(this, 'removeIcon');\n removeIcon = Array.isArray(removeIcon) ? removeIcon[0] : removeIcon;\n let clearIcon = getComponentFromProp(this, 'clearIcon');\n clearIcon = Array.isArray(clearIcon) ? clearIcon[0] : clearIcon;\n let menuItemSelectedIcon = getComponentFromProp(this, 'menuItemSelectedIcon');\n menuItemSelectedIcon = Array.isArray(menuItemSelectedIcon)\n ? menuItemSelectedIcon[0]\n : menuItemSelectedIcon;\n const rest = omit(restProps, [\n 'inputIcon',\n 'removeIcon',\n 'clearIcon',\n 'suffixIcon',\n 'menuItemSelectedIcon',\n ]);\n\n const cls = {\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-show-arrow`]: showArrow,\n };\n\n let { optionLabelProp } = this.$props;\n if (this.isCombobox()) {\n // children 带 dom 结构时,无法填入输入框\n optionLabelProp = optionLabelProp || 'value';\n }\n\n const modeConfig = {\n multiple: mode === 'multiple',\n tags: mode === 'tags',\n combobox: this.isCombobox(),\n };\n const finalRemoveIcon = (removeIcon &&\n (isValidElement(removeIcon)\n ? cloneElement(removeIcon, { class: `${prefixCls}-remove-icon` })\n : removeIcon)) || <Icon type=\"close\" class={`${prefixCls}-remove-icon`} />;\n\n const finalClearIcon = (clearIcon &&\n (isValidElement(clearIcon)\n ? cloneElement(clearIcon, { class: `${prefixCls}-clear-icon` })\n : clearIcon)) || (\n <Icon type=\"close-circle\" theme=\"filled\" class={`${prefixCls}-clear-icon`} />\n );\n\n const finalMenuItemSelectedIcon = (menuItemSelectedIcon &&\n (isValidElement(menuItemSelectedIcon)\n ? cloneElement(menuItemSelectedIcon, { class: `${prefixCls}-selected-icon` })\n : menuItemSelectedIcon)) || <Icon type=\"check\" class={`${prefixCls}-selected-icon`} />;\n\n const selectProps = {\n props: {\n inputIcon: this.renderSuffixIcon(prefixCls),\n removeIcon: finalRemoveIcon,\n clearIcon: finalClearIcon,\n menuItemSelectedIcon: finalMenuItemSelectedIcon,\n showArrow,\n ...rest,\n ...modeConfig,\n prefixCls,\n optionLabelProp: optionLabelProp || 'children',\n notFoundContent: this.getNotFoundContent(renderEmpty),\n maxTagPlaceholder: getComponentFromProp(this, 'maxTagPlaceholder'),\n placeholder: getComponentFromProp(this, 'placeholder'),\n children: options\n ? options.map(option => {\n const { key, label = option.title, on, class: cls, style, ...restOption } = option;\n return (\n <Option key={key} {...{ props: restOption, on, class: cls, style }}>\n {label}\n </Option>\n );\n })\n : filterEmpty(this.$slots.default),\n __propsSymbol__: Symbol(),\n dropdownRender: getComponentFromProp(this, 'dropdownRender', {}, false),\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n },\n on: getListeners(this),\n class: cls,\n ref: 'vcSelect',\n };\n return <VcSelect {...selectProps} />;\n },\n};\n\n/* istanbul ignore next */\nSelect.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Select.name, Select);\n Vue.component(Select.Option.name, Select.Option);\n Vue.component(Select.OptGroup.name, Select.OptGroup);\n};\n\nexport default Select;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../empty/style';\n","// extracted by mini-css-extract-plugin","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport { initDefaultProps } from '../_util/props-util';\n\nconst skeletonAvatarProps = {\n prefixCls: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.oneOf(['large', 'small', 'default']), PropTypes.number]),\n shape: PropTypes.oneOf(['circle', 'square']),\n};\n\nexport const SkeletonAvatarProps = PropTypes.shape(skeletonAvatarProps).loose;\n\nconst Avatar = {\n props: initDefaultProps(skeletonAvatarProps, {\n size: 'large',\n }),\n render() {\n const { prefixCls, size, shape } = this.$props;\n\n const sizeCls = classNames({\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n });\n\n const shapeCls = classNames({\n [`${prefixCls}-circle`]: shape === 'circle',\n [`${prefixCls}-square`]: shape === 'square',\n });\n\n const sizeStyle =\n typeof size === 'number'\n ? {\n width: `${size}px`,\n height: `${size}px`,\n lineHeight: `${size}px`,\n }\n : {};\n\n return <span class={classNames(prefixCls, sizeCls, shapeCls)} style={sizeStyle} />;\n },\n};\n\nexport default Avatar;\n","import PropTypes from '../_util/vue-types';\n\nconst widthUnit = PropTypes.oneOfType([PropTypes.number, PropTypes.string]);\n\nconst skeletonParagraphProps = {\n prefixCls: PropTypes.string,\n width: PropTypes.oneOfType([widthUnit, PropTypes.arrayOf(widthUnit)]),\n rows: PropTypes.number,\n};\n\nexport const SkeletonParagraphProps = PropTypes.shape(skeletonParagraphProps);\n\nconst Paragraph = {\n props: skeletonParagraphProps,\n methods: {\n getWidth(index) {\n const { width, rows = 2 } = this;\n if (Array.isArray(width)) {\n return width[index];\n }\n // last paragraph\n if (rows - 1 === index) {\n return width;\n }\n return undefined;\n },\n },\n render() {\n const { prefixCls, rows } = this.$props;\n const rowList = [...Array(rows)].map((_, index) => {\n const width = this.getWidth(index);\n return <li key={index} style={{ width: typeof width === 'number' ? `${width}px` : width }} />;\n });\n return <ul class={prefixCls}>{rowList}</ul>;\n },\n};\n\nexport default Paragraph;\n","import PropTypes from '../_util/vue-types';\n\nconst skeletonTitleProps = {\n prefixCls: PropTypes.string,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n};\n\nexport const SkeletonTitleProps = PropTypes.shape(skeletonTitleProps);\n\nconst Title = {\n props: skeletonTitleProps,\n render() {\n const { prefixCls, width } = this.$props;\n const zWidth = typeof width === 'number' ? `${width}px` : width;\n return <h3 class={prefixCls} style={{ width: zWidth }} />;\n },\n};\n\nexport default Title;\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport { initDefaultProps, hasProp } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Avatar, { SkeletonAvatarProps } from './Avatar';\nimport Title, { SkeletonTitleProps } from './Title';\nimport Paragraph, { SkeletonParagraphProps } from './Paragraph';\nimport Base from '../base';\n\nexport const SkeletonProps = {\n active: PropTypes.bool,\n loading: PropTypes.bool,\n prefixCls: PropTypes.string,\n children: PropTypes.any,\n avatar: PropTypes.oneOfType([PropTypes.string, SkeletonAvatarProps, PropTypes.bool]),\n title: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, SkeletonTitleProps]),\n paragraph: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, SkeletonParagraphProps]),\n};\n\nfunction getComponentProps(prop) {\n if (prop && typeof prop === 'object') {\n return prop;\n }\n return {};\n}\n\nfunction getAvatarBasicProps(hasTitle, hasParagraph) {\n if (hasTitle && !hasParagraph) {\n return { shape: 'square' };\n }\n\n return { shape: 'circle' };\n}\n\nfunction getTitleBasicProps(hasAvatar, hasParagraph) {\n if (!hasAvatar && hasParagraph) {\n return { width: '38%' };\n }\n\n if (hasAvatar && hasParagraph) {\n return { width: '50%' };\n }\n\n return {};\n}\n\nfunction getParagraphBasicProps(hasAvatar, hasTitle) {\n const basicProps = {};\n\n // Width\n if (!hasAvatar || !hasTitle) {\n basicProps.width = '61%';\n }\n\n // Rows\n if (!hasAvatar && hasTitle) {\n basicProps.rows = 3;\n } else {\n basicProps.rows = 2;\n }\n\n return basicProps;\n}\n\nconst Skeleton = {\n name: 'ASkeleton',\n props: initDefaultProps(SkeletonProps, {\n avatar: false,\n title: true,\n paragraph: true,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const {\n prefixCls: customizePrefixCls,\n loading,\n avatar,\n title,\n paragraph,\n active,\n } = this.$props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n\n if (loading || !hasProp(this, 'loading')) {\n const hasAvatar = !!avatar || avatar === '';\n const hasTitle = !!title;\n const hasParagraph = !!paragraph;\n\n // Avatar\n let avatarNode;\n if (hasAvatar) {\n const avatarProps = {\n props: {\n prefixCls: `${prefixCls}-avatar`,\n ...getAvatarBasicProps(hasTitle, hasParagraph),\n ...getComponentProps(avatar),\n },\n };\n\n avatarNode = (\n <div class={`${prefixCls}-header`}>\n <Avatar {...avatarProps} />\n </div>\n );\n }\n\n let contentNode;\n if (hasTitle || hasParagraph) {\n // Title\n let $title;\n if (hasTitle) {\n const titleProps = {\n props: {\n prefixCls: `${prefixCls}-title`,\n ...getTitleBasicProps(hasAvatar, hasParagraph),\n ...getComponentProps(title),\n },\n };\n\n $title = <Title {...titleProps} />;\n }\n\n // Paragraph\n let paragraphNode;\n if (hasParagraph) {\n const paragraphProps = {\n props: {\n prefixCls: `${prefixCls}-paragraph`,\n ...getParagraphBasicProps(hasAvatar, hasTitle),\n ...getComponentProps(paragraph),\n },\n };\n\n paragraphNode = <Paragraph {...paragraphProps} />;\n }\n\n contentNode = (\n <div class={`${prefixCls}-content`}>\n {$title}\n {paragraphNode}\n </div>\n );\n }\n\n const cls = classNames(prefixCls, {\n [`${prefixCls}-with-avatar`]: hasAvatar,\n [`${prefixCls}-active`]: active,\n });\n\n return (\n <div class={cls}>\n {avatarNode}\n {contentNode}\n </div>\n );\n }\n const children = this.$slots.default;\n return children && children.length === 1 ? children[0] : <span>{children}</span>;\n },\n};\n/* istanbul ignore next */\nSkeleton.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Skeleton.name, Skeleton);\n};\nexport default Skeleton;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nimport VcSlider from '../vc-slider/src/Slider';\nimport VcRange from '../vc-slider/src/Range';\nimport VcHandle from '../vc-slider/src/Handle';\nimport Tooltip from '../tooltip';\nimport Base from '../base';\nimport { ConfigConsumerProps } from '../config-provider';\nimport abstractTooltipProps from '../tooltip/abstractTooltipProps';\n\n// export interface SliderMarks {\n// [key]: React.ReactNode | {\n// style: React.CSSProperties,\n// label: React.ReactNode,\n// };\n// }\n// const SliderMarks = PropTypes.shape({\n// style: PropTypes.object,\n// label: PropTypes.any,\n// }).loose\nconst tooltipProps = abstractTooltipProps();\nexport const SliderProps = () => ({\n prefixCls: PropTypes.string,\n tooltipPrefixCls: PropTypes.string,\n range: PropTypes.bool,\n reverse: PropTypes.bool,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.oneOfType([PropTypes.number, PropTypes.any]),\n marks: PropTypes.object,\n dots: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),\n defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),\n included: PropTypes.bool,\n disabled: PropTypes.bool,\n vertical: PropTypes.bool,\n tipFormatter: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n tooltipVisible: PropTypes.bool,\n tooltipPlacement: tooltipProps.placement,\n getTooltipPopupContainer: PropTypes.func,\n});\n\nconst Slider = {\n name: 'ASlider',\n model: {\n prop: 'value',\n event: 'change',\n },\n mixins: [BaseMixin],\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n props: {\n ...SliderProps(),\n tipFormatter: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).def(value =>\n value.toString(),\n ),\n },\n data() {\n return {\n visibles: {},\n };\n },\n methods: {\n toggleTooltipVisible(index, visible) {\n this.setState(({ visibles }) => ({\n visibles: {\n ...visibles,\n [index]: visible,\n },\n }));\n },\n handleWithTooltip(\n tooltipPrefixCls,\n prefixCls,\n { value, dragging, index, directives, on, ...restProps },\n ) {\n const {\n tipFormatter,\n tooltipVisible,\n tooltipPlacement,\n getTooltipPopupContainer,\n } = this.$props;\n const { visibles } = this;\n const isTipFormatter = tipFormatter ? visibles[index] || dragging : false;\n const visible = tooltipVisible || (tooltipVisible === undefined && isTipFormatter);\n const tooltipProps = {\n props: {\n prefixCls: tooltipPrefixCls,\n title: tipFormatter ? tipFormatter(value) : '',\n visible,\n placement: tooltipPlacement || 'top',\n transitionName: 'zoom-down',\n overlayClassName: `${prefixCls}-tooltip`,\n getPopupContainer: getTooltipPopupContainer || (() => document.body),\n },\n key: index,\n };\n const handleProps = {\n props: {\n value,\n ...restProps,\n },\n directives,\n on: {\n ...on,\n mouseenter: () => this.toggleTooltipVisible(index, true),\n mouseleave: () => this.toggleTooltipVisible(index, false),\n },\n };\n return (\n <Tooltip {...tooltipProps}>\n <VcHandle {...handleProps} />\n </Tooltip>\n );\n },\n focus() {\n this.$refs.sliderRef.focus();\n },\n blur() {\n this.$refs.sliderRef.blur();\n },\n },\n render() {\n const {\n range,\n prefixCls: customizePrefixCls,\n tooltipPrefixCls: customizeTooltipPrefixCls,\n ...restProps\n } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('slider', customizePrefixCls);\n const tooltipPrefixCls = getPrefixCls('tooltip', customizeTooltipPrefixCls);\n const listeners = getListeners(this);\n if (range) {\n const vcRangeProps = {\n props: {\n ...restProps,\n prefixCls,\n tooltipPrefixCls,\n handle: info => this.handleWithTooltip(tooltipPrefixCls, prefixCls, info),\n },\n ref: 'sliderRef',\n on: listeners,\n };\n return <VcRange {...vcRangeProps} />;\n }\n const vcSliderProps = {\n props: {\n ...restProps,\n prefixCls,\n tooltipPrefixCls,\n handle: info => this.handleWithTooltip(tooltipPrefixCls, prefixCls, info),\n },\n ref: 'sliderRef',\n on: listeners,\n };\n return <VcSlider {...vcSliderProps} />;\n },\n};\n\n/* istanbul ignore next */\nSlider.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Slider.name, Slider);\n};\n\nexport default Slider;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../tooltip/style';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport { filterEmpty, initDefaultProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\n\nexport const SpaceSizeType = PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOf(['small', 'middle', 'large']),\n]);\n\nconst spaceSize = {\n small: 8,\n middle: 16,\n large: 24,\n};\n\nexport const SpaceProps = {\n prefixCls: PropTypes.string,\n size: SpaceSizeType,\n direction: PropTypes.oneOf(['horizontal', 'vertical']),\n align: PropTypes.oneOf(['start', 'end', 'center', 'baseline']),\n};\n\nconst Space = {\n functional: true,\n name: 'ASpace',\n props: initDefaultProps(SpaceProps, {\n size: 'small',\n direction: 'horizontal',\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render(h, content) {\n const {\n prefixCls: customizePrefixCls,\n injections: { configProvider },\n children,\n } = content;\n const { align, size, direction } = content.props;\n\n const getPrefixCls = configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('space', customizePrefixCls);\n const items = filterEmpty(children);\n const len = items.length;\n\n if (len === 0) {\n return null;\n }\n\n const mergedAlign = align === undefined && direction === 'horizontal' ? 'center' : align;\n\n const someSpaceClass = [\n {\n [prefixCls]: true,\n [`${prefixCls}-${direction}`]: true,\n // [`${prefixCls}-rtl`]: directionConfig === 'rtl',\n [`${prefixCls}-align-${mergedAlign}`]: mergedAlign,\n },\n ];\n\n if (content.data.class) {\n someSpaceClass.push(content.data.class);\n }\n\n const itemClassName = `${prefixCls}-item`;\n const marginDirection = 'marginRight'; // directionConfig === 'rtl' ? 'marginLeft' : 'marginRight';\n\n return (\n <div {...content.data} class={someSpaceClass}>\n {items.map((child, i) => (\n <div\n class={itemClassName}\n key={`${itemClassName}-${i}`}\n style={\n i === len - 1\n ? {}\n : {\n [direction === 'vertical' ? 'marginBottom' : marginDirection]:\n typeof size === 'string' ? `${spaceSize[size]}px` : `${size}px`,\n }\n }\n >\n {child}\n </div>\n ))}\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nSpace.install = function(Vue) {\n Vue.component(Space.name, Space);\n};\nexport default Space;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import debounce from 'lodash/debounce';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport {\n filterEmpty,\n initDefaultProps,\n isValidElement,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport { ConfigConsumerProps } from '../config-provider';\n\nexport const SpinSize = PropTypes.oneOf(['small', 'default', 'large']);\n\nexport const SpinProps = () => ({\n prefixCls: PropTypes.string,\n spinning: PropTypes.bool,\n size: SpinSize,\n wrapperClassName: PropTypes.string,\n tip: PropTypes.string,\n delay: PropTypes.number,\n indicator: PropTypes.any,\n});\n\n// Render indicator\nlet defaultIndicator;\n\nfunction shouldDelay(spinning, delay) {\n return !!spinning && !!delay && !isNaN(Number(delay));\n}\n\nexport function setDefaultIndicator(Content) {\n defaultIndicator =\n typeof Content.indicator === 'function'\n ? Content.indicator\n : h => {\n return <Content.indicator />;\n };\n}\n\nexport default {\n name: 'ASpin',\n mixins: [BaseMixin],\n props: initDefaultProps(SpinProps(), {\n size: 'default',\n spinning: true,\n wrapperClassName: '',\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const { spinning, delay } = this;\n const shouldBeDelayed = shouldDelay(spinning, delay);\n this.originalUpdateSpinning = this.updateSpinning;\n this.debouncifyUpdateSpinning(this.$props);\n return {\n sSpinning: spinning && !shouldBeDelayed,\n };\n },\n mounted() {\n this.updateSpinning();\n },\n updated() {\n this.$nextTick(() => {\n this.debouncifyUpdateSpinning();\n this.updateSpinning();\n });\n },\n beforeDestroy() {\n this.cancelExistingSpin();\n },\n methods: {\n debouncifyUpdateSpinning(props) {\n const { delay } = props || this.$props;\n if (delay) {\n this.cancelExistingSpin();\n this.updateSpinning = debounce(this.originalUpdateSpinning, delay);\n }\n },\n updateSpinning() {\n const { spinning, sSpinning } = this;\n if (sSpinning !== spinning) {\n this.setState({ sSpinning: spinning });\n }\n },\n cancelExistingSpin() {\n const { updateSpinning } = this;\n if (updateSpinning && updateSpinning.cancel) {\n updateSpinning.cancel();\n }\n },\n getChildren() {\n if (this.$slots && this.$slots.default) {\n return filterEmpty(this.$slots.default);\n }\n return null;\n },\n renderIndicator(h, prefixCls) {\n // const h = this.$createElement\n const dotClassName = `${prefixCls}-dot`;\n let indicator = getComponentFromProp(this, 'indicator');\n // should not be render default indicator when indicator value is null\n if (indicator === null) {\n return null;\n }\n if (Array.isArray(indicator)) {\n indicator = filterEmpty(indicator);\n indicator = indicator.length === 1 ? indicator[0] : indicator;\n }\n if (isValidElement(indicator)) {\n return cloneElement(indicator, { class: dotClassName });\n }\n\n if (defaultIndicator && isValidElement(defaultIndicator(h))) {\n return cloneElement(defaultIndicator(h), { class: dotClassName });\n }\n\n return (\n <span class={`${dotClassName} ${prefixCls}-dot-spin`}>\n <i class={`${prefixCls}-dot-item`} />\n <i class={`${prefixCls}-dot-item`} />\n <i class={`${prefixCls}-dot-item`} />\n <i class={`${prefixCls}-dot-item`} />\n </span>\n );\n },\n },\n render(h) {\n const {\n size,\n prefixCls: customizePrefixCls,\n tip,\n wrapperClassName,\n ...restProps\n } = this.$props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('spin', customizePrefixCls);\n\n const { sSpinning } = this;\n const spinClassName = {\n [prefixCls]: true,\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-spinning`]: sSpinning,\n [`${prefixCls}-show-text`]: !!tip,\n };\n\n const spinElement = (\n <div {...restProps} class={spinClassName}>\n {this.renderIndicator(h, prefixCls)}\n {tip ? <div class={`${prefixCls}-text`}>{tip}</div> : null}\n </div>\n );\n const children = this.getChildren();\n if (children) {\n const containerClassName = {\n [`${prefixCls}-container`]: true,\n [`${prefixCls}-blur`]: sSpinning,\n };\n\n return (\n <div\n {...{ on: getListeners(this) }}\n class={[`${prefixCls}-nested-loading`, wrapperClassName]}\n >\n {sSpinning && <div key=\"loading\">{spinElement}</div>}\n <div class={containerClassName} key=\"container\">\n {children}\n </div>\n </div>\n );\n }\n return spinElement;\n },\n};\n","import Spin, { setDefaultIndicator } from './Spin';\nimport Base from '../base';\n\nexport { SpinProps } from './Spin';\n\nSpin.setDefaultIndicator = setDefaultIndicator;\n\n/* istanbul ignore next */\nSpin.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Spin.name, Spin);\n};\n\nexport default Spin;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import * as moment from 'moment';\nimport interopDefault from '../_util/interopDefault';\nimport { initDefaultProps, getListeners } from '../_util/props-util';\nimport Statistic, { StatisticProps } from './Statistic';\nimport { formatCountdown } from './utils';\n\nconst REFRESH_INTERVAL = 1000 / 30;\n\nfunction getTime(value) {\n return interopDefault(moment)(value).valueOf();\n}\n\nexport default {\n name: 'AStatisticCountdown',\n props: initDefaultProps(StatisticProps, {\n format: 'HH:mm:ss',\n }),\n\n created() {\n this.countdownId = undefined;\n },\n\n mounted() {\n this.syncTimer();\n },\n\n updated() {\n this.syncTimer();\n },\n\n beforeDestroy() {\n this.stopTimer();\n },\n\n methods: {\n syncTimer() {\n const { value } = this.$props;\n const timestamp = getTime(value);\n if (timestamp >= Date.now()) {\n this.startTimer();\n } else {\n this.stopTimer();\n }\n },\n\n startTimer() {\n if (this.countdownId) return;\n this.countdownId = window.setInterval(() => {\n this.$refs.statistic.$forceUpdate();\n this.syncTimer();\n }, REFRESH_INTERVAL);\n },\n\n stopTimer() {\n const { value } = this.$props;\n if (this.countdownId) {\n clearInterval(this.countdownId);\n this.countdownId = undefined;\n\n const timestamp = getTime(value);\n if (timestamp < Date.now()) {\n this.$emit('finish');\n }\n }\n },\n\n formatCountdown({ value, config }) {\n const { format } = this.$props;\n return formatCountdown(value, { ...config, format });\n },\n\n valueRenderHtml: node => node,\n },\n\n render() {\n return (\n <Statistic\n ref=\"statistic\"\n {...{\n props: {\n ...this.$props,\n valueRender: this.valueRenderHtml,\n formatter: this.formatCountdown,\n },\n on: getListeners(this),\n }}\n />\n );\n },\n};\n","import padEnd from 'lodash/padEnd';\n\nexport default {\n name: 'AStatisticNumber',\n functional: true,\n render(h, context) {\n const {\n value,\n formatter,\n precision,\n decimalSeparator,\n groupSeparator = '',\n prefixCls,\n } = context.props;\n let valueNode;\n\n if (typeof formatter === 'function') {\n // Customize formatter\n valueNode = formatter({ value, h });\n } else {\n // Internal formatter\n const val = String(value);\n const cells = val.match(/^(-?)(\\d*)(\\.(\\d+))?$/);\n // Process if illegal number\n if (!cells) {\n valueNode = val;\n } else {\n const negative = cells[1];\n let int = cells[2] || '0';\n let decimal = cells[4] || '';\n\n int = int.replace(/\\B(?=(\\d{3})+(?!\\d))/g, groupSeparator);\n if (typeof precision === 'number') {\n decimal = padEnd(decimal, precision, '0').slice(0, precision);\n }\n\n if (decimal) {\n decimal = `${decimalSeparator}${decimal}`;\n }\n\n valueNode = [\n <span key=\"int\" class={`${prefixCls}-content-value-int`}>\n {negative}\n {int}\n </span>,\n decimal && (\n <span key=\"decimal\" class={`${prefixCls}-content-value-decimal`}>\n {decimal}\n </span>\n ),\n ];\n }\n }\n\n return <span class={`${prefixCls}-content-value`}>{valueNode}</span>;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { getComponentFromProp, initDefaultProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport StatisticNumber from './Number';\n\nexport const StatisticProps = {\n prefixCls: PropTypes.string,\n decimalSeparator: PropTypes.string,\n groupSeparator: PropTypes.string,\n format: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]),\n valueStyle: PropTypes.any,\n valueRender: PropTypes.any,\n formatter: PropTypes.any,\n precision: PropTypes.number,\n prefix: PropTypes.any,\n suffix: PropTypes.any,\n title: PropTypes.any,\n};\n\nexport default {\n name: 'AStatistic',\n props: initDefaultProps(StatisticProps, {\n decimalSeparator: '.',\n groupSeparator: ',',\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, value = 0, valueStyle, valueRender } = this.$props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('statistic', customizePrefixCls);\n\n const title = getComponentFromProp(this, 'title');\n let prefix = getComponentFromProp(this, 'prefix');\n let suffix = getComponentFromProp(this, 'suffix');\n const formatter = getComponentFromProp(this, 'formatter', {}, false);\n let valueNode = (\n <StatisticNumber {...{ props: { ...this.$props, prefixCls, value, formatter } }} />\n );\n if (valueRender) {\n valueNode = valueRender(valueNode);\n }\n\n return (\n <div class={prefixCls}>\n {title && <div class={`${prefixCls}-title`}>{title}</div>}\n <div style={valueStyle} class={`${prefixCls}-content`}>\n {prefix && <span class={`${prefixCls}-content-prefix`}>{prefix}</span>}\n {valueNode}\n {suffix && <span class={`${prefixCls}-content-suffix`}>{suffix}</span>}\n </div>\n </div>\n );\n },\n};\n","import Statistic from './Statistic';\nimport Countdown from './Countdown';\nimport Base from '../base';\n\nStatistic.Countdown = Countdown;\n/* istanbul ignore next */\nStatistic.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Statistic.name, Statistic);\n Vue.component(Statistic.Countdown.name, Statistic.Countdown);\n};\n\nexport default Statistic;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import * as moment from 'moment';\nimport padStart from 'lodash/padStart';\n\nimport interopDefault from '../_util/interopDefault';\n\n// Countdown\nconst timeUnits = [\n ['Y', 1000 * 60 * 60 * 24 * 365], // years\n ['M', 1000 * 60 * 60 * 24 * 30], // months\n ['D', 1000 * 60 * 60 * 24], // days\n ['H', 1000 * 60 * 60], // hours\n ['m', 1000 * 60], // minutes\n ['s', 1000], // seconds\n ['S', 1], // million seconds\n];\n\nexport function formatTimeStr(duration, format) {\n let leftDuration = duration;\n\n const escapeRegex = /\\[[^\\]]*\\]/g;\n const keepList = (format.match(escapeRegex) || []).map(str => str.slice(1, -1));\n const templateText = format.replace(escapeRegex, '[]');\n\n const replacedText = timeUnits.reduce((current, [name, unit]) => {\n if (current.indexOf(name) !== -1) {\n const value = Math.floor(leftDuration / unit);\n leftDuration -= value * unit;\n return current.replace(new RegExp(`${name}+`, 'g'), match => {\n const len = match.length;\n return padStart(value.toString(), len, '0');\n });\n }\n return current;\n }, templateText);\n\n let index = 0;\n return replacedText.replace(escapeRegex, () => {\n const match = keepList[index];\n index += 1;\n return match;\n });\n}\n\nexport function formatCountdown(value, config) {\n const { format = '' } = config;\n const target = interopDefault(moment)(value).valueOf();\n const current = interopDefault(moment)().valueOf();\n const diff = Math.max(target - current, 0);\n return formatTimeStr(diff, format);\n}\n","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getOptionProps, getListeners } from '../_util/props-util';\nimport VcSteps from '../vc-steps';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Base from '../base';\n\nconst getStepsProps = (defaultProps = {}) => {\n const props = {\n prefixCls: PropTypes.string,\n iconPrefix: PropTypes.string,\n current: PropTypes.number,\n initial: PropTypes.number,\n labelPlacement: PropTypes.oneOf(['horizontal', 'vertical']).def('horizontal'),\n status: PropTypes.oneOf(['wait', 'process', 'finish', 'error']),\n size: PropTypes.oneOf(['default', 'small']),\n direction: PropTypes.oneOf(['horizontal', 'vertical']),\n progressDot: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n type: PropTypes.oneOf(['default', 'navigation']),\n };\n return initDefaultProps(props, defaultProps);\n};\n\nconst Steps = {\n name: 'ASteps',\n props: getStepsProps({\n current: 0,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n model: {\n prop: 'current',\n event: 'change',\n },\n Step: { ...VcSteps.Step, name: 'AStep' },\n render() {\n const props = getOptionProps(this);\n const { prefixCls: customizePrefixCls, iconPrefix: customizeIconPrefixCls } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('steps', customizePrefixCls);\n const iconPrefix = getPrefixCls('', customizeIconPrefixCls);\n\n const icons = {\n finish: <Icon type=\"check\" class={`${prefixCls}-finish-icon`} />,\n error: <Icon type=\"close\" class={`${prefixCls}-error-icon`} />,\n };\n const stepsProps = {\n props: {\n icons,\n iconPrefix,\n prefixCls,\n ...props,\n },\n on: getListeners(this),\n scopedSlots: this.$scopedSlots,\n };\n return <VcSteps {...stepsProps}>{this.$slots.default}</VcSteps>;\n },\n};\n\n/* istanbul ignore next */\nSteps.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Steps.name, Steps);\n Vue.component(Steps.Step.name, Steps.Step);\n};\n\nexport default Steps;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport hasProp, { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport VcSwitch from '../vc-switch';\nimport Wave from '../_util/wave';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Base from '../base';\nimport warning from '../_util/warning';\n\nconst Switch = {\n name: 'ASwitch',\n __ANT_SWITCH: true,\n model: {\n prop: 'checked',\n event: 'change',\n },\n props: {\n prefixCls: PropTypes.string,\n // size=default and size=large are the same\n size: PropTypes.oneOf(['small', 'default', 'large']),\n disabled: PropTypes.bool,\n checkedChildren: PropTypes.any,\n unCheckedChildren: PropTypes.any,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n autoFocus: PropTypes.bool,\n loading: PropTypes.bool,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n focus() {\n this.$refs.refSwitchNode.focus();\n },\n blur() {\n this.$refs.refSwitchNode.blur();\n },\n },\n created() {\n warning(\n hasProp(this, 'checked') || !hasProp(this, 'value'),\n 'Switch',\n '`value` is not validate prop, do you mean `checked`?',\n );\n },\n\n render() {\n const { prefixCls: customizePrefixCls, size, loading, disabled, ...restProps } = getOptionProps(\n this,\n );\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('switch', customizePrefixCls);\n\n const classes = {\n [`${prefixCls}-small`]: size === 'small',\n [`${prefixCls}-loading`]: loading,\n };\n const loadingIcon = loading ? (\n <Icon type=\"loading\" class={`${prefixCls}-loading-icon`} />\n ) : null;\n const switchProps = {\n props: {\n ...restProps,\n prefixCls,\n loadingIcon,\n checkedChildren: getComponentFromProp(this, 'checkedChildren'),\n unCheckedChildren: getComponentFromProp(this, 'unCheckedChildren'),\n disabled: disabled || loading,\n },\n on: getListeners(this),\n class: classes,\n ref: 'refSwitchNode',\n };\n return (\n <Wave insertExtraNode>\n <VcSwitch {...switchProps} />\n </Wave>\n );\n },\n};\n\n/* istanbul ignore next */\nSwitch.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Switch.name, Switch);\n};\n\nexport default Switch;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import { ColumnProps } from './interface';\n\nexport default {\n name: 'ATableColumn',\n props: ColumnProps,\n};\n","import PropTypes from '../_util/vue-types';\n\nexport default {\n name: 'ATableColumnGroup',\n props: {\n title: PropTypes.any,\n },\n __ANT_TABLE_COLUMN_GROUP: true,\n};\n","export default {\n name: 'FilterDropdownMenuWrapper',\n methods: {\n handelClick(e) {\n e.stopPropagation();\n //this.$emit('click', e);\n },\n },\n render() {\n const { $slots, handelClick } = this;\n return <div onClick={handelClick}>{$slots.default}</div>;\n },\n};\n","import Checkbox from '../checkbox';\nimport Radio from '../radio';\nimport { SelectionBoxProps } from './interface';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps, getListeners } from '../_util/props-util';\n\nexport default {\n name: 'SelectionBox',\n mixins: [BaseMixin],\n props: SelectionBoxProps,\n data() {\n return {\n checked: this.getCheckState(this.$props),\n };\n },\n\n mounted() {\n this.subscribe();\n },\n\n beforeDestroy() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n },\n methods: {\n getCheckState(props) {\n const { store, defaultSelection, rowIndex } = props;\n let checked = false;\n if (store.getState().selectionDirty) {\n checked = store.getState().selectedRowKeys.indexOf(rowIndex) >= 0;\n } else {\n checked =\n store.getState().selectedRowKeys.indexOf(rowIndex) >= 0 ||\n defaultSelection.indexOf(rowIndex) >= 0;\n }\n return checked;\n },\n subscribe() {\n const { store } = this;\n this.unsubscribe = store.subscribe(() => {\n const checked = this.getCheckState(this.$props);\n this.setState({ checked });\n });\n },\n },\n\n render() {\n const { type, rowIndex, ...rest } = getOptionProps(this);\n const { checked } = this;\n const checkboxProps = {\n props: {\n checked,\n ...rest,\n },\n on: getListeners(this),\n };\n if (type === 'radio') {\n checkboxProps.props.value = rowIndex;\n return <Radio {...checkboxProps} />;\n }\n return <Checkbox {...checkboxProps} />;\n },\n};\n","import Checkbox from '../checkbox';\nimport Dropdown from '../dropdown';\nimport Menu from '../menu';\nimport Icon from '../icon';\nimport classNames from 'classnames';\nimport { SelectionCheckboxAllProps } from './interface';\nimport BaseMixin from '../_util/BaseMixin';\n\nfunction checkSelection({\n store,\n getCheckboxPropsByItem,\n getRecordKey,\n data,\n type,\n byDefaultChecked,\n}) {\n return byDefaultChecked\n ? data[type]((item, i) => getCheckboxPropsByItem(item, i).defaultChecked)\n : data[type]((item, i) => store.getState().selectedRowKeys.indexOf(getRecordKey(item, i)) >= 0);\n}\n\nfunction getIndeterminateState(props) {\n const { store, data } = props;\n if (!data.length) {\n return false;\n }\n\n const someCheckedNotByDefaultChecked =\n checkSelection({\n ...props,\n data,\n type: 'some',\n byDefaultChecked: false,\n }) &&\n !checkSelection({\n ...props,\n data,\n type: 'every',\n byDefaultChecked: false,\n });\n const someCheckedByDefaultChecked =\n checkSelection({\n ...props,\n data,\n type: 'some',\n byDefaultChecked: true,\n }) &&\n !checkSelection({\n ...props,\n data,\n type: 'every',\n byDefaultChecked: true,\n });\n\n if (store.getState().selectionDirty) {\n return someCheckedNotByDefaultChecked;\n }\n return someCheckedNotByDefaultChecked || someCheckedByDefaultChecked;\n}\n\nfunction getCheckState(props) {\n const { store, data } = props;\n if (!data.length) {\n return false;\n }\n if (store.getState().selectionDirty) {\n return checkSelection({\n ...props,\n data,\n type: 'every',\n byDefaultChecked: false,\n });\n }\n return (\n checkSelection({\n ...props,\n data,\n type: 'every',\n byDefaultChecked: false,\n }) ||\n checkSelection({\n ...props,\n data,\n type: 'every',\n byDefaultChecked: true,\n })\n );\n}\n\nexport default {\n name: 'SelectionCheckboxAll',\n mixins: [BaseMixin],\n props: SelectionCheckboxAllProps,\n data() {\n const { $props: props } = this;\n this.defaultSelections = props.hideDefaultSelections\n ? []\n : [\n {\n key: 'all',\n text: props.locale.selectAll,\n },\n {\n key: 'invert',\n text: props.locale.selectInvert,\n },\n ];\n\n return {\n checked: getCheckState(props),\n indeterminate: getIndeterminateState(props),\n };\n },\n\n watch: {\n $props: {\n handler() {\n this.setCheckState(this.$props);\n },\n deep: true,\n },\n },\n\n mounted() {\n this.subscribe();\n },\n\n beforeDestroy() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n },\n methods: {\n checkSelection(props, data, type, byDefaultChecked) {\n const { store, getCheckboxPropsByItem, getRecordKey } = props || this.$props;\n // type should be 'every' | 'some'\n if (type === 'every' || type === 'some') {\n return byDefaultChecked\n ? data[type]((item, i) => getCheckboxPropsByItem(item, i).props.defaultChecked)\n : data[type](\n (item, i) => store.getState().selectedRowKeys.indexOf(getRecordKey(item, i)) >= 0,\n );\n }\n return false;\n },\n\n setCheckState(props) {\n const checked = getCheckState(props);\n const indeterminate = getIndeterminateState(props);\n this.setState(prevState => {\n const newState = {};\n if (indeterminate !== prevState.indeterminate) {\n newState.indeterminate = indeterminate;\n }\n if (checked !== prevState.checked) {\n newState.checked = checked;\n }\n return newState;\n });\n },\n\n handleSelectAllChange(e) {\n const { checked } = e.target;\n this.$emit('select', checked ? 'all' : 'removeAll', 0, null);\n },\n subscribe() {\n const { store } = this;\n this.unsubscribe = store.subscribe(() => {\n this.setCheckState(this.$props);\n });\n },\n\n renderMenus(selections) {\n return selections.map((selection, index) => {\n return (\n <Menu.Item key={selection.key || index}>\n <div\n onClick={() => {\n this.$emit('select', selection.key, index, selection.onSelect);\n }}\n >\n {selection.text}\n </div>\n </Menu.Item>\n );\n });\n },\n },\n\n render() {\n const { disabled, prefixCls, selections, getPopupContainer, checked, indeterminate } = this;\n\n const selectionPrefixCls = `${prefixCls}-selection`;\n\n let customSelections = null;\n\n if (selections) {\n const newSelections = Array.isArray(selections)\n ? this.defaultSelections.concat(selections)\n : this.defaultSelections;\n\n const menu = (\n <Menu class={`${selectionPrefixCls}-menu`} selectedKeys={[]}>\n {this.renderMenus(newSelections)}\n </Menu>\n );\n\n customSelections =\n newSelections.length > 0 ? (\n <Dropdown getPopupContainer={getPopupContainer}>\n <template slot=\"overlay\">{menu}</template>\n <div class={`${selectionPrefixCls}-down`}>\n <Icon type=\"down\" />\n </div>\n </Dropdown>\n ) : null;\n }\n\n return (\n <div class={selectionPrefixCls}>\n <Checkbox\n class={classNames({ [`${selectionPrefixCls}-select-all-custom`]: customSelections })}\n checked={checked}\n indeterminate={indeterminate}\n disabled={disabled}\n onChange={this.handleSelectAllChange}\n />\n {customSelections}\n </div>\n );\n },\n};\n","import VcTable, { INTERNAL_COL_DEFINE } from '../vc-table';\nimport classNames from 'classnames';\nimport shallowEqual from 'shallowequal';\nimport FilterDropdown from './filterDropdown';\nimport createStore from './createStore';\nimport SelectionBox from './SelectionBox';\nimport SelectionCheckboxAll from './SelectionCheckboxAll';\nimport Column from './Column';\nimport ColumnGroup from './ColumnGroup';\nimport createBodyRow from './createBodyRow';\nimport { flatArray, treeMap, flatFilter } from './util';\nimport { initDefaultProps, mergeProps, getOptionProps, getListeners } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider';\nimport { TableProps } from './interface';\nimport Pagination from '../pagination';\nimport Icon from '../icon';\nimport Spin from '../spin';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\nimport warning from '../_util/warning';\nimport scrollTo from '../_util/scrollTo';\nimport TransButton from '../_util/transButton';\n\nfunction noop() {}\n\nfunction stopPropagation(e) {\n e.stopPropagation();\n}\n\nfunction getRowSelection(props) {\n return props.rowSelection || {};\n}\n\nfunction getColumnKey(column, index) {\n return column.key || column.dataIndex || index;\n}\n\nfunction isSameColumn(a, b) {\n if (a && b && a.key && a.key === b.key) {\n return true;\n }\n return (\n a === b ||\n shallowEqual(a, b, (value, other) => {\n // https://github.com/ant-design/ant-design/issues/12737\n if (typeof value === 'function' && typeof other === 'function') {\n return value === other || value.toString() === other.toString();\n }\n // https://github.com/ant-design/ant-design/issues/19398\n if (Array.isArray(value) && Array.isArray(other)) {\n return value === other || shallowEqual(value, other);\n }\n })\n );\n}\n\nconst defaultPagination = {\n onChange: noop,\n onShowSizeChange: noop,\n};\n\n/**\n * Avoid creating new object, so that parent component's shouldComponentUpdate\n * can works appropriately。\n */\nconst emptyObject = {};\n\nconst createComponents = (components = {}) => {\n const bodyRow = components && components.body && components.body.row;\n return {\n ...components,\n body: {\n ...components.body,\n row: createBodyRow(bodyRow),\n },\n };\n};\n\nfunction isTheSameComponents(components1 = {}, components2 = {}) {\n return (\n components1 === components2 ||\n ['table', 'header', 'body'].every(key => shallowEqual(components1[key], components2[key]))\n );\n}\n\nfunction getFilteredValueColumns(state, columns) {\n return flatFilter(\n columns || (state || {}).columns || [],\n column => typeof column.filteredValue !== 'undefined',\n );\n}\n\nfunction getFiltersFromColumns(state, columns) {\n const filters = {};\n getFilteredValueColumns(state, columns).forEach(col => {\n const colKey = getColumnKey(col);\n filters[colKey] = col.filteredValue;\n });\n return filters;\n}\n\nfunction isFiltersChanged(state, filters) {\n if (Object.keys(filters).length !== Object.keys(state.filters).length) {\n return true;\n }\n return Object.keys(filters).some(columnKey => filters[columnKey] !== state.filters[columnKey]);\n}\n\nexport default {\n name: 'Table',\n Column,\n ColumnGroup,\n mixins: [BaseMixin],\n props: initDefaultProps(TableProps, {\n dataSource: [],\n useFixedHeader: false,\n // rowSelection: null,\n size: 'default',\n loading: false,\n bordered: false,\n indentSize: 20,\n locale: {},\n rowKey: 'key',\n showHeader: true,\n sortDirections: ['ascend', 'descend'],\n childrenColumnName: 'children',\n }),\n\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n // CheckboxPropsCache: {\n // [key: string]: any;\n // };\n // store: Store;\n // columns: ColumnProps<T>[];\n // components: TableComponents;\n\n data() {\n // this.columns = props.columns || normalizeColumns(props.children)\n const props = getOptionProps(this);\n warning(\n !props.expandedRowRender || !('scroll' in props),\n '`expandedRowRender` and `scroll` are not compatible. Please use one of them at one time.',\n );\n this.CheckboxPropsCache = {};\n\n this.store = createStore({\n selectedRowKeys: getRowSelection(this.$props).selectedRowKeys || [],\n selectionDirty: false,\n });\n return {\n ...this.getDefaultSortOrder(props.columns || []),\n // 减少状态\n sFilters: this.getDefaultFilters(props.columns),\n sPagination: this.getDefaultPagination(this.$props),\n pivot: undefined,\n sComponents: createComponents(this.components),\n filterDataCnt: 0,\n };\n },\n watch: {\n pagination: {\n handler(val) {\n this.setState(previousState => {\n const newPagination = {\n ...defaultPagination,\n ...previousState.sPagination,\n ...val,\n };\n newPagination.current = newPagination.current || 1;\n newPagination.pageSize = newPagination.pageSize || 10;\n return { sPagination: val !== false ? newPagination : emptyObject };\n });\n },\n deep: true,\n },\n rowSelection: {\n handler(val, oldVal) {\n if (val && 'selectedRowKeys' in val) {\n this.store.setState({\n selectedRowKeys: val.selectedRowKeys || [],\n });\n const { rowSelection } = this;\n if (rowSelection && val.getCheckboxProps !== rowSelection.getCheckboxProps) {\n this.CheckboxPropsCache = {};\n }\n } else if (oldVal && !val) {\n this.store.setState({\n selectedRowKeys: [],\n });\n }\n },\n deep: true,\n },\n\n dataSource() {\n this.store.setState({\n selectionDirty: false,\n });\n this.CheckboxPropsCache = {};\n },\n\n columns(val) {\n const filteredValueColumns = getFilteredValueColumns({ columns: val }, val);\n if (filteredValueColumns.length > 0) {\n const filtersFromColumns = getFiltersFromColumns({ columns: val }, val);\n const newFilters = { ...this.sFilters };\n Object.keys(filtersFromColumns).forEach(key => {\n newFilters[key] = filtersFromColumns[key];\n });\n if (isFiltersChanged({ filters: this.sFilters }, newFilters)) {\n this.setState({ sFilters: newFilters });\n }\n }\n },\n components: {\n handler(val, oldVal) {\n if (!isTheSameComponents(val, oldVal)) {\n const components = createComponents(val);\n this.setState({ sComponents: components });\n }\n },\n deep: true,\n },\n },\n updated() {\n const { columns, sSortColumn: sortColumn, sSortOrder: sortOrder } = this;\n if (this.getSortOrderColumns(columns).length > 0) {\n const sortState = this.getSortStateFromColumns(columns);\n if (!isSameColumn(sortState.sSortColumn, sortColumn) || sortState.sSortOrder !== sortOrder) {\n this.setState(sortState);\n }\n }\n },\n methods: {\n getCheckboxPropsByItem(item, index) {\n const rowSelection = getRowSelection(this.$props);\n if (!rowSelection.getCheckboxProps) {\n return { props: {} };\n }\n const key = this.getRecordKey(item, index);\n // Cache checkboxProps\n if (!this.CheckboxPropsCache[key]) {\n this.CheckboxPropsCache[key] = rowSelection.getCheckboxProps(item);\n }\n this.CheckboxPropsCache[key].props = this.CheckboxPropsCache[key].props || {};\n return this.CheckboxPropsCache[key];\n },\n\n getDefaultSelection() {\n const rowSelection = getRowSelection(this.$props);\n if (!rowSelection.getCheckboxProps) {\n return [];\n }\n return this.getFlatData()\n .filter(\n (item, rowIndex) => this.getCheckboxPropsByItem(item, rowIndex).props.defaultChecked,\n )\n .map((record, rowIndex) => this.getRecordKey(record, rowIndex));\n },\n\n getDefaultPagination(props) {\n const pagination = typeof props.pagination === 'object' ? props.pagination : {};\n let current;\n if ('current' in pagination) {\n current = pagination.current;\n } else if ('defaultCurrent' in pagination) {\n current = pagination.defaultCurrent;\n }\n let pageSize;\n if ('pageSize' in pagination) {\n pageSize = pagination.pageSize;\n } else if ('defaultPageSize' in pagination) {\n pageSize = pagination.defaultPageSize;\n }\n return this.hasPagination(props)\n ? {\n ...defaultPagination,\n ...pagination,\n current: current || 1,\n pageSize: pageSize || 10,\n }\n : {};\n },\n\n getSortOrderColumns(columns) {\n return flatFilter(columns || this.columns || [], column => 'sortOrder' in column);\n },\n\n getDefaultFilters(columns) {\n const definedFilters = getFiltersFromColumns({ columns: this.columns }, columns);\n\n const defaultFilteredValueColumns = flatFilter(\n columns || [],\n column => typeof column.defaultFilteredValue !== 'undefined',\n );\n\n const defaultFilters = defaultFilteredValueColumns.reduce((soFar, col) => {\n const colKey = getColumnKey(col);\n soFar[colKey] = col.defaultFilteredValue;\n return soFar;\n }, {});\n\n return { ...defaultFilters, ...definedFilters };\n },\n\n getDefaultSortOrder(columns) {\n const definedSortState = this.getSortStateFromColumns(columns);\n\n const defaultSortedColumn = flatFilter(columns || [], column => {\n return column.defaultSortOrder != null;\n })[0];\n\n if (defaultSortedColumn && !definedSortState.sortColumn) {\n return {\n sSortColumn: defaultSortedColumn,\n sSortOrder: defaultSortedColumn.defaultSortOrder,\n };\n }\n\n return definedSortState;\n },\n\n getSortStateFromColumns(columns) {\n // return first column which sortOrder is not falsy\n const sortedColumn = this.getSortOrderColumns(columns).filter(col => col.sortOrder)[0];\n\n if (sortedColumn) {\n return {\n sSortColumn: sortedColumn,\n sSortOrder: sortedColumn.sortOrder,\n };\n }\n\n return {\n sSortColumn: null,\n sSortOrder: null,\n };\n },\n getMaxCurrent(total) {\n const { current, pageSize } = this.sPagination;\n if ((current - 1) * pageSize >= total) {\n return Math.floor((total - 1) / pageSize) + 1;\n }\n return current;\n },\n\n getRecordKey(record, index) {\n const { rowKey } = this;\n const recordKey = typeof rowKey === 'function' ? rowKey(record, index) : record[rowKey];\n warning(\n recordKey !== undefined,\n 'Table',\n 'Each record in dataSource of table should have a unique `key` prop, ' +\n 'or set `rowKey` of Table to an unique primary key, ',\n );\n return recordKey === undefined ? index : recordKey;\n },\n\n getSorterFn(state) {\n const { sSortOrder: sortOrder, sSortColumn: sortColumn } = state || this.$data;\n if (!sortOrder || !sortColumn || typeof sortColumn.sorter !== 'function') {\n return;\n }\n\n return (a, b) => {\n const result = sortColumn.sorter(a, b, sortOrder);\n if (result !== 0) {\n return sortOrder === 'descend' ? -result : result;\n }\n return 0;\n };\n },\n\n getCurrentPageData() {\n let data = this.getLocalData();\n this.filterDataCnt = data.length;\n let current;\n let pageSize;\n const sPagination = this.sPagination;\n // 如果没有分页的话,默认全部展示\n if (!this.hasPagination()) {\n pageSize = Number.MAX_VALUE;\n current = 1;\n } else {\n pageSize = sPagination.pageSize;\n current = this.getMaxCurrent(sPagination.total || data.length);\n }\n\n // 分页\n // ---\n // 当数据量少于等于每页数量时,直接设置数据\n // 否则进行读取分页数据\n if (data.length > pageSize || pageSize === Number.MAX_VALUE) {\n data = data.slice((current - 1) * pageSize, current * pageSize);\n }\n return data;\n },\n\n getFlatData() {\n const { childrenColumnName } = this.$props;\n return flatArray(this.getLocalData(null, false), childrenColumnName);\n },\n\n getFlatCurrentPageData() {\n const { childrenColumnName } = this.$props;\n return flatArray(this.getCurrentPageData(), childrenColumnName);\n },\n\n getLocalData(state, filter = true) {\n const currentState = state || this.$data;\n const { sFilters: filters } = currentState;\n const { dataSource } = this.$props;\n let data = dataSource || [];\n // 优化本地排序\n data = data.slice(0);\n const sorterFn = this.getSorterFn(currentState);\n if (sorterFn) {\n // 使用新数组,避免改变原数组导致无限循环更新\n // https://github.com/vueComponent/ant-design-vue/issues/2270\n data = this.recursiveSort([...data], sorterFn);\n }\n // 筛选\n if (filter && filters) {\n Object.keys(filters).forEach(columnKey => {\n const col = this.findColumn(columnKey);\n if (!col) {\n return;\n }\n const values = filters[columnKey] || [];\n if (values.length === 0) {\n return;\n }\n const onFilter = col.onFilter;\n data = onFilter\n ? data.filter(record => {\n return values.some(v => onFilter(v, record));\n })\n : data;\n });\n }\n return data;\n },\n onRow(prefixCls, record, index) {\n const { customRow } = this;\n const custom = customRow ? customRow(record, index) : {};\n return mergeProps(custom, {\n props: {\n prefixCls,\n store: this.store,\n rowKey: this.getRecordKey(record, index),\n },\n });\n },\n\n setSelectedRowKeys(selectedRowKeys, selectionInfo) {\n const { selectWay, record, checked, changeRowKeys, nativeEvent } = selectionInfo;\n const rowSelection = getRowSelection(this.$props);\n if (rowSelection && !('selectedRowKeys' in rowSelection)) {\n this.store.setState({ selectedRowKeys });\n }\n const data = this.getFlatData();\n if (!rowSelection.onChange && !rowSelection[selectWay]) {\n return;\n }\n const selectedRows = data.filter(\n (row, i) => selectedRowKeys.indexOf(this.getRecordKey(row, i)) >= 0,\n );\n if (rowSelection.onChange) {\n rowSelection.onChange(selectedRowKeys, selectedRows);\n }\n if (selectWay === 'onSelect' && rowSelection.onSelect) {\n rowSelection.onSelect(record, checked, selectedRows, nativeEvent);\n } else if (selectWay === 'onSelectMultiple' && rowSelection.onSelectMultiple) {\n const changeRows = data.filter(\n (row, i) => changeRowKeys.indexOf(this.getRecordKey(row, i)) >= 0,\n );\n rowSelection.onSelectMultiple(checked, selectedRows, changeRows);\n } else if (selectWay === 'onSelectAll' && rowSelection.onSelectAll) {\n const changeRows = data.filter(\n (row, i) => changeRowKeys.indexOf(this.getRecordKey(row, i)) >= 0,\n );\n rowSelection.onSelectAll(checked, selectedRows, changeRows);\n } else if (selectWay === 'onSelectInvert' && rowSelection.onSelectInvert) {\n rowSelection.onSelectInvert(selectedRowKeys);\n }\n },\n generatePopupContainerFunc(getPopupContainer) {\n const { scroll } = this.$props;\n const table = this.$refs.vcTable;\n if (getPopupContainer) {\n return getPopupContainer;\n }\n // Use undefined to let rc component use default logic.\n return scroll && table ? () => table.getTableNode() : undefined;\n },\n scrollToFirstRow() {\n const { scroll } = this.$props;\n if (scroll && scroll.scrollToFirstRowOnChange !== false) {\n scrollTo(0, {\n getContainer: () => {\n return this.$refs.vcTable.getBodyTable();\n },\n });\n }\n },\n isSameColumn(a, b) {\n if (a && b && a.key && a.key === b.key) {\n return true;\n }\n return (\n a === b ||\n shallowEqual(a, b, (value, other) => {\n if (typeof value === 'function' && typeof other === 'function') {\n return value === other || value.toString() === other.toString();\n }\n })\n );\n },\n\n handleFilter(column, nextFilters) {\n const props = this.$props;\n const pagination = { ...this.sPagination };\n const filters = {\n ...this.sFilters,\n [getColumnKey(column)]: nextFilters,\n };\n // Remove filters not in current columns\n const currentColumnKeys = [];\n treeMap(this.columns, c => {\n if (!c.children) {\n currentColumnKeys.push(getColumnKey(c));\n }\n });\n Object.keys(filters).forEach(columnKey => {\n if (currentColumnKeys.indexOf(columnKey) < 0) {\n delete filters[columnKey];\n }\n });\n\n if (props.pagination) {\n // Reset current prop\n pagination.current = 1;\n pagination.onChange(pagination.current);\n }\n\n const newState = {\n sPagination: pagination,\n sFilters: {},\n };\n const filtersToSetState = { ...filters };\n // Remove filters which is controlled\n getFilteredValueColumns({ columns: props.columns }).forEach(col => {\n const columnKey = getColumnKey(col);\n if (columnKey) {\n delete filtersToSetState[columnKey];\n }\n });\n if (Object.keys(filtersToSetState).length > 0) {\n newState.sFilters = filtersToSetState;\n }\n\n // Controlled current prop will not respond user interaction\n if (typeof props.pagination === 'object' && 'current' in props.pagination) {\n newState.sPagination = {\n ...pagination,\n current: this.sPagination.current,\n };\n }\n\n this.setState(newState, () => {\n this.scrollToFirstRow();\n this.store.setState({\n selectionDirty: false,\n });\n this.$emit(\n 'change',\n ...this.prepareParamsArguments({\n ...this.$data,\n sSelectionDirty: false,\n sFilters: filters,\n sPagination: pagination,\n }),\n );\n });\n },\n\n handleSelect(record, rowIndex, e) {\n const checked = e.target.checked;\n const nativeEvent = e.nativeEvent;\n const defaultSelection = this.store.getState().selectionDirty\n ? []\n : this.getDefaultSelection();\n let selectedRowKeys = this.store.getState().selectedRowKeys.concat(defaultSelection);\n const key = this.getRecordKey(record, rowIndex);\n const { pivot } = this.$data;\n const rows = this.getFlatCurrentPageData();\n let realIndex = rowIndex;\n if (this.$props.expandedRowRender) {\n realIndex = rows.findIndex(row => this.getRecordKey(row, rowIndex) === key);\n }\n if (nativeEvent.shiftKey && pivot !== undefined && realIndex !== pivot) {\n const changeRowKeys = [];\n const direction = Math.sign(pivot - realIndex);\n const dist = Math.abs(pivot - realIndex);\n let step = 0;\n while (step <= dist) {\n const i = realIndex + step * direction;\n step += 1;\n const row = rows[i];\n const rowKey = this.getRecordKey(row, i);\n const checkboxProps = this.getCheckboxPropsByItem(row, i);\n if (!checkboxProps.disabled) {\n if (selectedRowKeys.includes(rowKey)) {\n if (!checked) {\n selectedRowKeys = selectedRowKeys.filter(j => rowKey !== j);\n changeRowKeys.push(rowKey);\n }\n } else if (checked) {\n selectedRowKeys.push(rowKey);\n changeRowKeys.push(rowKey);\n }\n }\n }\n\n this.setState({ pivot: realIndex });\n this.store.setState({\n selectionDirty: true,\n });\n this.setSelectedRowKeys(selectedRowKeys, {\n selectWay: 'onSelectMultiple',\n record,\n checked,\n changeRowKeys,\n nativeEvent,\n });\n } else {\n if (checked) {\n selectedRowKeys.push(this.getRecordKey(record, realIndex));\n } else {\n selectedRowKeys = selectedRowKeys.filter(i => key !== i);\n }\n this.setState({ pivot: realIndex });\n this.store.setState({\n selectionDirty: true,\n });\n this.setSelectedRowKeys(selectedRowKeys, {\n selectWay: 'onSelect',\n record,\n checked,\n changeRowKeys: undefined,\n nativeEvent,\n });\n }\n },\n\n handleRadioSelect(record, rowIndex, e) {\n const checked = e.target.checked;\n const nativeEvent = e.nativeEvent;\n const key = this.getRecordKey(record, rowIndex);\n const selectedRowKeys = [key];\n this.store.setState({\n selectionDirty: true,\n });\n this.setSelectedRowKeys(selectedRowKeys, {\n selectWay: 'onSelect',\n record,\n checked,\n changeRowKeys: undefined,\n nativeEvent,\n });\n },\n\n handleSelectRow(selectionKey, index, onSelectFunc) {\n const data = this.getFlatCurrentPageData();\n const defaultSelection = this.store.getState().selectionDirty\n ? []\n : this.getDefaultSelection();\n const selectedRowKeys = this.store.getState().selectedRowKeys.concat(defaultSelection);\n const changeableRowKeys = data\n .filter((item, i) => !this.getCheckboxPropsByItem(item, i).props.disabled)\n .map((item, i) => this.getRecordKey(item, i));\n\n const changeRowKeys = [];\n let selectWay = 'onSelectAll';\n let checked;\n // handle default selection\n switch (selectionKey) {\n case 'all':\n changeableRowKeys.forEach(key => {\n if (selectedRowKeys.indexOf(key) < 0) {\n selectedRowKeys.push(key);\n changeRowKeys.push(key);\n }\n });\n selectWay = 'onSelectAll';\n checked = true;\n break;\n case 'removeAll':\n changeableRowKeys.forEach(key => {\n if (selectedRowKeys.indexOf(key) >= 0) {\n selectedRowKeys.splice(selectedRowKeys.indexOf(key), 1);\n changeRowKeys.push(key);\n }\n });\n selectWay = 'onSelectAll';\n checked = false;\n break;\n case 'invert':\n changeableRowKeys.forEach(key => {\n if (selectedRowKeys.indexOf(key) < 0) {\n selectedRowKeys.push(key);\n } else {\n selectedRowKeys.splice(selectedRowKeys.indexOf(key), 1);\n }\n changeRowKeys.push(key);\n selectWay = 'onSelectInvert';\n });\n break;\n default:\n break;\n }\n\n this.store.setState({\n selectionDirty: true,\n });\n // when select custom selection, callback selections[n].onSelect\n const { rowSelection } = this;\n let customSelectionStartIndex = 2;\n if (rowSelection && rowSelection.hideDefaultSelections) {\n customSelectionStartIndex = 0;\n }\n if (index >= customSelectionStartIndex && typeof onSelectFunc === 'function') {\n return onSelectFunc(changeableRowKeys);\n }\n this.setSelectedRowKeys(selectedRowKeys, {\n selectWay,\n checked,\n changeRowKeys,\n });\n },\n\n handlePageChange(current, ...otherArguments) {\n const props = this.$props;\n const pagination = { ...this.sPagination };\n if (current) {\n pagination.current = current;\n } else {\n pagination.current = pagination.current || 1;\n }\n pagination.onChange(pagination.current, ...otherArguments);\n\n const newState = {\n sPagination: pagination,\n };\n // Controlled current prop will not respond user interaction\n if (\n props.pagination &&\n typeof props.pagination === 'object' &&\n 'current' in props.pagination\n ) {\n newState.sPagination = {\n ...pagination,\n current: this.sPagination.current,\n };\n }\n this.setState(newState, this.scrollToFirstRow);\n\n this.store.setState({\n selectionDirty: false,\n });\n this.$emit(\n 'change',\n ...this.prepareParamsArguments({\n ...this.$data,\n sSelectionDirty: false,\n sPagination: pagination,\n }),\n );\n },\n\n handleShowSizeChange(current, pageSize) {\n const pagination = this.sPagination;\n pagination.onShowSizeChange(current, pageSize);\n const nextPagination = {\n ...pagination,\n pageSize,\n current,\n };\n this.setState({ sPagination: nextPagination }, this.scrollToFirstRow);\n this.$emit(\n 'change',\n ...this.prepareParamsArguments({\n ...this.$data,\n sPagination: nextPagination,\n }),\n );\n },\n\n toggleSortOrder(column) {\n const sortDirections = column.sortDirections || this.sortDirections;\n const { sSortOrder: sortOrder, sSortColumn: sortColumn } = this;\n // 只同时允许一列进行排序,否则会导致排序顺序的逻辑问题\n let newSortOrder;\n // 切换另一列时,丢弃 sortOrder 的状态\n if (isSameColumn(sortColumn, column) && sortOrder !== undefined) {\n // 按照sortDirections的内容依次切换排序状态\n const methodIndex = sortDirections.indexOf(sortOrder) + 1;\n newSortOrder =\n methodIndex === sortDirections.length ? undefined : sortDirections[methodIndex];\n } else {\n newSortOrder = sortDirections[0];\n }\n const newState = {\n sSortOrder: newSortOrder,\n sSortColumn: newSortOrder ? column : null,\n };\n\n // Controlled\n if (this.getSortOrderColumns().length === 0) {\n this.setState(newState, this.scrollToFirstRow);\n }\n this.$emit(\n 'change',\n ...this.prepareParamsArguments(\n {\n ...this.$data,\n ...newState,\n },\n column,\n ),\n );\n },\n\n hasPagination(props) {\n return (props || this.$props).pagination !== false;\n },\n\n isSortColumn(column) {\n const { sSortColumn: sortColumn } = this;\n if (!column || !sortColumn) {\n return false;\n }\n return getColumnKey(sortColumn) === getColumnKey(column);\n },\n\n // Get pagination, filters, sorter\n prepareParamsArguments(state, column) {\n const pagination = { ...state.sPagination };\n // remove useless handle function in Table.onChange\n delete pagination.onChange;\n delete pagination.onShowSizeChange;\n const filters = state.sFilters;\n const sorter = {};\n let currentColumn = column;\n if (state.sSortColumn && state.sSortOrder) {\n currentColumn = state.sSortColumn;\n sorter.column = state.sSortColumn;\n sorter.order = state.sSortOrder;\n }\n\n if (currentColumn) {\n sorter.field = currentColumn.dataIndex;\n sorter.columnKey = getColumnKey(currentColumn);\n }\n\n const extra = {\n currentDataSource: this.getLocalData(state),\n };\n\n return [pagination, filters, sorter, extra];\n },\n\n findColumn(myKey) {\n let column;\n treeMap(this.columns, c => {\n if (getColumnKey(c) === myKey) {\n column = c;\n }\n });\n return column;\n },\n\n recursiveSort(data, sorterFn) {\n const { childrenColumnName = 'children' } = this;\n return data.sort(sorterFn).map(item =>\n item[childrenColumnName]\n ? {\n ...item,\n [childrenColumnName]: this.recursiveSort([...item[childrenColumnName]], sorterFn),\n }\n : item,\n );\n },\n renderExpandIcon(prefixCls) {\n return ({ expandable, expanded, needIndentSpaced, record, onExpand }) => {\n if (expandable) {\n return (\n <LocaleReceiver componentName=\"Table\" defaultLocale={defaultLocale.Table}>\n {locale => (\n <TransButton\n class={classNames(`${prefixCls}-row-expand-icon`, {\n [`${prefixCls}-row-collapsed`]: !expanded,\n [`${prefixCls}-row-expanded`]: expanded,\n })}\n onClick={event => {\n onExpand(record, event);\n }}\n aria-label={expanded ? locale.collapse : locale.expand}\n noStyle\n />\n )}\n </LocaleReceiver>\n );\n }\n\n if (needIndentSpaced) {\n return <span class={`${prefixCls}-row-expand-icon ${prefixCls}-row-spaced`} />;\n }\n\n return null;\n };\n },\n renderPagination(prefixCls, paginationPosition) {\n // 强制不需要分页\n if (!this.hasPagination()) {\n return null;\n }\n let size = 'default';\n const { sPagination: pagination } = this;\n if (pagination.size) {\n size = pagination.size;\n } else if (this.size === 'middle' || this.size === 'small') {\n size = 'small';\n }\n const position = pagination.position || 'bottom';\n const total = pagination.total || this.filterDataCnt;\n const { class: cls, style, onChange, onShowSizeChange, ...restProps } = pagination; // eslint-disable-line\n const paginationProps = mergeProps({\n key: `pagination-${paginationPosition}`,\n class: classNames(cls, `${prefixCls}-pagination`),\n props: {\n ...restProps,\n total,\n size,\n current: this.getMaxCurrent(total),\n },\n style,\n on: {\n change: this.handlePageChange,\n showSizeChange: this.handleShowSizeChange,\n },\n });\n return total > 0 && (position === paginationPosition || position === 'both') ? (\n <Pagination {...paginationProps} />\n ) : null;\n },\n renderSelectionBox(type) {\n return (_, record, index) => {\n const rowKey = this.getRecordKey(record, index); // 从 1 开始\n const props = this.getCheckboxPropsByItem(record, index);\n const handleChange = e => {\n type === 'radio'\n ? this.handleRadioSelect(record, index, e)\n : this.handleSelect(record, index, e);\n };\n const selectionBoxProps = mergeProps(\n {\n props: {\n type,\n store: this.store,\n rowIndex: rowKey,\n defaultSelection: this.getDefaultSelection(),\n },\n on: {\n change: handleChange,\n },\n },\n props,\n );\n\n return (\n <span onClick={stopPropagation}>\n <SelectionBox {...selectionBoxProps} />\n </span>\n );\n };\n },\n\n renderRowSelection({ prefixCls, locale, getPopupContainer }) {\n const { rowSelection } = this;\n const columns = this.columns.concat();\n if (rowSelection) {\n const data = this.getFlatCurrentPageData().filter((item, index) => {\n if (rowSelection.getCheckboxProps) {\n return !this.getCheckboxPropsByItem(item, index).props.disabled;\n }\n return true;\n });\n const selectionColumnClass = classNames(`${prefixCls}-selection-column`, {\n [`${prefixCls}-selection-column-custom`]: rowSelection.selections,\n });\n const selectionColumn = {\n key: 'selection-column',\n customRender: this.renderSelectionBox(rowSelection.type),\n className: selectionColumnClass,\n fixed: rowSelection.fixed,\n width: rowSelection.columnWidth,\n title: rowSelection.columnTitle,\n [INTERNAL_COL_DEFINE]: {\n class: `${prefixCls}-selection-col`,\n },\n };\n if (rowSelection.type !== 'radio') {\n const checkboxAllDisabled = data.every(\n (item, index) => this.getCheckboxPropsByItem(item, index).props.disabled,\n );\n selectionColumn.title = selectionColumn.title || (\n <SelectionCheckboxAll\n store={this.store}\n locale={locale}\n data={data}\n getCheckboxPropsByItem={this.getCheckboxPropsByItem}\n getRecordKey={this.getRecordKey}\n disabled={checkboxAllDisabled}\n prefixCls={prefixCls}\n onSelect={this.handleSelectRow}\n selections={rowSelection.selections}\n hideDefaultSelections={rowSelection.hideDefaultSelections}\n getPopupContainer={this.generatePopupContainerFunc(getPopupContainer)}\n />\n );\n }\n if ('fixed' in rowSelection) {\n selectionColumn.fixed = rowSelection.fixed;\n } else if (columns.some(column => column.fixed === 'left' || column.fixed === true)) {\n selectionColumn.fixed = 'left';\n }\n if (columns[0] && columns[0].key === 'selection-column') {\n columns[0] = selectionColumn;\n } else {\n columns.unshift(selectionColumn);\n }\n }\n return columns;\n },\n\n renderColumnsDropdown({ prefixCls, dropdownPrefixCls, columns, locale, getPopupContainer }) {\n const { sSortOrder: sortOrder, sFilters: filters } = this;\n return treeMap(columns, (column, i) => {\n const key = getColumnKey(column, i);\n let filterDropdown;\n let sortButton;\n let customHeaderCell = column.customHeaderCell;\n const isSortColumn = this.isSortColumn(column);\n if ((column.filters && column.filters.length > 0) || column.filterDropdown) {\n const colFilters = key in filters ? filters[key] : [];\n filterDropdown = (\n <FilterDropdown\n _propsSymbol={Symbol()}\n locale={locale}\n column={column}\n selectedKeys={colFilters}\n confirmFilter={this.handleFilter}\n prefixCls={`${prefixCls}-filter`}\n dropdownPrefixCls={dropdownPrefixCls || 'ant-dropdown'}\n getPopupContainer={this.generatePopupContainerFunc(getPopupContainer)}\n key=\"filter-dropdown\"\n />\n );\n }\n if (column.sorter) {\n const sortDirections = column.sortDirections || this.sortDirections;\n const isAscend = isSortColumn && sortOrder === 'ascend';\n const isDescend = isSortColumn && sortOrder === 'descend';\n const ascend = sortDirections.indexOf('ascend') !== -1 && (\n <Icon\n class={`${prefixCls}-column-sorter-up ${isAscend ? 'on' : 'off'}`}\n type=\"caret-up\"\n theme=\"filled\"\n key=\"caret-up\"\n />\n );\n\n const descend = sortDirections.indexOf('descend') !== -1 && (\n <Icon\n class={`${prefixCls}-column-sorter-down ${isDescend ? 'on' : 'off'}`}\n type=\"caret-down\"\n theme=\"filled\"\n key=\"caret-down\"\n />\n );\n\n sortButton = (\n <div\n title={locale.sortTitle}\n class={classNames(\n `${prefixCls}-column-sorter-inner`,\n ascend && descend && `${prefixCls}-column-sorter-inner-full`,\n )}\n key=\"sorter\"\n >\n {ascend}\n {descend}\n </div>\n );\n customHeaderCell = col => {\n let colProps = {};\n // Get original first\n if (column.customHeaderCell) {\n colProps = {\n ...column.customHeaderCell(col),\n };\n }\n colProps.on = colProps.on || {};\n // Add sorter logic\n const onHeaderCellClick = colProps.on.click;\n colProps.on.click = (...args) => {\n this.toggleSortOrder(column);\n if (onHeaderCellClick) {\n onHeaderCellClick(...args);\n }\n };\n return colProps;\n };\n }\n return {\n ...column,\n className: classNames(column.className, {\n [`${prefixCls}-column-has-actions`]: sortButton || filterDropdown,\n [`${prefixCls}-column-has-filters`]: filterDropdown,\n [`${prefixCls}-column-has-sorters`]: sortButton,\n [`${prefixCls}-column-sort`]: isSortColumn && sortOrder,\n }),\n title: [\n <span key=\"title\" class={`${prefixCls}-header-column`}>\n <div class={sortButton ? `${prefixCls}-column-sorters` : undefined}>\n <span class={`${prefixCls}-column-title`}>\n {this.renderColumnTitle(column.title)}\n </span>\n <span class={`${prefixCls}-column-sorter`}>{sortButton}</span>\n </div>\n </span>,\n filterDropdown,\n ],\n customHeaderCell,\n };\n });\n },\n renderColumnTitle(title) {\n const { sFilters: filters, sSortOrder: sortOrder, sSortColumn: sortColumn } = this.$data;\n // https://github.com/ant-design/ant-design/issues/11246#issuecomment-405009167\n if (title instanceof Function) {\n return title({\n filters,\n sortOrder,\n sortColumn,\n });\n }\n return title;\n },\n\n renderTable({\n prefixCls,\n renderEmpty,\n dropdownPrefixCls,\n contextLocale,\n getPopupContainer: contextGetPopupContainer,\n transformCellText,\n }) {\n const { showHeader, locale, getPopupContainer, ...restProps } = getOptionProps(this);\n const data = this.getCurrentPageData();\n const expandIconAsCell = this.expandedRowRender && this.expandIconAsCell !== false;\n\n // use props.getPopupContainer first\n const realGetPopupContainer = getPopupContainer || contextGetPopupContainer;\n\n // Merge too locales\n const mergedLocale = { ...contextLocale, ...locale };\n if (!locale || !locale.emptyText) {\n mergedLocale.emptyText = renderEmpty(h, 'Table');\n }\n\n const classString = classNames({\n [`${prefixCls}-${this.size}`]: true,\n [`${prefixCls}-bordered`]: this.bordered,\n [`${prefixCls}-empty`]: !data.length,\n [`${prefixCls}-without-column-header`]: !showHeader,\n });\n\n const columnsWithRowSelection = this.renderRowSelection({\n prefixCls,\n locale: mergedLocale,\n getPopupContainer: realGetPopupContainer,\n });\n const columns = this.renderColumnsDropdown({\n columns: columnsWithRowSelection,\n prefixCls,\n dropdownPrefixCls,\n locale: mergedLocale,\n getPopupContainer: realGetPopupContainer,\n }).map((column, i) => {\n const newColumn = { ...column };\n newColumn.key = getColumnKey(newColumn, i);\n return newColumn;\n });\n\n let expandIconColumnIndex = columns[0] && columns[0].key === 'selection-column' ? 1 : 0;\n if ('expandIconColumnIndex' in restProps) {\n expandIconColumnIndex = restProps.expandIconColumnIndex;\n }\n const vcTableProps = {\n key: 'table',\n props: {\n expandIcon: this.renderExpandIcon(prefixCls),\n ...restProps,\n customRow: (record, index) => this.onRow(prefixCls, record, index),\n components: this.sComponents,\n prefixCls,\n data,\n columns,\n showHeader,\n expandIconColumnIndex,\n expandIconAsCell,\n emptyText: mergedLocale.emptyText,\n transformCellText,\n },\n on: getListeners(this),\n class: classString,\n ref: 'vcTable',\n };\n return <VcTable {...vcTableProps} />;\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n dropdownPrefixCls: customizeDropdownPrefixCls,\n transformCellText: customizeTransformCellText,\n } = this;\n const data = this.getCurrentPageData();\n const {\n getPopupContainer: getContextPopupContainer,\n transformCellText: tct,\n } = this.configProvider;\n const getPopupContainer = this.getPopupContainer || getContextPopupContainer;\n const transformCellText = customizeTransformCellText || tct;\n let loading = this.loading;\n if (typeof loading === 'boolean') {\n loading = {\n props: {\n spinning: loading,\n },\n };\n } else {\n loading = {\n props: { ...loading },\n };\n }\n const getPrefixCls = this.configProvider.getPrefixCls;\n const renderEmpty = this.configProvider.renderEmpty;\n\n const prefixCls = getPrefixCls('table', customizePrefixCls);\n const dropdownPrefixCls = getPrefixCls('dropdown', customizeDropdownPrefixCls);\n\n const table = (\n <LocaleReceiver\n componentName=\"Table\"\n defaultLocale={defaultLocale.Table}\n children={locale =>\n this.renderTable({\n prefixCls,\n renderEmpty,\n dropdownPrefixCls,\n contextLocale: locale,\n getPopupContainer,\n transformCellText,\n })\n }\n />\n );\n\n // if there is no pagination or no data,\n // the height of spin should decrease by half of pagination\n const paginationPatchClass =\n this.hasPagination() && data && data.length !== 0\n ? `${prefixCls}-with-pagination`\n : `${prefixCls}-without-pagination`;\n const spinProps = {\n ...loading,\n class:\n loading.props && loading.props.spinning\n ? `${paginationPatchClass} ${prefixCls}-spin-holder`\n : '',\n };\n return (\n <div class={classNames(`${prefixCls}-wrapper`)}>\n <Spin {...spinProps}>\n {this.renderPagination(prefixCls, 'top')}\n {table}\n {this.renderPagination(prefixCls, 'bottom')}\n </Spin>\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\n\nimport { Store } from './createStore';\nimport { getListeners } from '../_util/props-util';\n\nconst BodyRowProps = {\n store: Store,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n prefixCls: PropTypes.string,\n};\n\nexport default function createBodyRow(Component = 'tr') {\n const BodyRow = {\n name: 'BodyRow',\n props: BodyRowProps,\n data() {\n const { selectedRowKeys } = this.store.getState();\n\n return {\n selected: selectedRowKeys.indexOf(this.rowKey) >= 0,\n };\n },\n\n mounted() {\n this.subscribe();\n },\n\n beforeDestroy() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n },\n methods: {\n subscribe() {\n const { store, rowKey } = this;\n this.unsubscribe = store.subscribe(() => {\n const { selectedRowKeys } = this.store.getState();\n const selected = selectedRowKeys.indexOf(rowKey) >= 0;\n if (selected !== this.selected) {\n this.selected = selected;\n }\n });\n },\n },\n\n render() {\n const className = {\n [`${this.prefixCls}-row-selected`]: this.selected,\n };\n\n return (\n <Component class={className} {...{ on: getListeners(this) }}>\n {this.$slots.default}\n </Component>\n );\n },\n };\n\n return BodyRow;\n}\n","import PropTypes from '../_util/vue-types';\nexport const Store = PropTypes.shape({\n setState: PropTypes.func,\n getState: PropTypes.func,\n subscribe: PropTypes.func,\n}).loose;\n\nimport create from '../_util/store/create';\nconst createStore = create;\n\nexport default createStore;\n","import Menu, { SubMenu, Item as MenuItem } from '../vc-menu';\nimport closest from 'dom-closest';\nimport classNames from 'classnames';\nimport shallowequal from 'shallowequal';\nimport Dropdown from '../dropdown';\nimport Icon from '../icon';\nimport Checkbox from '../checkbox';\nimport Radio from '../radio';\nimport FilterDropdownMenuWrapper from './FilterDropdownMenuWrapper';\nimport { FilterMenuProps } from './interface';\nimport { initDefaultProps, getOptionProps, isValidElement } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport BaseMixin from '../_util/BaseMixin';\nimport { generateValueMaps } from './util';\n\nfunction stopPropagation(e) {\n e.stopPropagation();\n}\n\nexport default {\n name: 'FilterMenu',\n mixins: [BaseMixin],\n props: initDefaultProps(FilterMenuProps, {\n handleFilter() {},\n column: {},\n }),\n\n data() {\n const visible =\n 'filterDropdownVisible' in this.column ? this.column.filterDropdownVisible : false;\n this.preProps = { ...getOptionProps(this) };\n return {\n sSelectedKeys: this.selectedKeys,\n sKeyPathOfSelectedItem: {}, // 记录所有有选中子菜单的祖先菜单\n sVisible: visible,\n sValueKeys: generateValueMaps(this.column.filters),\n };\n },\n watch: {\n _propsSymbol() {\n const nextProps = getOptionProps(this);\n const { column } = nextProps;\n const newState = {};\n\n /**\n * if the state is visible the component should ignore updates on selectedKeys prop to avoid\n * that the user selection is lost\n * this happens frequently when a table is connected on some sort of realtime data\n * Fixes https://github.com/ant-design/ant-design/issues/10289 and\n * https://github.com/ant-design/ant-design/issues/10209\n */\n if (\n 'selectedKeys' in nextProps &&\n !shallowequal(this.preProps.selectedKeys, nextProps.selectedKeys)\n ) {\n newState.sSelectedKeys = nextProps.selectedKeys;\n }\n if (!shallowequal((this.preProps.column || {}).filters, (nextProps.column || {}).filters)) {\n newState.sValueKeys = generateValueMaps(nextProps.column.filters);\n }\n if ('filterDropdownVisible' in column) {\n newState.sVisible = column.filterDropdownVisible;\n }\n if (Object.keys(newState).length > 0) {\n this.setState(newState);\n }\n this.preProps = { ...nextProps };\n },\n // 'column.fixed': function (val) {\n // this.setNeverShown(this.column)\n // },\n // column (val) {\n // if ('filterDropdownVisible' in val) {\n // this.sVisible = val.filterDropdownVisible\n // }\n // },\n // selectedKeys (val) {\n // this.sSelectedKeys = val\n // },\n },\n\n mounted() {\n const { column } = this;\n this.$nextTick(() => {\n this.setNeverShown(column);\n });\n },\n updated() {\n const { column } = this;\n this.$nextTick(() => {\n this.setNeverShown(column);\n });\n },\n methods: {\n getDropdownVisible() {\n return this.neverShown ? false : this.sVisible;\n },\n setNeverShown(column) {\n const rootNode = this.$el;\n const filterBelongToScrollBody = !!closest(rootNode, `.ant-table-scroll`);\n if (filterBelongToScrollBody) {\n // When fixed column have filters, there will be two dropdown menus\n // Filter dropdown menu inside scroll body should never be shown\n // To fix https://github.com/ant-design/ant-design/issues/5010 and\n // https://github.com/ant-design/ant-design/issues/7909\n this.neverShown = !!column.fixed;\n }\n },\n\n setSelectedKeys({ selectedKeys }) {\n this.setState({ sSelectedKeys: selectedKeys });\n },\n\n setVisible(visible) {\n const { column } = this;\n if (!('filterDropdownVisible' in column)) {\n this.setState({ sVisible: visible });\n }\n if (column.onFilterDropdownVisibleChange) {\n column.onFilterDropdownVisibleChange(visible);\n }\n },\n\n handleClearFilters() {\n this.setState(\n {\n sSelectedKeys: [],\n },\n this.handleConfirm,\n );\n },\n\n handleConfirm() {\n this.setVisible(false);\n this.confirmFilter2();\n // Call `setSelectedKeys` & `confirm` in the same time will make filter data not up to date\n // https://github.com/ant-design/ant-design/issues/12284\n this.$forceUpdate();\n this.$nextTick(() => {\n this.confirmFilter;\n });\n },\n\n onVisibleChange(visible) {\n this.setVisible(visible);\n const { column } = this.$props;\n // https://github.com/ant-design/ant-design/issues/17833\n if (!visible && !(column.filterDropdown instanceof Function)) {\n this.confirmFilter2();\n }\n },\n handleMenuItemClick(info) {\n const { sSelectedKeys: selectedKeys } = this.$data;\n if (!info.keyPath || info.keyPath.length <= 1) {\n return;\n }\n const { sKeyPathOfSelectedItem: keyPathOfSelectedItem } = this.$data;\n if (selectedKeys && selectedKeys.indexOf(info.key) >= 0) {\n // deselect SubMenu child\n delete keyPathOfSelectedItem[info.key];\n } else {\n // select SubMenu child\n keyPathOfSelectedItem[info.key] = info.keyPath;\n }\n this.setState({ sKeyPathOfSelectedItem: keyPathOfSelectedItem });\n },\n\n hasSubMenu() {\n const {\n column: { filters = [] },\n } = this;\n return filters.some(item => !!(item.children && item.children.length > 0));\n },\n\n confirmFilter2() {\n const { column, selectedKeys: propSelectedKeys, confirmFilter } = this.$props;\n const { sSelectedKeys: selectedKeys, sValueKeys: valueKeys } = this.$data;\n const { filterDropdown } = column;\n\n if (!shallowequal(selectedKeys, propSelectedKeys)) {\n confirmFilter(\n column,\n filterDropdown\n ? selectedKeys\n : selectedKeys.map(key => valueKeys[key]).filter(key => key !== undefined),\n );\n }\n },\n\n renderMenus(items) {\n const { dropdownPrefixCls, prefixCls } = this.$props;\n return items.map(item => {\n if (item.children && item.children.length > 0) {\n const { sKeyPathOfSelectedItem } = this;\n const containSelected = Object.keys(sKeyPathOfSelectedItem).some(\n key => sKeyPathOfSelectedItem[key].indexOf(item.value) >= 0,\n );\n const subMenuCls = classNames(`${prefixCls}-dropdown-submenu`, {\n [`${dropdownPrefixCls}-submenu-contain-selected`]: containSelected,\n });\n return (\n <SubMenu title={item.text} popupClassName={subMenuCls} key={item.value}>\n {this.renderMenus(item.children)}\n </SubMenu>\n );\n }\n return this.renderMenuItem(item);\n });\n },\n\n renderFilterIcon() {\n const { column, locale, prefixCls, selectedKeys } = this;\n const filtered = selectedKeys && selectedKeys.length > 0;\n let filterIcon = column.filterIcon;\n if (typeof filterIcon === 'function') {\n filterIcon = filterIcon(filtered, column);\n }\n const dropdownIconClass = classNames({\n [`${prefixCls}-selected`]: 'filtered' in column ? column.filtered : filtered,\n [`${prefixCls}-open`]: this.getDropdownVisible(),\n });\n if (!filterIcon) {\n return (\n <Icon\n title={locale.filterTitle}\n type=\"filter\"\n theme=\"filled\"\n class={dropdownIconClass}\n onClick={stopPropagation}\n />\n );\n }\n if (filterIcon.length === 1 && isValidElement(filterIcon[0])) {\n return cloneElement(filterIcon[0], {\n on: {\n click: stopPropagation,\n },\n class: classNames(`${prefixCls}-icon`, dropdownIconClass),\n });\n }\n return <span class={classNames(`${prefixCls}-icon`, dropdownIconClass)}>{filterIcon}</span>;\n },\n\n renderMenuItem(item) {\n const { column } = this;\n const { sSelectedKeys: selectedKeys } = this.$data;\n const multiple = 'filterMultiple' in column ? column.filterMultiple : true;\n\n const input = multiple ? (\n <Checkbox checked={selectedKeys && selectedKeys.indexOf(item.value) >= 0} />\n ) : (\n <Radio checked={selectedKeys && selectedKeys.indexOf(item.value) >= 0} />\n );\n\n return (\n <MenuItem key={item.value}>\n {input}\n <span>{item.text}</span>\n </MenuItem>\n );\n },\n },\n\n render() {\n const { sSelectedKeys: originSelectedKeys } = this.$data;\n const { column, locale, prefixCls, dropdownPrefixCls, getPopupContainer } = this;\n // default multiple selection in filter dropdown\n const multiple = 'filterMultiple' in column ? column.filterMultiple : true;\n const dropdownMenuClass = classNames({\n [`${dropdownPrefixCls}-menu-without-submenu`]: !this.hasSubMenu(),\n });\n let { filterDropdown } = column;\n if (filterDropdown instanceof Function) {\n filterDropdown = filterDropdown({\n prefixCls: `${dropdownPrefixCls}-custom`,\n setSelectedKeys: selectedKeys => this.setSelectedKeys({ selectedKeys }),\n selectedKeys: originSelectedKeys,\n confirm: this.handleConfirm,\n clearFilters: this.handleClearFilters,\n filters: column.filters,\n visible: this.getDropdownVisible(),\n column,\n });\n }\n\n const menus = filterDropdown ? (\n <FilterDropdownMenuWrapper class={`${prefixCls}-dropdown`}>\n {filterDropdown}\n </FilterDropdownMenuWrapper>\n ) : (\n <FilterDropdownMenuWrapper class={`${prefixCls}-dropdown`}>\n <Menu\n multiple={multiple}\n onClick={this.handleMenuItemClick}\n prefixCls={`${dropdownPrefixCls}-menu`}\n class={dropdownMenuClass}\n onSelect={this.setSelectedKeys}\n onDeselect={this.setSelectedKeys}\n selectedKeys={originSelectedKeys && originSelectedKeys.map(val => val)}\n getPopupContainer={getPopupContainer}\n >\n {this.renderMenus(column.filters)}\n </Menu>\n <div class={`${prefixCls}-dropdown-btns`}>\n <a class={`${prefixCls}-dropdown-link confirm`} onClick={this.handleConfirm}>\n {locale.filterConfirm}\n </a>\n <a class={`${prefixCls}-dropdown-link clear`} onClick={this.handleClearFilters}>\n {locale.filterReset}\n </a>\n </div>\n </FilterDropdownMenuWrapper>\n );\n\n return (\n <Dropdown\n trigger={['click']}\n placement=\"bottomRight\"\n visible={this.getDropdownVisible()}\n onVisibleChange={this.onVisibleChange}\n getPopupContainer={getPopupContainer}\n forceRender\n >\n <template slot=\"overlay\">{menus}</template>\n {this.renderFilterIcon()}\n </Dropdown>\n );\n },\n};\n","import T from './Table';\nimport ref from 'vue-ref';\nimport Vue from 'vue';\nimport {\n getOptionProps,\n getKey,\n getClass,\n getStyle,\n getEvents,\n getSlotOptions,\n camelize,\n getSlots,\n getListeners,\n} from '../_util/props-util';\nimport Base from '../base';\n\nVue.use(ref, { name: 'ant-ref' });\n\nconst Table = {\n name: 'ATable',\n Column: T.Column,\n ColumnGroup: T.ColumnGroup,\n props: T.props,\n methods: {\n normalize(elements = []) {\n const columns = [];\n elements.forEach(element => {\n if (!element.tag) {\n return;\n }\n const key = getKey(element);\n const style = getStyle(element);\n const cls = getClass(element);\n const props = getOptionProps(element);\n const events = getEvents(element);\n const listeners = {};\n Object.keys(events).forEach(e => {\n const k = `on-${e}`;\n listeners[camelize(k)] = events[e];\n });\n const { default: children, ...restSlots } = getSlots(element);\n const column = { ...restSlots, ...props, style, class: cls, ...listeners };\n if (key) {\n column.key = key;\n }\n if (getSlotOptions(element).__ANT_TABLE_COLUMN_GROUP) {\n column.children = this.normalize(typeof children === 'function' ? children() : children);\n } else {\n const customRender =\n element.data && element.data.scopedSlots && element.data.scopedSlots.default;\n column.customRender = column.customRender || customRender;\n }\n columns.push(column);\n });\n return columns;\n },\n updateColumns(cols = []) {\n const columns = [];\n const { $slots, $scopedSlots } = this;\n cols.forEach(col => {\n const { slots = {}, scopedSlots = {}, ...restProps } = col;\n const column = {\n ...restProps,\n };\n Object.keys(slots).forEach(key => {\n const name = slots[key];\n if (column[key] === undefined && $slots[name]) {\n column[key] = $slots[name].length === 1 ? $slots[name][0] : $slots[name];\n }\n });\n Object.keys(scopedSlots).forEach(key => {\n const name = scopedSlots[key];\n if (column[key] === undefined && $scopedSlots[name]) {\n column[key] = $scopedSlots[name];\n }\n });\n // if (slotScopeName && $scopedSlots[slotScopeName]) {\n // column.customRender = column.customRender || $scopedSlots[slotScopeName]\n // }\n if (col.children) {\n column.children = this.updateColumns(column.children);\n }\n columns.push(column);\n });\n return columns;\n },\n },\n render() {\n const { $slots, normalize, $scopedSlots } = this;\n const props = getOptionProps(this);\n const columns = props.columns ? this.updateColumns(props.columns) : normalize($slots.default);\n let { title, footer } = props;\n const {\n title: slotTitle,\n footer: slotFooter,\n expandedRowRender = props.expandedRowRender,\n } = $scopedSlots;\n title = title || slotTitle;\n footer = footer || slotFooter;\n const tProps = {\n props: {\n ...props,\n columns,\n title,\n footer,\n expandedRowRender,\n },\n on: getListeners(this),\n };\n return <T {...tProps} />;\n },\n};\n/* istanbul ignore next */\nTable.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Table.name, Table);\n Vue.component(Table.Column.name, Table.Column);\n Vue.component(Table.ColumnGroup.name, Table.ColumnGroup);\n};\n\nexport default Table;\n","import PropTypes from '../_util/vue-types';\nimport { PaginationProps as getPaginationProps } from '../pagination';\nimport { SpinProps as getSpinProps } from '../spin';\nimport { Store } from './createStore';\n\nconst PaginationProps = getPaginationProps();\nconst SpinProps = getSpinProps();\n\n// export type CompareFn<T> = ((a: T, b: T) => number);\nexport const ColumnFilterItem = PropTypes.shape({\n text: PropTypes.string,\n value: PropTypes.string,\n children: PropTypes.array,\n}).loose;\n\nexport const ColumnProps = {\n title: PropTypes.any,\n // key?: React.Key;\n dataIndex: PropTypes.string,\n customRender: PropTypes.func,\n customCell: PropTypes.func,\n customHeaderCell: PropTypes.func,\n align: PropTypes.oneOf(['left', 'right', 'center']),\n ellipsis: PropTypes.bool,\n filters: PropTypes.arrayOf(ColumnFilterItem),\n // onFilter: (value: any, record: T) => PropTypes.bool,\n filterMultiple: PropTypes.bool,\n filterDropdown: PropTypes.any,\n filterDropdownVisible: PropTypes.bool,\n // onFilterDropdownVisibleChange?: (visible: boolean) => void;\n sorter: PropTypes.oneOfType([PropTypes.boolean, PropTypes.func]),\n defaultSortOrder: PropTypes.oneOf(['ascend', 'descend']),\n colSpan: PropTypes.number,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n className: PropTypes.string,\n fixed: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['left', 'right'])]),\n filterIcon: PropTypes.any,\n filteredValue: PropTypes.array,\n filtered: PropTypes.bool,\n defaultFilteredValue: PropTypes.array,\n sortOrder: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['ascend', 'descend'])]),\n sortDirections: PropTypes.array,\n // children?: ColumnProps<T>[];\n // onCellClick?: (record: T, event: any) => void;\n // onCell?: (record: T) => any;\n // onHeaderCell?: (props: ColumnProps<T>) => any;\n};\n\n// export interface TableComponents {\n// table?: any;\n// header?: {\n// wrapper?: any;\n// row?: any;\n// cell?: any;\n// };\n// body?: {\n// wrapper?: any;\n// row?: any;\n// cell?: any;\n// };\n// }\n\nexport const TableLocale = PropTypes.shape({\n filterTitle: PropTypes.string,\n filterConfirm: PropTypes.any,\n filterReset: PropTypes.any,\n emptyText: PropTypes.any,\n selectAll: PropTypes.any,\n selectInvert: PropTypes.any,\n sortTitle: PropTypes.string,\n expand: PropTypes.string,\n collapse: PropTypes.string,\n}).loose;\n\nexport const RowSelectionType = PropTypes.oneOf(['checkbox', 'radio']);\n// export type SelectionSelectFn<T> = (record: T, selected: boolean, selectedRows: Object[]) => any;\n\nexport const TableRowSelection = {\n type: RowSelectionType,\n selectedRowKeys: PropTypes.array,\n // onChange?: (selectedRowKeys: string[] | number[], selectedRows: Object[]) => any;\n getCheckboxProps: PropTypes.func,\n // onSelect?: SelectionSelectFn<T>;\n // onSelectAll?: (selected: boolean, selectedRows: Object[], changeRows: Object[]) => any;\n // onSelectInvert?: (selectedRows: Object[]) => any;\n selections: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]),\n hideDefaultSelections: PropTypes.bool,\n fixed: PropTypes.bool,\n columnWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectWay: PropTypes.oneOf(['onSelect', 'onSelectMultiple', 'onSelectAll', 'onSelectInvert']),\n columnTitle: PropTypes.any,\n};\n\nexport const TableProps = {\n prefixCls: PropTypes.string,\n dropdownPrefixCls: PropTypes.string,\n rowSelection: PropTypes.oneOfType([PropTypes.shape(TableRowSelection).loose, null]),\n pagination: PropTypes.oneOfType([\n PropTypes.shape({\n ...PaginationProps,\n position: PropTypes.oneOf(['top', 'bottom', 'both']),\n }).loose,\n PropTypes.bool,\n ]),\n size: PropTypes.oneOf(['default', 'middle', 'small', 'large']),\n dataSource: PropTypes.array,\n components: PropTypes.object,\n columns: PropTypes.array,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n rowClassName: PropTypes.func,\n expandedRowRender: PropTypes.any,\n defaultExpandAllRows: PropTypes.bool,\n defaultExpandedRowKeys: PropTypes.array,\n expandedRowKeys: PropTypes.array,\n expandIconAsCell: PropTypes.bool,\n expandIconColumnIndex: PropTypes.number,\n expandRowByClick: PropTypes.bool,\n // onExpandedRowsChange?: (expandedRowKeys: string[] | number[]) => void;\n // onExpand?: (expanded: boolean, record: T) => void;\n // onChange?: (pagination: PaginationProps | boolean, filters: string[], sorter: Object) => any;\n loading: PropTypes.oneOfType([PropTypes.shape(SpinProps).loose, PropTypes.bool]),\n locale: TableLocale,\n indentSize: PropTypes.number,\n // onRowClick?: (record: T, index: number, event: Event) => any;\n customRow: PropTypes.func,\n customHeaderRow: PropTypes.func,\n useFixedHeader: PropTypes.bool,\n bordered: PropTypes.bool,\n showHeader: PropTypes.bool,\n footer: PropTypes.func,\n title: PropTypes.func,\n scroll: PropTypes.object,\n childrenColumnName: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n bodyStyle: PropTypes.any,\n sortDirections: PropTypes.array,\n tableLayout: PropTypes.string,\n getPopupContainer: PropTypes.func,\n expandIcon: PropTypes.func,\n transformCellText: PropTypes.func,\n // className?: PropTypes.string,\n // style?: React.CSSProperties;\n // children?: React.ReactNode;\n};\n\n// export interface TableStateFilters {\n// [key: string]: string[];\n// }\n\n// export interface TableState<T> {\n// pagination: PaginationProps;\n// filters: TableStateFilters;\n// sortColumn: ColumnProps<T> | null;\n// sortOrder: PropTypes.string,\n// }\n\n// export type SelectionItemSelectFn = (key: string[]) => any;\n\n// export interface SelectionItem {\n// key: PropTypes.string,\n// text: PropTypes.any,\n// onSelect: SelectionItemSelectFn;\n// }\n\nexport const SelectionCheckboxAllProps = {\n store: Store,\n locale: PropTypes.any,\n disabled: PropTypes.bool,\n getCheckboxPropsByItem: PropTypes.func,\n getRecordKey: PropTypes.func,\n data: PropTypes.array,\n prefixCls: PropTypes.string,\n // onSelect: (key: string, index: number, selectFunc: any) => void;\n hideDefaultSelections: PropTypes.bool,\n selections: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]),\n getPopupContainer: PropTypes.func,\n};\n\n// export interface SelectionCheckboxAllState {\n// checked: PropTypes.bool,\n// indeterminate: PropTypes.bool,\n// }\n\nexport const SelectionBoxProps = {\n store: Store,\n type: RowSelectionType,\n defaultSelection: PropTypes.arrayOf([PropTypes.string, PropTypes.number]),\n rowIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n name: PropTypes.string,\n disabled: PropTypes.bool,\n id: PropTypes.string,\n // onChange: React.ChangeEventHandler<HTMLInputElement>;\n};\n\n// export interface SelectionBoxState {\n// checked?: PropTypes.bool,\n// }\n\nexport const FilterMenuProps = {\n _propsSymbol: PropTypes.any,\n locale: TableLocale,\n selectedKeys: PropTypes.arrayOf([PropTypes.string, PropTypes.number]),\n column: PropTypes.object,\n confirmFilter: PropTypes.func,\n prefixCls: PropTypes.string,\n dropdownPrefixCls: PropTypes.string,\n getPopupContainer: PropTypes.func,\n handleFilter: PropTypes.func,\n};\n\n// export interface FilterMenuState {\n// selectedKeys: string[];\n// keyPathOfSelectedItem: { [key: string]: string };\n// visible?: PropTypes.bool,\n// }\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\n// deps-lint-skip: menu\nimport '../../empty/style';\nimport '../../radio/style';\nimport '../../checkbox/style';\nimport '../../dropdown/style';\nimport '../../spin/style';\nimport '../../pagination/style';\n","// extracted by mini-css-extract-plugin","export function flatArray(data = [], childrenName = 'children') {\n const result = [];\n const loop = array => {\n array.forEach(item => {\n if (item[childrenName]) {\n const newItem = { ...item };\n delete newItem[childrenName];\n result.push(newItem);\n if (item[childrenName].length > 0) {\n loop(item[childrenName]);\n }\n } else {\n result.push(item);\n }\n });\n };\n loop(data);\n return result;\n}\n\nexport function treeMap(tree, mapper, childrenName = 'children') {\n return tree.map((node, index) => {\n const extra = {};\n if (node[childrenName]) {\n extra[childrenName] = treeMap(node[childrenName], mapper, childrenName);\n }\n return {\n ...mapper(node, index),\n ...extra,\n };\n });\n}\n\nexport function flatFilter(tree, callback) {\n return tree.reduce((acc, node) => {\n if (callback(node)) {\n acc.push(node);\n }\n if (node.children) {\n const children = flatFilter(node.children, callback);\n acc.push(...children);\n }\n return acc;\n }, []);\n}\n\n// export function normalizeColumns (elements) {\n// const columns = []\n// React.Children.forEach(elements, (element) => {\n// if (!React.isValidElement(element)) {\n// return\n// }\n// const column = {\n// ...element.props,\n// }\n// if (element.key) {\n// column.key = element.key\n// }\n// if (element.type && element.type.__ANT_TABLE_COLUMN_GROUP) {\n// column.children = normalizeColumns(column.children)\n// }\n// columns.push(column)\n// })\n// return columns\n// }\n\nexport function generateValueMaps(items, maps = {}) {\n (items || []).forEach(({ value, children }) => {\n maps[value.toString()] = value;\n generateValueMaps(children, maps);\n });\n return maps;\n}\n","import Icon from '../icon';\nimport ScrollableInkTabBar from '../vc-tabs/src/ScrollableInkTabBar';\nimport { cloneElement } from '../_util/vnode';\nimport PropTypes from '../_util/vue-types';\nimport { getListeners } from '../_util/props-util';\nconst TabBar = {\n name: 'TabBar',\n inheritAttrs: false,\n props: {\n prefixCls: PropTypes.string,\n tabBarStyle: PropTypes.object,\n tabBarExtraContent: PropTypes.any,\n type: PropTypes.oneOf(['line', 'card', 'editable-card']),\n tabPosition: PropTypes.oneOf(['top', 'right', 'bottom', 'left']).def('top'),\n tabBarPosition: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),\n size: PropTypes.oneOf(['default', 'small', 'large']),\n animated: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n renderTabBar: PropTypes.func,\n panels: PropTypes.array.def([]),\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n tabBarGutter: PropTypes.number,\n },\n render() {\n const {\n tabBarStyle,\n animated = true,\n renderTabBar,\n tabBarExtraContent,\n tabPosition,\n prefixCls,\n type = 'line',\n size,\n } = this.$props;\n const inkBarAnimated = typeof animated === 'object' ? animated.inkBar : animated;\n\n const isVertical = tabPosition === 'left' || tabPosition === 'right';\n const prevIconType = isVertical ? 'up' : 'left';\n const nextIconType = isVertical ? 'down' : 'right';\n const prevIcon = (\n <span class={`${prefixCls}-tab-prev-icon`}>\n <Icon type={prevIconType} class={`${prefixCls}-tab-prev-icon-target`} />\n </span>\n );\n const nextIcon = (\n <span class={`${prefixCls}-tab-next-icon`}>\n <Icon type={nextIconType} class={`${prefixCls}-tab-next-icon-target`} />\n </span>\n );\n\n // Additional className for style usage\n const cls = {\n [`${prefixCls}-${tabPosition}-bar`]: true,\n [`${prefixCls}-${size}-bar`]: !!size,\n [`${prefixCls}-card-bar`]: type && type.indexOf('card') >= 0,\n };\n\n const renderProps = {\n props: {\n ...this.$props,\n ...this.$attrs,\n inkBarAnimated,\n extraContent: tabBarExtraContent,\n prevIcon,\n nextIcon,\n },\n style: tabBarStyle,\n on: getListeners(this),\n class: cls,\n };\n\n let RenderTabBar;\n\n if (renderTabBar) {\n RenderTabBar = renderTabBar(renderProps, ScrollableInkTabBar);\n // https://github.com/vueComponent/ant-design-vue/issues/2157\n return cloneElement(RenderTabBar, renderProps);\n } else {\n return <ScrollableInkTabBar {...renderProps} />;\n }\n },\n};\n\nexport default TabBar;\n","import ref from 'vue-ref';\nimport Vue from 'vue';\nimport Tabs from './tabs';\nimport TabPane from '../vc-tabs/src/TabPane';\nimport TabContent from '../vc-tabs/src/TabContent';\nimport Base from '../base';\n\nTabs.TabPane = { ...TabPane, name: 'ATabPane', __ANT_TAB_PANE: true };\nTabs.TabContent = { ...TabContent, name: 'ATabContent' };\nVue.use(ref, { name: 'ant-ref' });\n\n/* istanbul ignore next */\nTabs.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Tabs.name, Tabs);\n Vue.component(Tabs.TabPane.name, Tabs.TabPane);\n Vue.component(Tabs.TabContent.name, Tabs.TabContent);\n};\n\nexport default Tabs;\nexport { TabPane, TabContent };\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import Icon from '../icon';\nimport VcTabs, { TabPane } from '../vc-tabs/src';\nimport TabContent from '../vc-tabs/src/TabContent';\nimport { isFlexSupported } from '../_util/styleChecker';\nimport PropTypes from '../_util/vue-types';\nimport {\n getComponentFromProp,\n getOptionProps,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport isValid from '../_util/isValid';\nimport { ConfigConsumerProps } from '../config-provider';\nimport TabBar from './TabBar';\n\nexport default {\n TabPane,\n name: 'ATabs',\n model: {\n prop: 'activeKey',\n event: 'change',\n },\n props: {\n prefixCls: PropTypes.string,\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n defaultActiveKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n hideAdd: PropTypes.bool.def(false),\n tabBarStyle: PropTypes.object,\n tabBarExtraContent: PropTypes.any,\n destroyInactiveTabPane: PropTypes.bool.def(false),\n type: PropTypes.oneOf(['line', 'card', 'editable-card']),\n tabPosition: PropTypes.oneOf(['top', 'right', 'bottom', 'left']).def('top'),\n size: PropTypes.oneOf(['default', 'small', 'large']),\n animated: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n tabBarGutter: PropTypes.number,\n renderTabBar: PropTypes.func,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n mounted() {\n const NO_FLEX = ' no-flex';\n const tabNode = this.$el;\n if (tabNode && !isFlexSupported && tabNode.className.indexOf(NO_FLEX) === -1) {\n tabNode.className += NO_FLEX;\n }\n },\n methods: {\n removeTab(targetKey, e) {\n e.stopPropagation();\n if (isValid(targetKey)) {\n this.$emit('edit', targetKey, 'remove');\n }\n },\n handleChange(activeKey) {\n this.$emit('change', activeKey);\n },\n createNewTab(targetKey) {\n this.$emit('edit', targetKey, 'add');\n },\n onTabClick(val) {\n this.$emit('tabClick', val);\n },\n onPrevClick(val) {\n this.$emit('prevClick', val);\n },\n onNextClick(val) {\n this.$emit('nextClick', val);\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const {\n prefixCls: customizePrefixCls,\n size,\n type = 'line',\n tabPosition,\n animated = true,\n hideAdd,\n renderTabBar,\n } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('tabs', customizePrefixCls);\n const children = filterEmpty(this.$slots.default);\n\n let tabBarExtraContent = getComponentFromProp(this, 'tabBarExtraContent');\n let tabPaneAnimated = typeof animated === 'object' ? animated.tabPane : animated;\n\n // card tabs should not have animation\n if (type !== 'line') {\n tabPaneAnimated = 'animated' in props ? tabPaneAnimated : false;\n }\n const cls = {\n [`${prefixCls}-vertical`]: tabPosition === 'left' || tabPosition === 'right',\n [`${prefixCls}-${size}`]: !!size,\n [`${prefixCls}-card`]: type.indexOf('card') >= 0,\n [`${prefixCls}-${type}`]: true,\n [`${prefixCls}-no-animation`]: !tabPaneAnimated,\n };\n // only card type tabs can be added and closed\n let childrenWithClose = [];\n if (type === 'editable-card') {\n childrenWithClose = [];\n children.forEach((child, index) => {\n const props = getOptionProps(child);\n let closable = props.closable;\n closable = typeof closable === 'undefined' ? true : closable;\n const closeIcon = closable ? (\n <Icon\n type=\"close\"\n class={`${prefixCls}-close-x`}\n onClick={e => this.removeTab(child.key, e)}\n />\n ) : null;\n childrenWithClose.push(\n cloneElement(child, {\n props: {\n tab: (\n <div class={closable ? undefined : `${prefixCls}-tab-unclosable`}>\n {getComponentFromProp(child, 'tab')}\n {closeIcon}\n </div>\n ),\n },\n key: child.key || index,\n }),\n );\n });\n // Add new tab handler\n if (!hideAdd) {\n tabBarExtraContent = (\n <span>\n <Icon type=\"plus\" class={`${prefixCls}-new-tab`} onClick={this.createNewTab} />\n {tabBarExtraContent}\n </span>\n );\n }\n }\n\n tabBarExtraContent = tabBarExtraContent ? (\n <div class={`${prefixCls}-extra-content`}>{tabBarExtraContent}</div>\n ) : null;\n\n const renderTabBarSlot = renderTabBar || this.$scopedSlots.renderTabBar;\n const listeners = getListeners(this);\n const tabBarProps = {\n props: {\n ...this.$props,\n prefixCls,\n tabBarExtraContent,\n renderTabBar: renderTabBarSlot,\n },\n on: listeners,\n };\n const contentCls = {\n [`${prefixCls}-${tabPosition}-content`]: true,\n [`${prefixCls}-card-content`]: type.indexOf('card') >= 0,\n };\n const tabsProps = {\n props: {\n ...getOptionProps(this),\n prefixCls,\n tabBarPosition: tabPosition,\n // https://github.com/vueComponent/ant-design-vue/issues/2030\n // 如仅传递 tabBarProps 会导致,第二次执行 renderTabBar 时,丢失 on 属性,\n // 添加key之后,会在babel jsx 插件中做一次merge,最终TabBar接收的是一个新的对象,而不是 tabBarProps\n renderTabBar: () => <TabBar key=\"tabBar\" {...tabBarProps} />,\n renderTabContent: () => (\n <TabContent class={contentCls} animated={tabPaneAnimated} animatedWithMargin />\n ),\n children: childrenWithClose.length > 0 ? childrenWithClose : children,\n __propsSymbol__: Symbol(),\n },\n on: {\n ...listeners,\n change: this.handleChange,\n },\n class: cls,\n };\n return <VcTabs {...tabsProps} />;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider';\n\nexport default {\n name: 'ACheckableTag',\n model: {\n prop: 'checked',\n },\n props: {\n prefixCls: PropTypes.string,\n checked: Boolean,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n computed: {\n classes() {\n const { checked, prefixCls: customizePrefixCls } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('tag', customizePrefixCls);\n return {\n [`${prefixCls}`]: true,\n [`${prefixCls}-checkable`]: true,\n [`${prefixCls}-checkable-checked`]: checked,\n };\n },\n },\n methods: {\n handleClick() {\n const { checked } = this;\n this.$emit('input', !checked);\n this.$emit('change', !checked);\n },\n },\n render() {\n const { classes, handleClick, $slots } = this;\n return (\n <div class={classes} onClick={handleClick}>\n {$slots.default}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport Icon from '../icon';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport omit from 'omit.js';\nimport Wave from '../_util/wave';\nimport { hasProp, getListeners, getOptionProps } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider';\nimport warning from '../_util/warning';\n\nconst PresetColorTypes = [\n 'pink',\n 'red',\n 'yellow',\n 'orange',\n 'cyan',\n 'green',\n 'blue',\n 'purple',\n 'geekblue',\n 'magenta',\n 'volcano',\n 'gold',\n 'lime',\n];\nconst PresetColorRegex = new RegExp(`^(${PresetColorTypes.join('|')})(-inverse)?$`);\n\nexport default {\n name: 'ATag',\n mixins: [BaseMixin],\n model: {\n prop: 'visible',\n event: 'close.visible',\n },\n props: {\n prefixCls: PropTypes.string,\n color: PropTypes.string,\n closable: PropTypes.bool.def(false),\n visible: PropTypes.bool,\n afterClose: PropTypes.func,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n let _visible = true;\n const props = getOptionProps(this);\n if ('visible' in props) {\n _visible = this.visible;\n }\n warning(\n !('afterClose' in props),\n 'Tag',\n \"'afterClose' will be deprecated, please use 'close' event, we will remove this in the next version.\",\n );\n return {\n _visible,\n };\n },\n watch: {\n visible(val) {\n this.setState({\n _visible: val,\n });\n },\n },\n methods: {\n setVisible(visible, e) {\n this.$emit('close', e);\n this.$emit('close.visible', false);\n const afterClose = this.afterClose;\n if (afterClose) {\n // next version remove.\n afterClose();\n }\n if (e.defaultPrevented) {\n return;\n }\n if (!hasProp(this, 'visible')) {\n this.setState({ _visible: visible });\n }\n },\n\n handleIconClick(e) {\n e.stopPropagation();\n this.setVisible(false, e);\n },\n\n isPresetColor() {\n const { color } = this.$props;\n if (!color) {\n return false;\n }\n return PresetColorRegex.test(color);\n },\n getTagStyle() {\n const { color } = this.$props;\n const isPresetColor = this.isPresetColor();\n return {\n backgroundColor: color && !isPresetColor ? color : undefined,\n };\n },\n\n getTagClassName(prefixCls) {\n const { color } = this.$props;\n const isPresetColor = this.isPresetColor();\n return {\n [prefixCls]: true,\n [`${prefixCls}-${color}`]: isPresetColor,\n [`${prefixCls}-has-color`]: color && !isPresetColor,\n };\n },\n\n renderCloseIcon() {\n const { closable } = this.$props;\n return closable ? <Icon type=\"close\" onClick={this.handleIconClick} /> : null;\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls } = this.$props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('tag', customizePrefixCls);\n const { _visible: visible } = this.$data;\n const tag = (\n <span\n v-show={visible}\n {...{ on: omit(getListeners(this), ['close']) }}\n class={this.getTagClassName(prefixCls)}\n style={this.getTagStyle()}\n >\n {this.$slots.default}\n {this.renderCloseIcon()}\n </span>\n );\n const transitionProps = getTransitionProps(`${prefixCls}-zoom`, {\n appear: false,\n });\n return (\n <Wave>\n <transition {...transitionProps}>{tag}</transition>\n </Wave>\n );\n },\n};\n","import Tag from './Tag';\nimport CheckableTag from './CheckableTag';\nimport Base from '../base';\n\nTag.CheckableTag = CheckableTag;\n\n/* istanbul ignore next */\nTag.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Tag.name, Tag);\n Vue.component(Tag.CheckableTag.name, Tag.CheckableTag);\n};\n\nexport default Tag;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import omit from 'omit.js';\nimport VcTimePicker from '../vc-time-picker';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport BaseMixin from '../_util/BaseMixin';\nimport PropTypes from '../_util/vue-types';\nimport warning from '../_util/warning';\nimport Icon from '../icon';\nimport enUS from './locale/en_US';\nimport {\n initDefaultProps,\n hasProp,\n getOptionProps,\n getComponentFromProp,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Base from '../base';\nimport {\n checkValidate,\n stringToMoment,\n momentToString,\n TimeOrTimesType,\n} from '../_util/moment-util';\n\nexport function generateShowHourMinuteSecond(format) {\n // Ref: http://momentjs.com/docs/#/parsing/string-format/\n return {\n showHour: format.indexOf('H') > -1 || format.indexOf('h') > -1 || format.indexOf('k') > -1,\n showMinute: format.indexOf('m') > -1,\n showSecond: format.indexOf('s') > -1,\n };\n}\n\nexport const TimePickerProps = () => ({\n size: PropTypes.oneOf(['large', 'default', 'small']),\n value: TimeOrTimesType,\n defaultValue: TimeOrTimesType,\n open: PropTypes.bool,\n format: PropTypes.string,\n disabled: PropTypes.bool,\n placeholder: PropTypes.string,\n prefixCls: PropTypes.string,\n hideDisabledOptions: PropTypes.bool,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n getPopupContainer: PropTypes.func,\n use12Hours: PropTypes.bool,\n focusOnOpen: PropTypes.bool,\n hourStep: PropTypes.number,\n minuteStep: PropTypes.number,\n secondStep: PropTypes.number,\n allowEmpty: PropTypes.bool,\n allowClear: PropTypes.bool,\n inputReadOnly: PropTypes.bool,\n clearText: PropTypes.string,\n defaultOpenValue: PropTypes.object,\n popupClassName: PropTypes.string,\n popupStyle: PropTypes.object,\n suffixIcon: PropTypes.any,\n align: PropTypes.object,\n placement: PropTypes.any,\n transitionName: PropTypes.string,\n autoFocus: PropTypes.bool,\n addon: PropTypes.any,\n clearIcon: PropTypes.any,\n locale: PropTypes.object,\n valueFormat: PropTypes.string,\n});\n\nconst TimePicker = {\n name: 'ATimePicker',\n mixins: [BaseMixin],\n props: initDefaultProps(TimePickerProps(), {\n align: {\n offset: [0, -2],\n },\n disabled: false,\n disabledHours: undefined,\n disabledMinutes: undefined,\n disabledSeconds: undefined,\n hideDisabledOptions: false,\n placement: 'bottomLeft',\n transitionName: 'slide-up',\n focusOnOpen: true,\n allowClear: true,\n }),\n model: {\n prop: 'value',\n event: 'change',\n },\n provide() {\n return {\n savePopupRef: this.savePopupRef,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const { value, defaultValue, valueFormat } = this;\n\n checkValidate('TimePicker', defaultValue, 'defaultValue', valueFormat);\n checkValidate('TimePicker', value, 'value', valueFormat);\n warning(\n !hasProp(this, 'allowEmpty'),\n 'TimePicker',\n '`allowEmpty` is deprecated. Please use `allowClear` instead.',\n );\n return {\n sValue: stringToMoment(value || defaultValue, valueFormat),\n };\n },\n watch: {\n value(val) {\n checkValidate('TimePicker', val, 'value', this.valueFormat);\n this.setState({ sValue: stringToMoment(val, this.valueFormat) });\n },\n },\n methods: {\n getDefaultFormat() {\n const { format, use12Hours } = this;\n if (format) {\n return format;\n } else if (use12Hours) {\n return 'h:mm:ss a';\n }\n return 'HH:mm:ss';\n },\n\n getAllowClear() {\n const { allowClear, allowEmpty } = this.$props;\n if (hasProp(this, 'allowClear')) {\n return allowClear;\n }\n return allowEmpty;\n },\n getDefaultLocale() {\n const defaultLocale = {\n ...enUS,\n ...this.$props.locale,\n };\n return defaultLocale;\n },\n savePopupRef(ref) {\n this.popupRef = ref;\n },\n handleChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState({ sValue: value });\n }\n const { format = 'HH:mm:ss' } = this;\n this.$emit(\n 'change',\n this.valueFormat ? momentToString(value, this.valueFormat) : value,\n (value && value.format(format)) || '',\n );\n },\n\n handleOpenClose({ open }) {\n this.$emit('openChange', open);\n this.$emit('update:open', open);\n },\n\n focus() {\n this.$refs.timePicker.focus();\n },\n\n blur() {\n this.$refs.timePicker.blur();\n },\n\n renderInputIcon(prefixCls) {\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n const clockIcon = (suffixIcon &&\n isValidElement(suffixIcon) &&\n cloneElement(suffixIcon, {\n class: `${prefixCls}-clock-icon`,\n })) || <Icon type=\"clock-circle\" class={`${prefixCls}-clock-icon`} />;\n\n return <span class={`${prefixCls}-icon`}>{clockIcon}</span>;\n },\n\n renderClearIcon(prefixCls) {\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const clearIconPrefixCls = `${prefixCls}-clear`;\n\n if (clearIcon && isValidElement(clearIcon)) {\n return cloneElement(clearIcon, {\n class: clearIconPrefixCls,\n });\n }\n\n return <Icon type=\"close-circle\" class={clearIconPrefixCls} theme=\"filled\" />;\n },\n\n renderTimePicker(locale) {\n let props = getOptionProps(this);\n props = omit(props, ['defaultValue', 'suffixIcon', 'allowEmpty', 'allowClear']);\n\n const { prefixCls: customizePrefixCls, getPopupContainer, placeholder, size } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('time-picker', customizePrefixCls);\n\n const format = this.getDefaultFormat();\n const pickerClassName = {\n [`${prefixCls}-${size}`]: !!size,\n };\n const tempAddon = getComponentFromProp(this, 'addon', {}, false);\n const pickerAddon = panel => {\n return tempAddon ? (\n <div class={`${prefixCls}-panel-addon`}>\n {typeof tempAddon === 'function' ? tempAddon(panel) : tempAddon}\n </div>\n ) : null;\n };\n const inputIcon = this.renderInputIcon(prefixCls);\n const clearIcon = this.renderClearIcon(prefixCls);\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const timeProps = {\n props: {\n ...generateShowHourMinuteSecond(format),\n ...props,\n allowEmpty: this.getAllowClear(),\n prefixCls,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n format,\n value: this.sValue,\n placeholder: placeholder === undefined ? locale.placeholder : placeholder,\n addon: pickerAddon,\n inputIcon,\n clearIcon,\n },\n class: pickerClassName,\n ref: 'timePicker',\n on: {\n ...getListeners(this),\n change: this.handleChange,\n open: this.handleOpenClose,\n close: this.handleOpenClose,\n },\n };\n return <VcTimePicker {...timeProps} />;\n },\n },\n\n render() {\n return (\n <LocaleReceiver\n componentName=\"TimePicker\"\n defaultLocale={this.getDefaultLocale()}\n scopedSlots={{ default: this.renderTimePicker }}\n />\n );\n },\n};\n\n/* istanbul ignore next */\nTimePicker.install = function(Vue) {\n Vue.use(Base);\n Vue.component(TimePicker.name, TimePicker);\n};\n\nexport default TimePicker;\n","const locale = {\n placeholder: 'Select time',\n};\n\nexport default locale;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport {\n getOptionProps,\n getPropsData,\n initDefaultProps,\n filterEmpty,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport TimelineItem from './TimelineItem';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider';\n\nexport const TimelineProps = {\n prefixCls: PropTypes.string,\n /** 指定最后一个幽灵节点是否存在或内容 */\n pending: PropTypes.any,\n pendingDot: PropTypes.string,\n reverse: PropTypes.bool,\n mode: PropTypes.oneOf(['left', 'alternate', 'right', '']),\n};\n\nexport default {\n name: 'ATimeline',\n props: initDefaultProps(TimelineProps, {\n reverse: false,\n mode: '',\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls, reverse, mode, ...restProps } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('timeline', customizePrefixCls);\n\n const pendingDot = getComponentFromProp(this, 'pendingDot');\n const pending = getComponentFromProp(this, 'pending');\n const pendingNode = typeof pending === 'boolean' ? null : pending;\n const classString = classNames(prefixCls, {\n [`${prefixCls}-pending`]: !!pending,\n [`${prefixCls}-reverse`]: !!reverse,\n [`${prefixCls}-${mode}`]: !!mode,\n });\n const children = filterEmpty(this.$slots.default);\n // // Remove falsy items\n // const falsylessItems = filterEmpty(this.$slots.default)\n // const items = falsylessItems.map((item, idx) => {\n // return cloneElement(item, {\n // props: {\n // last: falsylessItems.length - 1 === idx,\n // },\n // })\n // })\n const pendingItem = pending ? (\n <TimelineItem pending={!!pending}>\n <template slot=\"dot\">{pendingDot || <Icon type=\"loading\" />}</template>\n {pendingNode}\n </TimelineItem>\n ) : null;\n\n const timeLineItems = reverse\n ? [pendingItem, ...children.reverse()]\n : [...children, pendingItem];\n\n const getPositionCls = (ele, idx) => {\n const eleProps = getPropsData(ele);\n if (mode === 'alternate') {\n if (eleProps.position === 'right') return `${prefixCls}-item-right`;\n if (eleProps.position === 'left') return `${prefixCls}-item-left`;\n return idx % 2 === 0 ? `${prefixCls}-item-left` : `${prefixCls}-item-right`;\n }\n if (mode === 'left') return `${prefixCls}-item-left`;\n if (mode === 'right') return `${prefixCls}-item-right`;\n if (eleProps.position === 'right') return `${prefixCls}-item-right`;\n return '';\n };\n\n // Remove falsy items\n const truthyItems = timeLineItems.filter(item => !!item);\n const itemsCount = truthyItems.length;\n const lastCls = `${prefixCls}-item-last`;\n const items = truthyItems.map((ele, idx) => {\n const pendingClass = idx === itemsCount - 2 ? lastCls : '';\n const readyClass = idx === itemsCount - 1 ? lastCls : '';\n return cloneElement(ele, {\n class: classNames([\n !reverse && !!pending ? pendingClass : readyClass,\n getPositionCls(ele, idx),\n ]),\n });\n });\n\n const timelineProps = {\n props: {\n ...restProps,\n },\n class: classString,\n on: getListeners(this),\n };\n return <ul {...timelineProps}>{items}</ul>;\n },\n};\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport {\n getOptionProps,\n initDefaultProps,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\n\nexport const TimeLineItemProps = {\n prefixCls: PropTypes.string,\n color: PropTypes.string,\n dot: PropTypes.any,\n pending: PropTypes.bool,\n position: PropTypes.oneOf(['left', 'right', '']).def(''),\n};\n\nexport default {\n name: 'ATimelineItem',\n props: initDefaultProps(TimeLineItemProps, {\n color: 'blue',\n pending: false,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls, color = '', pending } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('timeline', customizePrefixCls);\n\n const dot = getComponentFromProp(this, 'dot');\n const itemClassName = classNames({\n [`${prefixCls}-item`]: true,\n [`${prefixCls}-item-pending`]: pending,\n });\n\n const dotClassName = classNames({\n [`${prefixCls}-item-head`]: true,\n [`${prefixCls}-item-head-custom`]: dot,\n [`${prefixCls}-item-head-${color}`]: true,\n });\n const liProps = {\n class: itemClassName,\n on: getListeners(this),\n };\n return (\n <li {...liProps}>\n <div class={`${prefixCls}-item-tail`} />\n <div\n class={dotClassName}\n style={{ borderColor: /blue|red|green|gray/.test(color) ? undefined : color }}\n >\n {dot}\n </div>\n <div class={`${prefixCls}-item-content`}>{this.$slots.default}</div>\n </li>\n );\n },\n};\n","import Timeline from './Timeline';\nimport TimelineItem from './TimelineItem';\nimport Base from '../base';\n\nexport { TimelineProps } from './Timeline';\nexport { TimeLineItemProps } from './TimelineItem';\n\nTimeline.Item = TimelineItem;\n\n/* istanbul ignore next */\nTimeline.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Timeline.name, Timeline);\n Vue.component(TimelineItem.name, TimelineItem);\n};\n\nexport default Timeline;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import { cloneElement } from '../_util/vnode';\nimport VcTooltip from '../vc-tooltip';\nimport getPlacements from './placements';\nimport PropTypes from '../_util/vue-types';\nimport {\n hasProp,\n getComponentFromProp,\n getClass,\n getStyle,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport abstractTooltipProps from './abstractTooltipProps';\n\nconst splitObject = (obj, keys) => {\n const picked = {};\n const omitted = { ...obj };\n keys.forEach(key => {\n if (obj && key in obj) {\n picked[key] = obj[key];\n delete omitted[key];\n }\n });\n return { picked, omitted };\n};\nconst props = abstractTooltipProps();\nexport default {\n name: 'ATooltip',\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n props: {\n ...props,\n title: PropTypes.any,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n sVisible: !!this.$props.visible || !!this.$props.defaultVisible,\n };\n },\n watch: {\n visible(val) {\n this.sVisible = val;\n },\n },\n methods: {\n onVisibleChange(visible) {\n if (!hasProp(this, 'visible')) {\n this.sVisible = this.isNoTitle() ? false : visible;\n }\n if (!this.isNoTitle()) {\n this.$emit('visibleChange', visible);\n }\n },\n\n getPopupDomNode() {\n return this.$refs.tooltip.getPopupDomNode();\n },\n\n getPlacements() {\n const { builtinPlacements, arrowPointAtCenter, autoAdjustOverflow } = this.$props;\n return (\n builtinPlacements ||\n getPlacements({\n arrowPointAtCenter,\n verticalArrowShift: 8,\n autoAdjustOverflow,\n })\n );\n },\n\n // Fix Tooltip won't hide at disabled button\n // mouse events don't trigger at disabled button in Chrome\n // https://github.com/react-component/tooltip/issues/18\n getDisabledCompatibleChildren(ele) {\n const options = (ele.componentOptions && ele.componentOptions.Ctor.options) || {};\n\n if (\n ((options.__ANT_BUTTON === true ||\n options.__ANT_SWITCH === true ||\n options.__ANT_CHECKBOX === true) &&\n (ele.componentOptions.propsData.disabled ||\n ele.componentOptions.propsData.disabled === '')) ||\n (ele.tag === 'button' &&\n ele.data &&\n ele.data.attrs &&\n ele.data.attrs.disabled !== undefined)\n ) {\n // Pick some layout related style properties up to span\n // Prevent layout bugs like https://github.com/ant-design/ant-design/issues/5254\n const { picked, omitted } = splitObject(getStyle(ele), [\n 'position',\n 'left',\n 'right',\n 'top',\n 'bottom',\n 'float',\n 'display',\n 'zIndex',\n ]);\n const spanStyle = {\n display: 'inline-block', // default inline-block is important\n ...picked,\n cursor: 'not-allowed',\n width: ele.componentOptions.propsData.block ? '100%' : null,\n };\n const buttonStyle = {\n ...omitted,\n pointerEvents: 'none',\n };\n const spanCls = getClass(ele);\n const child = cloneElement(ele, {\n style: buttonStyle,\n class: null,\n });\n return (\n <span style={spanStyle} class={spanCls}>\n {child}\n </span>\n );\n }\n return ele;\n },\n\n isNoTitle() {\n const title = getComponentFromProp(this, 'title');\n return !title && title !== 0;\n },\n\n getOverlay() {\n const title = getComponentFromProp(this, 'title');\n if (title === 0) {\n return title;\n }\n return title || '';\n },\n\n // 动态设置动画点\n onPopupAlign(domNode, align) {\n const placements = this.getPlacements();\n // 当前返回的位置\n const placement = Object.keys(placements).filter(\n key =>\n placements[key].points[0] === align.points[0] &&\n placements[key].points[1] === align.points[1],\n )[0];\n if (!placement) {\n return;\n }\n // 根据当前坐标设置动画点\n const rect = domNode.getBoundingClientRect();\n const transformOrigin = {\n top: '50%',\n left: '50%',\n };\n if (placement.indexOf('top') >= 0 || placement.indexOf('Bottom') >= 0) {\n transformOrigin.top = `${rect.height - align.offset[1]}px`;\n } else if (placement.indexOf('Top') >= 0 || placement.indexOf('bottom') >= 0) {\n transformOrigin.top = `${-align.offset[1]}px`;\n }\n if (placement.indexOf('left') >= 0 || placement.indexOf('Right') >= 0) {\n transformOrigin.left = `${rect.width - align.offset[0]}px`;\n } else if (placement.indexOf('right') >= 0 || placement.indexOf('Left') >= 0) {\n transformOrigin.left = `${-align.offset[0]}px`;\n }\n domNode.style.transformOrigin = `${transformOrigin.left} ${transformOrigin.top}`;\n },\n },\n\n render() {\n const { $props, $data, $slots } = this;\n const { prefixCls: customizePrefixCls, openClassName, getPopupContainer } = $props;\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('tooltip', customizePrefixCls);\n let children = ($slots.default || []).filter(c => c.tag || c.text.trim() !== '');\n children = children.length === 1 ? children[0] : children;\n let sVisible = $data.sVisible;\n // Hide tooltip when there is no title\n if (!hasProp(this, 'visible') && this.isNoTitle()) {\n sVisible = false;\n }\n if (!children) {\n return null;\n }\n const child = this.getDisabledCompatibleChildren(\n isValidElement(children) ? children : <span>{children}</span>,\n );\n const childCls = {\n [openClassName || `${prefixCls}-open`]: true,\n };\n const tooltipProps = {\n props: {\n ...$props,\n prefixCls,\n getTooltipContainer: getPopupContainer || getContextPopupContainer,\n builtinPlacements: this.getPlacements(),\n overlay: this.getOverlay(),\n visible: sVisible,\n },\n ref: 'tooltip',\n on: {\n ...getListeners(this),\n visibleChange: this.onVisibleChange,\n popupAlign: this.onPopupAlign,\n },\n };\n return (\n <VcTooltip {...tooltipProps}>\n {sVisible ? cloneElement(child, { class: childCls }) : child}\n </VcTooltip>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nconst triggerType = PropTypes.oneOf(['hover', 'focus', 'click', 'contextmenu']);\nexport default () => ({\n trigger: PropTypes.oneOfType([triggerType, PropTypes.arrayOf(triggerType)]).def('hover'),\n visible: PropTypes.bool,\n defaultVisible: PropTypes.bool,\n placement: PropTypes.oneOf([\n 'top',\n 'left',\n 'right',\n 'bottom',\n 'topLeft',\n 'topRight',\n 'bottomLeft',\n 'bottomRight',\n 'leftTop',\n 'leftBottom',\n 'rightTop',\n 'rightBottom',\n ]).def('top'),\n transitionName: PropTypes.string.def('zoom-big-fast'),\n // onVisibleChange: PropTypes.func,\n overlayStyle: PropTypes.object.def(() => ({})),\n overlayClassName: PropTypes.string,\n prefixCls: PropTypes.string,\n mouseEnterDelay: PropTypes.number.def(0.1),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n getPopupContainer: PropTypes.func,\n arrowPointAtCenter: PropTypes.bool.def(false),\n autoAdjustOverflow: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]).def(true),\n destroyTooltipOnHide: PropTypes.bool.def(false),\n align: PropTypes.object.def(() => ({})),\n builtinPlacements: PropTypes.object,\n});\n","import ToolTip from './Tooltip';\nimport Base from '../base';\n\n/* istanbul ignore next */\nToolTip.install = function(Vue) {\n Vue.use(Base);\n Vue.component(ToolTip.name, ToolTip);\n};\n\nexport default ToolTip;\n","import { placements as rcPlacements } from '../vc-tooltip/placements';\n\nconst autoAdjustOverflowEnabled = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst autoAdjustOverflowDisabled = {\n adjustX: 0,\n adjustY: 0,\n};\n\nconst targetOffset = [0, 0];\n\nexport function getOverflowOptions(autoAdjustOverflow) {\n if (typeof autoAdjustOverflow === 'boolean') {\n return autoAdjustOverflow ? autoAdjustOverflowEnabled : autoAdjustOverflowDisabled;\n }\n return {\n ...autoAdjustOverflowDisabled,\n ...autoAdjustOverflow,\n };\n}\n\nexport default function getPlacements(config) {\n const {\n arrowWidth = 5,\n horizontalArrowShift = 16,\n verticalArrowShift = 12,\n autoAdjustOverflow = true,\n } = config;\n const placementMap = {\n left: {\n points: ['cr', 'cl'],\n offset: [-4, 0],\n },\n right: {\n points: ['cl', 'cr'],\n offset: [4, 0],\n },\n top: {\n points: ['bc', 'tc'],\n offset: [0, -4],\n },\n bottom: {\n points: ['tc', 'bc'],\n offset: [0, 4],\n },\n topLeft: {\n points: ['bl', 'tc'],\n offset: [-(horizontalArrowShift + arrowWidth), -4],\n },\n leftTop: {\n points: ['tr', 'cl'],\n offset: [-4, -(verticalArrowShift + arrowWidth)],\n },\n topRight: {\n points: ['br', 'tc'],\n offset: [horizontalArrowShift + arrowWidth, -4],\n },\n rightTop: {\n points: ['tl', 'cr'],\n offset: [4, -(verticalArrowShift + arrowWidth)],\n },\n bottomRight: {\n points: ['tr', 'bc'],\n offset: [horizontalArrowShift + arrowWidth, 4],\n },\n rightBottom: {\n points: ['bl', 'cr'],\n offset: [4, verticalArrowShift + arrowWidth],\n },\n bottomLeft: {\n points: ['tl', 'bc'],\n offset: [-(horizontalArrowShift + arrowWidth), 4],\n },\n leftBottom: {\n points: ['br', 'cl'],\n offset: [-4, verticalArrowShift + arrowWidth],\n },\n };\n Object.keys(placementMap).forEach(key => {\n placementMap[key] = config.arrowPointAtCenter\n ? {\n ...placementMap[key],\n overflow: getOverflowOptions(autoAdjustOverflow),\n targetOffset,\n }\n : {\n ...rcPlacements[key],\n overflow: getOverflowOptions(autoAdjustOverflow),\n };\n placementMap[key].ignoreShake = true;\n });\n return placementMap;\n}\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport Lazyload from '../vc-lazy-load';\nimport Checkbox from '../checkbox';\n\nfunction noop() {}\n\nexport default {\n name: 'ListItem',\n props: {\n renderedText: PropTypes.any,\n renderedEl: PropTypes.any,\n item: PropTypes.any,\n lazy: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n checked: PropTypes.bool,\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n },\n render() {\n const { renderedText, renderedEl, item, lazy, checked, disabled, prefixCls } = this.$props;\n\n const className = classNames({\n [`${prefixCls}-content-item`]: true,\n [`${prefixCls}-content-item-disabled`]: disabled || item.disabled,\n });\n\n let title;\n if (typeof renderedText === 'string' || typeof renderedText === 'number') {\n title = String(renderedText);\n }\n\n const listItem = (\n <li\n class={className}\n title={title}\n onClick={\n disabled || item.disabled\n ? noop\n : () => {\n this.$emit('click', item);\n }\n }\n >\n <Checkbox checked={checked} disabled={disabled || item.disabled} />\n <span class={`${prefixCls}-content-item-text`}>{renderedEl}</span>\n </li>\n );\n let children = null;\n if (lazy) {\n const lazyProps = {\n props: {\n height: 32,\n offset: 500,\n throttle: 0,\n debounce: false,\n ...lazy,\n _propsSymbol: Symbol(),\n },\n };\n children = <Lazyload {...lazyProps}>{listItem}</Lazyload>;\n } else {\n children = listItem;\n }\n return children;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport {\n hasProp,\n initDefaultProps,\n getOptionProps,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport classNames from 'classnames';\nimport List from './list';\nimport Operation from './operation';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\nimport { ConfigConsumerProps } from '../config-provider';\nimport warning from '../_util/warning';\nimport Base from '../base';\n\nexport const TransferDirection = 'left' | 'right';\n\nexport const TransferItem = {\n key: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n disabled: PropTypes.bool,\n};\n\nexport const TransferProps = {\n prefixCls: PropTypes.string,\n dataSource: PropTypes.arrayOf(PropTypes.shape(TransferItem).loose),\n disabled: PropTypes.boolean,\n targetKeys: PropTypes.arrayOf(PropTypes.string),\n selectedKeys: PropTypes.arrayOf(PropTypes.string),\n render: PropTypes.func,\n listStyle: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n operationStyle: PropTypes.object,\n titles: PropTypes.arrayOf(PropTypes.string),\n operations: PropTypes.arrayOf(PropTypes.string),\n showSearch: PropTypes.bool,\n filterOption: PropTypes.func,\n searchPlaceholder: PropTypes.string,\n notFoundContent: PropTypes.any,\n locale: PropTypes.object,\n rowKey: PropTypes.func,\n lazy: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n showSelectAll: PropTypes.bool,\n};\n\nexport const TransferLocale = {\n titles: PropTypes.arrayOf(PropTypes.string),\n notFoundContent: PropTypes.string,\n itemUnit: PropTypes.string,\n itemsUnit: PropTypes.string,\n};\n\nconst Transfer = {\n name: 'ATransfer',\n mixins: [BaseMixin],\n props: initDefaultProps(TransferProps, {\n dataSource: [],\n locale: {},\n showSearch: false,\n listStyle: () => {},\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n // vue 中 通过slot,不方便传递,保留notFoundContent及searchPlaceholder\n // warning(\n // !(getComponentFromProp(this, 'notFoundContent') || hasProp(this, 'searchPlaceholder')),\n // 'Transfer[notFoundContent] and Transfer[searchPlaceholder] will be removed, ' +\n // 'please use Transfer[locale] instead.',\n // )\n const { selectedKeys = [], targetKeys = [] } = this;\n return {\n leftFilter: '',\n rightFilter: '',\n sourceSelectedKeys: selectedKeys.filter(key => targetKeys.indexOf(key) === -1),\n targetSelectedKeys: selectedKeys.filter(key => targetKeys.indexOf(key) > -1),\n };\n },\n mounted() {\n // this.currentProps = { ...this.$props }\n },\n watch: {\n targetKeys() {\n this.updateState();\n if (this.selectedKeys) {\n const targetKeys = this.targetKeys || [];\n this.setState({\n sourceSelectedKeys: this.selectedKeys.filter(key => !targetKeys.includes(key)),\n targetSelectedKeys: this.selectedKeys.filter(key => targetKeys.includes(key)),\n });\n }\n },\n dataSource() {\n this.updateState();\n },\n selectedKeys() {\n if (this.selectedKeys) {\n const targetKeys = this.targetKeys || [];\n this.setState({\n sourceSelectedKeys: this.selectedKeys.filter(key => !targetKeys.includes(key)),\n targetSelectedKeys: this.selectedKeys.filter(key => targetKeys.includes(key)),\n });\n }\n },\n },\n methods: {\n getSelectedKeysName(direction) {\n return direction === 'left' ? 'sourceSelectedKeys' : 'targetSelectedKeys';\n },\n\n getTitles(transferLocale) {\n if (this.titles) {\n return this.titles;\n }\n return transferLocale.titles || ['', ''];\n },\n\n getLocale(transferLocale, renderEmpty) {\n const h = this.$createElement;\n // Keep old locale props still working.\n const oldLocale = {\n notFoundContent: renderEmpty(h, 'Transfer'),\n };\n const notFoundContent = getComponentFromProp(this, 'notFoundContent');\n if (notFoundContent) {\n oldLocale.notFoundContent = notFoundContent;\n }\n if (hasProp(this, 'searchPlaceholder')) {\n oldLocale.searchPlaceholder = this.$props.searchPlaceholder;\n }\n\n return { ...transferLocale, ...oldLocale, ...this.$props.locale };\n },\n updateState() {\n const { sourceSelectedKeys, targetSelectedKeys } = this;\n this.separatedDataSource = null;\n if (!this.selectedKeys) {\n // clear key nolonger existed\n // clear checkedKeys according to targetKeys\n const { dataSource, targetKeys = [] } = this;\n\n const newSourceSelectedKeys = [];\n const newTargetSelectedKeys = [];\n dataSource.forEach(({ key }) => {\n if (sourceSelectedKeys.includes(key) && !targetKeys.includes(key)) {\n newSourceSelectedKeys.push(key);\n }\n if (targetSelectedKeys.includes(key) && targetKeys.includes(key)) {\n newTargetSelectedKeys.push(key);\n }\n });\n this.setState({\n sourceSelectedKeys: newSourceSelectedKeys,\n targetSelectedKeys: newTargetSelectedKeys,\n });\n }\n },\n\n moveTo(direction) {\n const { targetKeys = [], dataSource = [] } = this.$props;\n const { sourceSelectedKeys, targetSelectedKeys } = this;\n const moveKeys = direction === 'right' ? sourceSelectedKeys : targetSelectedKeys;\n // filter the disabled options\n const newMoveKeys = moveKeys.filter(\n key => !dataSource.some(data => !!(key === data.key && data.disabled)),\n );\n // move items to target box\n const newTargetKeys =\n direction === 'right'\n ? newMoveKeys.concat(targetKeys)\n : targetKeys.filter(targetKey => newMoveKeys.indexOf(targetKey) === -1);\n\n // empty checked keys\n const oppositeDirection = direction === 'right' ? 'left' : 'right';\n this.setState({\n [this.getSelectedKeysName(oppositeDirection)]: [],\n });\n this.handleSelectChange(oppositeDirection, []);\n\n this.$emit('change', newTargetKeys, direction, newMoveKeys);\n },\n moveToLeft() {\n this.moveTo('left');\n },\n moveToRight() {\n this.moveTo('right');\n },\n\n onItemSelectAll(direction, selectedKeys, checkAll) {\n const originalSelectedKeys = this.$data[this.getSelectedKeysName(direction)] || [];\n\n let mergedCheckedKeys = [];\n if (checkAll) {\n // Merge current keys with origin key\n mergedCheckedKeys = Array.from(new Set([...originalSelectedKeys, ...selectedKeys]));\n } else {\n // Remove current keys from origin keys\n mergedCheckedKeys = originalSelectedKeys.filter(key => selectedKeys.indexOf(key) === -1);\n }\n\n this.handleSelectChange(direction, mergedCheckedKeys);\n\n if (!this.$props.selectedKeys) {\n this.setState({\n [this.getSelectedKeysName(direction)]: mergedCheckedKeys,\n });\n }\n },\n\n handleSelectAll(direction, filteredDataSource, checkAll) {\n this.onItemSelectAll(\n direction,\n filteredDataSource.map(({ key }) => key),\n !checkAll,\n );\n },\n\n // [Legacy] Old prop `body` pass origin check as arg. It's confusing.\n // TODO: Remove this in next version.\n handleLeftSelectAll(filteredDataSource, checkAll) {\n return this.handleSelectAll('left', filteredDataSource, !checkAll);\n },\n\n handleRightSelectAll(filteredDataSource, checkAll) {\n return this.handleSelectAll('right', filteredDataSource, !checkAll);\n },\n\n onLeftItemSelectAll(selectedKeys, checkAll) {\n return this.onItemSelectAll('left', selectedKeys, checkAll);\n },\n\n onRightItemSelectAll(selectedKeys, checkAll) {\n return this.onItemSelectAll('right', selectedKeys, checkAll);\n },\n\n handleFilter(direction, e) {\n const value = e.target.value;\n if (getListeners(this).searchChange) {\n warning(\n false,\n 'Transfer',\n '`searchChange` in Transfer is deprecated. Please use `search` instead.',\n );\n this.$emit('searchChange', direction, e);\n }\n this.$emit('search', direction, value);\n },\n\n handleLeftFilter(e) {\n this.handleFilter('left', e);\n },\n handleRightFilter(e) {\n this.handleFilter('right', e);\n },\n\n handleClear(direction) {\n this.$emit('search', direction, '');\n },\n\n handleLeftClear() {\n this.handleClear('left');\n },\n handleRightClear() {\n this.handleClear('right');\n },\n\n onItemSelect(direction, selectedKey, checked) {\n const { sourceSelectedKeys, targetSelectedKeys } = this;\n const holder = direction === 'left' ? [...sourceSelectedKeys] : [...targetSelectedKeys];\n const index = holder.indexOf(selectedKey);\n if (index > -1) {\n holder.splice(index, 1);\n }\n if (checked) {\n holder.push(selectedKey);\n }\n this.handleSelectChange(direction, holder);\n\n if (!this.selectedKeys) {\n this.setState({\n [this.getSelectedKeysName(direction)]: holder,\n });\n }\n },\n\n handleSelect(direction, selectedItem, checked) {\n warning(false, 'Transfer', '`handleSelect` will be removed, please use `onSelect` instead.');\n this.onItemSelect(direction, selectedItem.key, checked);\n },\n\n handleLeftSelect(selectedItem, checked) {\n return this.handleSelect('left', selectedItem, checked);\n },\n\n handleRightSelect(selectedItem, checked) {\n return this.handleSelect('right', selectedItem, checked);\n },\n\n onLeftItemSelect(selectedKey, checked) {\n return this.onItemSelect('left', selectedKey, checked);\n },\n onRightItemSelect(selectedKey, checked) {\n return this.onItemSelect('right', selectedKey, checked);\n },\n\n handleScroll(direction, e) {\n this.$emit('scroll', direction, e);\n },\n\n handleLeftScroll(e) {\n this.handleScroll('left', e);\n },\n handleRightScroll(e) {\n this.handleScroll('right', e);\n },\n\n handleSelectChange(direction, holder) {\n const { sourceSelectedKeys, targetSelectedKeys } = this;\n\n if (direction === 'left') {\n this.$emit('selectChange', holder, targetSelectedKeys);\n } else {\n this.$emit('selectChange', sourceSelectedKeys, holder);\n }\n },\n handleListStyle(listStyle, direction) {\n if (typeof listStyle === 'function') {\n return listStyle({ direction });\n }\n return listStyle;\n },\n\n separateDataSource() {\n const { dataSource, rowKey, targetKeys = [] } = this.$props;\n\n const leftDataSource = [];\n const rightDataSource = new Array(targetKeys.length);\n dataSource.forEach(record => {\n if (rowKey) {\n record.key = rowKey(record);\n }\n\n // rightDataSource should be ordered by targetKeys\n // leftDataSource should be ordered by dataSource\n const indexOfKey = targetKeys.indexOf(record.key);\n if (indexOfKey !== -1) {\n rightDataSource[indexOfKey] = record;\n } else {\n leftDataSource.push(record);\n }\n });\n\n return {\n leftDataSource,\n rightDataSource,\n };\n },\n\n renderTransfer(transferLocale) {\n const props = getOptionProps(this);\n const {\n prefixCls: customizePrefixCls,\n disabled,\n operations = [],\n showSearch,\n listStyle,\n operationStyle,\n filterOption,\n lazy,\n showSelectAll,\n } = props;\n const children = getComponentFromProp(this, 'children', {}, false);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('transfer', customizePrefixCls);\n\n const renderEmpty = this.configProvider.renderEmpty;\n const locale = this.getLocale(transferLocale, renderEmpty);\n const { sourceSelectedKeys, targetSelectedKeys, $scopedSlots } = this;\n const { body, footer } = $scopedSlots;\n const renderItem = props.render;\n const { leftDataSource, rightDataSource } = this.separateDataSource();\n const leftActive = targetSelectedKeys.length > 0;\n const rightActive = sourceSelectedKeys.length > 0;\n\n const cls = classNames(prefixCls, {\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-customize-list`]: !!children,\n });\n const titles = this.getTitles(locale);\n return (\n <div class={cls}>\n <List\n key=\"leftList\"\n prefixCls={`${prefixCls}-list`}\n titleText={titles[0]}\n dataSource={leftDataSource}\n filterOption={filterOption}\n style={this.handleListStyle(listStyle, 'left')}\n checkedKeys={sourceSelectedKeys}\n handleFilter={this.handleLeftFilter}\n handleClear={this.handleLeftClear}\n handleSelect={this.handleLeftSelect}\n handleSelectAll={this.handleLeftSelectAll}\n onItemSelect={this.onLeftItemSelect}\n onItemSelectAll={this.onLeftItemSelectAll}\n renderItem={renderItem}\n showSearch={showSearch}\n body={body}\n renderList={children}\n footer={footer}\n lazy={lazy}\n onScroll={this.handleLeftScroll}\n disabled={disabled}\n direction=\"left\"\n showSelectAll={showSelectAll}\n itemUnit={locale.itemUnit}\n itemsUnit={locale.itemsUnit}\n notFoundContent={locale.notFoundContent}\n searchPlaceholder={locale.searchPlaceholder}\n />\n <Operation\n key=\"operation\"\n class={`${prefixCls}-operation`}\n rightActive={rightActive}\n rightArrowText={operations[0]}\n moveToRight={this.moveToRight}\n leftActive={leftActive}\n leftArrowText={operations[1]}\n moveToLeft={this.moveToLeft}\n style={operationStyle}\n disabled={disabled}\n />\n <List\n key=\"rightList\"\n prefixCls={`${prefixCls}-list`}\n titleText={titles[1]}\n dataSource={rightDataSource}\n filterOption={filterOption}\n style={this.handleListStyle(listStyle, 'right')}\n checkedKeys={targetSelectedKeys}\n handleFilter={this.handleRightFilter}\n handleClear={this.handleRightClear}\n handleSelect={this.handleRightSelect}\n handleSelectAll={this.handleRightSelectAll}\n onItemSelect={this.onRightItemSelect}\n onItemSelectAll={this.onRightItemSelectAll}\n renderItem={renderItem}\n showSearch={showSearch}\n body={body}\n renderList={children}\n footer={footer}\n lazy={lazy}\n onScroll={this.handleRightScroll}\n disabled={disabled}\n direction=\"right\"\n showSelectAll={showSelectAll}\n itemUnit={locale.itemUnit}\n itemsUnit={locale.itemsUnit}\n notFoundContent={locale.notFoundContent}\n searchPlaceholder={locale.searchPlaceholder}\n />\n </div>\n );\n },\n },\n render() {\n return (\n <LocaleReceiver\n componentName=\"Transfer\"\n defaultLocale={defaultLocale.Transfer}\n scopedSlots={{ default: this.renderTransfer }}\n />\n );\n },\n};\n\n/* istanbul ignore next */\nTransfer.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Transfer.name, Transfer);\n};\n\nexport default Transfer;\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport { isValidElement, initDefaultProps, getListeners } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport Checkbox from '../checkbox';\nimport Search from './search';\nimport defaultRenderList from './renderListBody';\nimport triggerEvent from '../_util/triggerEvent';\nimport addEventListener from '../vc-util/Dom/addEventListener';\n\nconst defaultRender = () => null;\n\nconst TransferItem = {\n key: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n disabled: PropTypes.bool,\n};\n\nfunction isRenderResultPlainObject(result) {\n return (\n result &&\n !isValidElement(result) &&\n Object.prototype.toString.call(result) === '[object Object]'\n );\n}\n\nexport const TransferListProps = {\n prefixCls: PropTypes.string,\n titleText: PropTypes.string,\n dataSource: PropTypes.arrayOf(PropTypes.shape(TransferItem).loose),\n filter: PropTypes.string,\n filterOption: PropTypes.func,\n checkedKeys: PropTypes.arrayOf(PropTypes.string),\n handleFilter: PropTypes.func,\n handleSelect: PropTypes.func,\n handleSelectAll: PropTypes.func,\n handleClear: PropTypes.func,\n renderItem: PropTypes.func,\n showSearch: PropTypes.bool,\n searchPlaceholder: PropTypes.string,\n notFoundContent: PropTypes.any,\n itemUnit: PropTypes.string,\n itemsUnit: PropTypes.string,\n body: PropTypes.any,\n renderList: PropTypes.any,\n footer: PropTypes.any,\n lazy: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n disabled: PropTypes.bool,\n direction: PropTypes.string,\n showSelectAll: PropTypes.bool,\n};\n\nfunction renderListNode(h, renderList, props) {\n let bodyContent = renderList ? renderList(props) : null;\n const customize = !!bodyContent;\n if (!customize) {\n bodyContent = defaultRenderList(h, props);\n }\n return {\n customize,\n bodyContent,\n };\n}\n\nexport default {\n name: 'TransferList',\n mixins: [BaseMixin],\n props: initDefaultProps(TransferListProps, {\n dataSource: [],\n titleText: '',\n showSearch: false,\n lazy: {},\n }),\n data() {\n this.timer = null;\n this.triggerScrollTimer = null;\n return {\n filterValue: '',\n };\n },\n // mounted() {\n // this.timer = setTimeout(() => {\n // this.setState({\n // mounted: true,\n // });\n // }, 0);\n // this.$nextTick(() => {\n // if (this.$refs.listContentWrapper) {\n // const listContentWrapperDom = this.$refs.listContentWrapper.$el;\n // this.scrollEvent = addEventListener(listContentWrapperDom, 'scroll', this.handleScroll);\n // }\n // });\n // },\n beforeDestroy() {\n clearTimeout(this.triggerScrollTimer);\n // if (this.scrollEvent) {\n // this.scrollEvent.remove();\n // }\n },\n updated() {\n this.$nextTick(() => {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n if (this.$refs.listContentWrapper) {\n const listContentWrapperDom = this.$refs.listContentWrapper.$el;\n this.scrollEvent = addEventListener(listContentWrapperDom, 'scroll', this.handleScroll);\n }\n });\n },\n methods: {\n handleScroll(e) {\n this.$emit('scroll', e);\n },\n getCheckStatus(filteredItems) {\n const { checkedKeys } = this.$props;\n if (checkedKeys.length === 0) {\n return 'none';\n }\n if (filteredItems.every(item => checkedKeys.indexOf(item.key) >= 0 || !!item.disabled)) {\n return 'all';\n }\n return 'part';\n },\n\n getFilteredItems(dataSource, filterValue) {\n const filteredItems = [];\n const filteredRenderItems = [];\n\n dataSource.forEach(item => {\n const renderedItem = this.renderItemHtml(item);\n const { renderedText } = renderedItem;\n\n // Filter skip\n if (filterValue && filterValue.trim() && !this.matchFilter(renderedText, item)) {\n return null;\n }\n\n filteredItems.push(item);\n filteredRenderItems.push(renderedItem);\n });\n\n return { filteredItems, filteredRenderItems };\n },\n\n getListBody(\n prefixCls,\n searchPlaceholder,\n filterValue,\n filteredItems,\n notFoundContent,\n bodyDom,\n filteredRenderItems,\n checkedKeys,\n renderList,\n showSearch,\n disabled,\n ) {\n const search = showSearch ? (\n <div class={`${prefixCls}-body-search-wrapper`}>\n <Search\n prefixCls={`${prefixCls}-search`}\n onChange={this._handleFilter}\n handleClear={this._handleClear}\n placeholder={searchPlaceholder}\n value={filterValue}\n disabled={disabled}\n />\n </div>\n ) : null;\n\n let listBody = bodyDom;\n if (!listBody) {\n let bodyNode;\n\n const { bodyContent, customize } = renderListNode(this.$createElement, renderList, {\n props: { ...this.$props, filteredItems, filteredRenderItems, selectedKeys: checkedKeys },\n on: getListeners(this),\n });\n\n // We should wrap customize list body in a classNamed div to use flex layout.\n if (customize) {\n bodyNode = <div class={`${prefixCls}-body-customize-wrapper`}>{bodyContent}</div>;\n } else {\n bodyNode = filteredItems.length ? (\n bodyContent\n ) : (\n <div class={`${prefixCls}-body-not-found`}>{notFoundContent}</div>\n );\n }\n\n listBody = (\n <div\n class={classNames(\n showSearch ? `${prefixCls}-body ${prefixCls}-body-with-search` : `${prefixCls}-body`,\n )}\n >\n {search}\n {bodyNode}\n </div>\n );\n }\n return listBody;\n },\n\n getCheckBox(filteredItems, showSelectAll, disabled) {\n const checkStatus = this.getCheckStatus(filteredItems);\n const checkedAll = checkStatus === 'all';\n const checkAllCheckbox = showSelectAll !== false && (\n <Checkbox\n disabled={disabled}\n checked={checkedAll}\n indeterminate={checkStatus === 'part'}\n onChange={() => {\n // Only select enabled items\n this.$emit(\n 'itemSelectAll',\n filteredItems.filter(item => !item.disabled).map(({ key }) => key),\n !checkedAll,\n );\n }}\n />\n );\n\n return checkAllCheckbox;\n },\n\n _handleSelect(selectedItem) {\n const { checkedKeys } = this.$props;\n const result = checkedKeys.some(key => key === selectedItem.key);\n this.handleSelect(selectedItem, !result);\n },\n _handleFilter(e) {\n const { handleFilter } = this.$props;\n const {\n target: { value: filterValue },\n } = e;\n this.setState({ filterValue });\n handleFilter(e);\n if (!filterValue) {\n return;\n }\n // Manually trigger scroll event for lazy search bug\n // https://github.com/ant-design/ant-design/issues/5631\n this.triggerScrollTimer = setTimeout(() => {\n const transferNode = this.$el;\n const listNode = transferNode.querySelectorAll('.ant-transfer-list-content')[0];\n if (listNode) {\n triggerEvent(listNode, 'scroll');\n }\n }, 0);\n },\n _handleClear(e) {\n this.setState({ filterValue: '' });\n this.handleClear(e);\n },\n matchFilter(text, item) {\n const { filterValue } = this.$data;\n const { filterOption } = this.$props;\n if (filterOption) {\n return filterOption(filterValue, item);\n }\n return text.indexOf(filterValue) >= 0;\n },\n renderItemHtml(item) {\n const { renderItem = defaultRender } = this.$props;\n const renderResult = renderItem(item);\n const isRenderResultPlain = isRenderResultPlainObject(renderResult);\n return {\n renderedText: isRenderResultPlain ? renderResult.value : renderResult,\n renderedEl: isRenderResultPlain ? renderResult.label : renderResult,\n item,\n };\n },\n filterNull(arr) {\n return arr.filter(item => {\n return item !== null;\n });\n },\n },\n\n render() {\n const { filterValue } = this.$data;\n const {\n prefixCls,\n dataSource,\n titleText,\n checkedKeys,\n disabled,\n body,\n footer,\n showSearch,\n searchPlaceholder,\n notFoundContent,\n itemUnit,\n itemsUnit,\n renderList,\n showSelectAll,\n } = this.$props;\n\n // Custom Layout\n const footerDom = footer && footer({ ...this.$props });\n const bodyDom = body && body({ ...this.$props });\n\n const listCls = classNames(prefixCls, {\n [`${prefixCls}-with-footer`]: !!footerDom,\n });\n\n // ====================== Get filtered, checked item list ======================\n\n const { filteredItems, filteredRenderItems } = this.getFilteredItems(dataSource, filterValue);\n\n // ================================= List Body =================================\n\n const unit = dataSource.length > 1 ? itemsUnit : itemUnit;\n\n const listBody = this.getListBody(\n prefixCls,\n searchPlaceholder,\n filterValue,\n filteredItems,\n notFoundContent,\n bodyDom,\n filteredRenderItems,\n checkedKeys,\n renderList,\n showSearch,\n disabled,\n );\n\n const listFooter = footerDom ? <div class={`${prefixCls}-footer`}>{footerDom}</div> : null;\n\n const checkAllCheckbox = this.getCheckBox(filteredItems, showSelectAll, disabled);\n\n return (\n <div class={listCls}>\n <div class={`${prefixCls}-header`}>\n {checkAllCheckbox}\n <span class={`${prefixCls}-header-selected`}>\n <span>\n {(checkedKeys.length > 0 ? `${checkedKeys.length}/` : '') + filteredItems.length}{' '}\n {unit}\n </span>\n <span class={`${prefixCls}-header-title`}>{titleText}</span>\n </span>\n </div>\n {listBody}\n {listFooter}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { getOptionProps } from '../_util/props-util';\nimport Button from '../button';\n\nfunction noop() {}\n\nexport const TransferOperationProps = {\n className: PropTypes.string,\n leftArrowText: PropTypes.string,\n rightArrowText: PropTypes.string,\n moveToLeft: PropTypes.any,\n moveToRight: PropTypes.any,\n leftActive: PropTypes.bool,\n rightActive: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n\nexport default {\n name: 'Operation',\n props: { ...TransferOperationProps },\n render() {\n const {\n disabled,\n moveToLeft = noop,\n moveToRight = noop,\n leftArrowText = '',\n rightArrowText = '',\n leftActive,\n rightActive,\n } = getOptionProps(this);\n return (\n <div>\n <Button\n type=\"primary\"\n size=\"small\"\n disabled={disabled || !rightActive}\n onClick={moveToRight}\n icon=\"right\"\n >\n {rightArrowText}\n </Button>\n <Button\n type=\"primary\"\n size=\"small\"\n disabled={disabled || !leftActive}\n onClick={moveToLeft}\n icon=\"left\"\n >\n {leftArrowText}\n </Button>\n </div>\n );\n },\n};\n","import raf from '../_util/raf';\nimport ListItem from './ListItem';\nimport PropTypes from '../_util/vue-types';\nimport getTransitionProps from '../_util/getTransitionProps';\nfunction noop() {}\nconst ListBody = {\n name: 'ListBody',\n inheritAttrs: false,\n props: {\n prefixCls: PropTypes.string,\n filteredRenderItems: PropTypes.array.def([]),\n lazy: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n selectedKeys: PropTypes.array,\n disabled: PropTypes.bool,\n },\n data() {\n return {\n mounted: false,\n };\n },\n computed: {\n itemsLength() {\n return this.filteredRenderItems ? this.filteredRenderItems.length : 0;\n },\n },\n watch: {\n itemsLength() {\n this.$nextTick(() => {\n const { lazy } = this.$props;\n if (lazy !== false) {\n const container = this.$el;\n raf.cancel(this.lazyId);\n this.lazyId = raf(() => {\n if (container) {\n const scrollEvent = new Event('scroll', { bubbles: true });\n container.dispatchEvent(scrollEvent);\n }\n });\n }\n });\n },\n },\n mounted() {\n this.mountId = raf(() => {\n this.mounted = true;\n });\n },\n\n beforeDestroy() {\n raf.cancel(this.mountId);\n raf.cancel(this.lazyId);\n },\n methods: {\n onItemSelect(item) {\n const { selectedKeys } = this.$props;\n const checked = selectedKeys.indexOf(item.key) >= 0;\n this.$emit('itemSelect', item.key, !checked);\n },\n onScroll(e) {\n this.$emit('scroll', e);\n },\n },\n render() {\n const { mounted } = this.$data;\n const {\n prefixCls,\n filteredRenderItems,\n lazy,\n selectedKeys,\n disabled: globalDisabled,\n } = this.$props;\n const items = filteredRenderItems.map(({ renderedEl, renderedText, item }) => {\n const { disabled } = item;\n const checked = selectedKeys.indexOf(item.key) >= 0;\n\n return (\n <ListItem\n disabled={globalDisabled || disabled}\n key={item.key}\n item={item}\n lazy={lazy}\n renderedText={renderedText}\n renderedEl={renderedEl}\n checked={checked}\n prefixCls={prefixCls}\n onClick={this.onItemSelect}\n />\n );\n });\n const transitionProps = getTransitionProps(\n mounted ? `${prefixCls}-content-item-highlight` : '',\n {\n tag: 'ul',\n nativeOn: {\n scroll: this.onScroll,\n },\n leave: noop,\n },\n );\n return (\n <transition-group class={`${prefixCls}-content`} {...transitionProps}>\n {items}\n </transition-group>\n );\n },\n};\n\nexport default (h, props) => <ListBody {...props} />;\n","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getOptionProps } from '../_util/props-util';\nimport Icon from '../icon';\nimport Input from '../input';\n\nexport const TransferSearchProps = {\n prefixCls: PropTypes.string,\n placeholder: PropTypes.string,\n value: PropTypes.any,\n handleClear: PropTypes.func,\n disabled: PropTypes.bool,\n};\n\nexport default {\n name: 'Search',\n props: initDefaultProps(TransferSearchProps, {\n placeholder: '',\n }),\n methods: {\n handleChange(e) {\n this.$emit('change', e);\n },\n handleClear2(e) {\n e.preventDefault();\n const { handleClear, disabled } = this.$props;\n if (!disabled && handleClear) {\n handleClear(e);\n }\n },\n },\n render() {\n const { placeholder, value, prefixCls, disabled } = getOptionProps(this);\n const icon =\n value && value.length > 0 ? (\n <a href=\"#\" class={`${prefixCls}-action`} onClick={this.handleClear2}>\n <Icon type=\"close-circle\" theme=\"filled\" />\n </a>\n ) : (\n <span class={`${prefixCls}-action`}>\n <Icon type=\"search\" />\n </span>\n );\n\n return (\n <div>\n <Input\n placeholder={placeholder}\n class={prefixCls}\n value={value}\n onChange={this.handleChange}\n disabled={disabled}\n />\n {icon}\n </div>\n );\n },\n};\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../empty/style';\nimport '../../checkbox/style';\nimport '../../button/style';\nimport '../../input/style';\n","// extracted by mini-css-extract-plugin","import VcTreeSelect, { TreeNode, SHOW_ALL, SHOW_PARENT, SHOW_CHILD } from '../vc-tree-select';\nimport classNames from 'classnames';\nimport { TreeSelectProps } from './interface';\nimport warning from '../_util/warning';\nimport {\n initDefaultProps,\n getOptionProps,\n getComponentFromProp,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Base from '../base';\n\nexport { TreeData, TreeSelectProps } from './interface';\nimport Icon from '../icon';\nimport omit from 'omit.js';\n\nconst TreeSelect = {\n TreeNode: { ...TreeNode, name: 'ATreeSelectNode' },\n SHOW_ALL,\n SHOW_PARENT,\n SHOW_CHILD,\n name: 'ATreeSelect',\n props: initDefaultProps(TreeSelectProps(), {\n transitionName: 'slide-up',\n choiceTransitionName: 'zoom',\n showSearch: false,\n }),\n model: {\n prop: 'value',\n event: 'change',\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n created() {\n warning(\n this.multiple !== false || !this.treeCheckable,\n 'TreeSelect',\n '`multiple` will alway be `true` when `treeCheckable` is true',\n );\n },\n methods: {\n focus() {\n this.$refs.vcTreeSelect.focus();\n },\n\n blur() {\n this.$refs.vcTreeSelect.blur();\n },\n renderSwitcherIcon(prefixCls, { isLeaf, loading }) {\n if (loading) {\n return <Icon type=\"loading\" class={`${prefixCls}-switcher-loading-icon`} />;\n }\n if (isLeaf) {\n return null;\n }\n return <Icon type=\"caret-down\" class={`${prefixCls}-switcher-icon`} />;\n },\n onChange() {\n this.$emit('change', ...arguments);\n },\n updateTreeData(treeData) {\n const { $scopedSlots } = this;\n const defaultFields = {\n children: 'children',\n title: 'title',\n key: 'key',\n label: 'label',\n value: 'value',\n };\n const replaceFields = { ...defaultFields, ...this.$props.replaceFields };\n return treeData.map(item => {\n const { scopedSlots = {} } = item;\n const label = item[replaceFields.label];\n const title = item[replaceFields.title];\n const value = item[replaceFields.value];\n const key = item[replaceFields.key];\n const children = item[replaceFields.children];\n let newLabel = typeof label === 'function' ? label(this.$createElement) : label;\n let newTitle = typeof title === 'function' ? title(this.$createElement) : title;\n if (!newLabel && scopedSlots.label && $scopedSlots[scopedSlots.label]) {\n newLabel = $scopedSlots[scopedSlots.label](item);\n }\n if (!newTitle && scopedSlots.title && $scopedSlots[scopedSlots.title]) {\n newTitle = $scopedSlots[scopedSlots.title](item);\n }\n const treeNodeProps = {\n ...item,\n title: newTitle || newLabel,\n value,\n dataRef: item,\n key,\n };\n if (children) {\n return { ...treeNodeProps, children: this.updateTreeData(children) };\n }\n return treeNodeProps;\n });\n },\n },\n\n render(h) {\n const props = getOptionProps(this);\n const {\n prefixCls: customizePrefixCls,\n size,\n dropdownStyle,\n dropdownClassName,\n getPopupContainer,\n ...restProps\n } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('select', customizePrefixCls);\n\n const renderEmpty = this.configProvider.renderEmpty;\n const notFoundContent = getComponentFromProp(this, 'notFoundContent');\n const removeIcon = getComponentFromProp(this, 'removeIcon');\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const rest = omit(restProps, [\n 'inputIcon',\n 'removeIcon',\n 'clearIcon',\n 'switcherIcon',\n 'suffixIcon',\n ]);\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n let treeData = props.treeData;\n if (treeData) {\n treeData = this.updateTreeData(treeData);\n }\n const cls = {\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n };\n\n // showSearch: single - false, multiple - true\n let { showSearch } = restProps;\n if (!('showSearch' in restProps)) {\n showSearch = !!(restProps.multiple || restProps.treeCheckable);\n }\n\n let checkable = getComponentFromProp(this, 'treeCheckable');\n if (checkable) {\n checkable = <span class={`${prefixCls}-tree-checkbox-inner`} />;\n }\n\n const inputIcon = suffixIcon || <Icon type=\"down\" class={`${prefixCls}-arrow-icon`} />;\n\n const finalRemoveIcon = removeIcon || <Icon type=\"close\" class={`${prefixCls}-remove-icon`} />;\n\n const finalClearIcon = clearIcon || (\n <Icon type=\"close-circle\" class={`${prefixCls}-clear-icon`} theme=\"filled\" />\n );\n const VcTreeSelectProps = {\n props: Object.assign(\n {\n switcherIcon: nodeProps => this.renderSwitcherIcon(prefixCls, nodeProps),\n inputIcon,\n removeIcon: finalRemoveIcon,\n clearIcon: finalClearIcon,\n ...rest,\n showSearch,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n dropdownClassName: classNames(dropdownClassName, `${prefixCls}-tree-dropdown`),\n prefixCls,\n dropdownStyle: { maxHeight: '100vh', overflow: 'auto', ...dropdownStyle },\n treeCheckable: checkable,\n notFoundContent: notFoundContent || renderEmpty(h, 'Select'),\n __propsSymbol__: Symbol(),\n },\n treeData ? { treeData } : {},\n ),\n class: cls,\n on: { ...getListeners(this), change: this.onChange },\n ref: 'vcTreeSelect',\n scopedSlots: this.$scopedSlots,\n };\n return <VcTreeSelect {...VcTreeSelectProps}>{filterEmpty(this.$slots.default)}</VcTreeSelect>;\n },\n};\n\n/* istanbul ignore next */\nTreeSelect.install = function(Vue) {\n Vue.use(Base);\n Vue.component(TreeSelect.name, TreeSelect);\n Vue.component(TreeSelect.TreeNode.name, TreeSelect.TreeNode);\n};\n\nexport default TreeSelect;\n","import PropTypes from '../_util/vue-types';\nimport { AbstractSelectProps } from '../select';\n\nexport const TreeData = PropTypes.shape({\n key: PropTypes.string,\n value: PropTypes.string,\n label: PropTypes.any,\n scopedSlots: PropTypes.object,\n children: PropTypes.array,\n}).loose;\n\nexport const TreeSelectProps = () => ({\n ...AbstractSelectProps(),\n autoFocus: PropTypes.bool,\n dropdownStyle: PropTypes.object,\n filterTreeNode: PropTypes.oneOfType([Function, Boolean]),\n getPopupContainer: PropTypes.func,\n labelInValue: PropTypes.bool,\n loadData: PropTypes.func,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.array,\n PropTypes.number,\n ]),\n defaultValue: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.array,\n PropTypes.number,\n ]),\n multiple: PropTypes.bool,\n notFoundContent: PropTypes.any,\n // onSelect: (value: any) => void,\n // onChange: (value: any, label: any) => void,\n // onSearch: (value: any) => void,\n searchPlaceholder: PropTypes.string,\n searchValue: PropTypes.string,\n showCheckedStrategy: PropTypes.oneOf(['SHOW_ALL', 'SHOW_PARENT', 'SHOW_CHILD']),\n suffixIcon: PropTypes.any,\n treeCheckable: PropTypes.oneOfType([PropTypes.any, PropTypes.bool]),\n treeCheckStrictly: PropTypes.bool,\n treeData: PropTypes.arrayOf(Object),\n treeDataSimpleMode: PropTypes.oneOfType([Boolean, Object]),\n\n dropdownClassName: PropTypes.string,\n dropdownMatchSelectWidth: PropTypes.bool,\n treeDefaultExpandAll: PropTypes.bool,\n treeExpandedKeys: PropTypes.array,\n treeIcon: PropTypes.bool,\n treeDefaultExpandedKeys: PropTypes.array,\n treeNodeFilterProp: PropTypes.string,\n treeNodeLabelProp: PropTypes.string,\n replaceFields: PropTypes.object.def({}),\n});\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\n// deps-lint-skip: select\nimport '../../select/style';\nimport '../../empty/style';\n","// extracted by mini-css-extract-plugin","import omit from 'omit.js';\nimport debounce from 'lodash/debounce';\nimport PropTypes from '../_util/vue-types';\nimport warning from '../_util/warning';\nimport { conductExpandParent, convertTreeToEntities } from '../vc-tree/src/util';\nimport Tree, { TreeProps } from './Tree';\nimport {\n calcRangeKeys,\n getFullKeyList,\n convertDirectoryKeysToNodes,\n getFullKeyListByTreeData,\n} from './util';\nimport Icon from '../icon';\nimport BaseMixin from '../_util/BaseMixin';\nimport {\n initDefaultProps,\n getOptionProps,\n getListeners,\n getComponentFromProp,\n} from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\n\n// export type ExpandAction = false | 'click' | 'dblclick'; export interface\n// DirectoryTreeProps extends TreeProps { expandAction?: ExpandAction; }\n// export interface DirectoryTreeState { expandedKeys?: string[];\n// selectedKeys?: string[]; }\n\nfunction getIcon(props, h) {\n const { isLeaf, expanded } = props;\n if (isLeaf) {\n return <Icon type=\"file\" />;\n }\n return <Icon type={expanded ? 'folder-open' : 'folder'} />;\n}\n\nexport default {\n name: 'ADirectoryTree',\n mixins: [BaseMixin],\n model: {\n prop: 'checkedKeys',\n event: 'check',\n },\n props: initDefaultProps(\n {\n ...TreeProps(),\n expandAction: PropTypes.oneOf([false, 'click', 'doubleclick', 'dblclick']),\n },\n {\n showIcon: true,\n expandAction: 'click',\n },\n ),\n\n // state: DirectoryTreeState; onDebounceExpand: (event, node: AntTreeNode) =>\n // void; // Shift click usage lastSelectedKey?: string; cachedSelectedKeys?:\n // string[];\n inject: {\n configProvider: {\n default: () => ConfigConsumerProps,\n },\n },\n data() {\n const props = getOptionProps(this);\n const { defaultExpandAll, defaultExpandParent, expandedKeys, defaultExpandedKeys } = props;\n const { keyEntities } = convertTreeToEntities(this.$slots.default);\n const state = {};\n // Selected keys\n state._selectedKeys = props.selectedKeys || props.defaultSelectedKeys || [];\n\n // Expanded keys\n if (defaultExpandAll) {\n if (props.treeData) {\n state._expandedKeys = getFullKeyListByTreeData(props.treeData);\n } else {\n state._expandedKeys = getFullKeyList(this.$slots.default);\n }\n } else if (defaultExpandParent) {\n state._expandedKeys = conductExpandParent(expandedKeys || defaultExpandedKeys, keyEntities);\n } else {\n state._expandedKeys = expandedKeys || defaultExpandedKeys;\n }\n\n this.onDebounceExpand = debounce(this.expandFolderNode, 200, { leading: true });\n return {\n _selectedKeys: [],\n _expandedKeys: [],\n ...state,\n };\n },\n watch: {\n expandedKeys(val) {\n this.setState({ _expandedKeys: val });\n },\n selectedKeys(val) {\n this.setState({ _selectedKeys: val });\n },\n },\n methods: {\n onExpand(expandedKeys, info) {\n this.setUncontrolledState({ _expandedKeys: expandedKeys });\n\n this.$emit('expand', expandedKeys, info);\n\n return undefined;\n },\n\n onClick(event, node) {\n const { expandAction } = this.$props;\n\n // Expand the tree\n if (expandAction === 'click') {\n this.onDebounceExpand(event, node);\n }\n this.$emit('click', event, node);\n },\n\n onDoubleClick(event, node) {\n const { expandAction } = this.$props;\n\n // Expand the tree\n if (expandAction === 'dblclick' || expandAction === 'doubleclick') {\n this.onDebounceExpand(event, node);\n }\n\n this.$emit('doubleclick', event, node);\n this.$emit('dblclick', event, node);\n },\n\n onSelect(keys, event) {\n const { multiple } = this.$props;\n const children = this.$slots.default || [];\n const { _expandedKeys: expandedKeys = [] } = this.$data;\n const { node, nativeEvent } = event;\n const { eventKey = '' } = node;\n\n const newState = {};\n\n // We need wrap this event since some value is not same\n const newEvent = {\n ...event,\n selected: true, // Directory selected always true\n };\n\n // Windows / Mac single pick\n const ctrlPick = nativeEvent.ctrlKey || nativeEvent.metaKey;\n const shiftPick = nativeEvent.shiftKey;\n\n // Generate new selected keys\n let newSelectedKeys;\n if (multiple && ctrlPick) {\n // Control click\n newSelectedKeys = keys;\n this.lastSelectedKey = eventKey;\n this.cachedSelectedKeys = newSelectedKeys;\n newEvent.selectedNodes = convertDirectoryKeysToNodes(children, newSelectedKeys);\n } else if (multiple && shiftPick) {\n // Shift click\n newSelectedKeys = Array.from(\n new Set([\n ...(this.cachedSelectedKeys || []),\n ...calcRangeKeys(children, expandedKeys, eventKey, this.lastSelectedKey),\n ]),\n );\n newEvent.selectedNodes = convertDirectoryKeysToNodes(children, newSelectedKeys);\n } else {\n // Single click\n newSelectedKeys = [eventKey];\n this.lastSelectedKey = eventKey;\n this.cachedSelectedKeys = newSelectedKeys;\n newEvent.selectedNodes = [event.node];\n }\n newState._selectedKeys = newSelectedKeys;\n\n this.$emit('update:selectedKeys', newSelectedKeys);\n this.$emit('select', newSelectedKeys, newEvent);\n\n this.setUncontrolledState(newState);\n },\n\n expandFolderNode(event, node) {\n const { isLeaf } = node;\n\n if (isLeaf || event.shiftKey || event.metaKey || event.ctrlKey) {\n return;\n }\n\n if (this.$refs.tree.$refs.tree) {\n // Get internal vc-tree\n const internalTree = this.$refs.tree.$refs.tree;\n\n // Call internal rc-tree expand function\n // https://github.com/ant-design/ant-design/issues/12567\n internalTree.onNodeExpand(event, node);\n }\n },\n\n setUncontrolledState(state) {\n const newState = omit(\n state,\n Object.keys(getOptionProps(this)).map(p => `_${p}`),\n );\n if (Object.keys(newState).length) {\n this.setState(newState);\n }\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, ...props } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('tree', customizePrefixCls);\n const { _expandedKeys: expandedKeys, _selectedKeys: selectedKeys } = this.$data;\n const listeners = getListeners(this);\n warning(!listeners.doubleclick, '`doubleclick` is deprecated. please use `dblclick` instead.');\n const treeProps = {\n props: {\n icon: getIcon,\n ...props,\n prefixCls,\n expandedKeys,\n selectedKeys,\n switcherIcon: getComponentFromProp(this, 'switcherIcon'),\n },\n ref: 'tree',\n class: `${prefixCls}-directory`,\n on: {\n ...omit(listeners, ['update:selectedKeys']),\n select: this.onSelect,\n click: this.onClick,\n dblclick: this.onDoubleClick,\n expand: this.onExpand,\n },\n };\n return <Tree {...treeProps}>{this.$slots.default}</Tree>;\n },\n};\n","import warning from 'warning';\nimport { Tree as VcTree, TreeNode } from '../vc-tree';\nimport animation from '../_util/openAnimation';\nimport PropTypes from '../_util/vue-types';\nimport {\n initDefaultProps,\n getOptionProps,\n filterEmpty,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Icon from '../icon';\n\nfunction TreeProps() {\n return {\n showLine: PropTypes.bool,\n /** 是否支持多选 */\n multiple: PropTypes.bool,\n /** 是否自动展开父节点 */\n autoExpandParent: PropTypes.bool,\n /** checkable状态下节点选择完全受控(父子节点选中状态不再关联)*/\n checkStrictly: PropTypes.bool,\n /** 是否支持选中 */\n checkable: PropTypes.bool,\n /** 是否禁用树 */\n disabled: PropTypes.bool,\n /** 默认展开所有树节点 */\n defaultExpandAll: PropTypes.bool,\n /** 默认展开对应树节点 */\n defaultExpandParent: PropTypes.bool,\n /** 默认展开指定的树节点 */\n defaultExpandedKeys: PropTypes.array,\n /** (受控)展开指定的树节点 */\n expandedKeys: PropTypes.array,\n /** (受控)选中复选框的树节点 */\n checkedKeys: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.shape({\n checked: PropTypes.array,\n halfChecked: PropTypes.array,\n }).loose,\n ]),\n /** 默认选中复选框的树节点 */\n defaultCheckedKeys: PropTypes.array,\n /** (受控)设置选中的树节点 */\n selectedKeys: PropTypes.array,\n /** 默认选中的树节点 */\n defaultSelectedKeys: PropTypes.array,\n selectable: PropTypes.bool,\n /** 展开/收起节点时触发 */\n // onExpand: (expandedKeys: string[], info: AntTreeNodeExpandedEvent) => void | PromiseLike<any>,\n /** 点击复选框触发 */\n // onCheck: (checkedKeys: string[] | { checked: string[]; halfChecked: string[] }, e: AntTreeNodeCheckedEvent) => void,\n /** 点击树节点触发 */\n // onSelect: (selectedKeys: string[], e: AntTreeNodeSelectedEvent) => void,\n /** 单击树节点触发 */\n // onClick: (e: React.MouseEvent<HTMLElement>, node: AntTreeNode) => void,\n /** 双击树节点触发 */\n // onDoubleClick: (e: React.MouseEvent<HTMLElement>, node: AntTreeNode) => void,\n /** filter some AntTreeNodes as you need. it should return true */\n filterAntTreeNode: PropTypes.func,\n /** 异步加载数据 */\n loadData: PropTypes.func,\n loadedKeys: PropTypes.array,\n // onLoaded: (loadedKeys: string[], info: { event: 'load', node: AntTreeNode; }) => void,\n /** 响应右键点击 */\n // onRightClick: (options: AntTreeNodeMouseEvent) => void,\n /** 设置节点可拖拽(IE>8)*/\n draggable: PropTypes.bool,\n // /** 开始拖拽时调用 */\n // onDragStart: (options: AntTreeNodeMouseEvent) => void,\n // /** dragenter 触发时调用 */\n // onDragEnter: (options: AntTreeNodeMouseEvent) => void,\n // /** dragover 触发时调用 */\n // onDragOver: (options: AntTreeNodeMouseEvent) => void,\n // /** dragleave 触发时调用 */\n // onDragLeave: (options: AntTreeNodeMouseEvent) => void,\n // /** drop 触发时调用 */\n // onDrop: (options: AntTreeNodeMouseEvent) => void,\n showIcon: PropTypes.bool,\n icon: PropTypes.func,\n switcherIcon: PropTypes.any,\n prefixCls: PropTypes.string,\n filterTreeNode: PropTypes.func,\n openAnimation: PropTypes.any,\n treeNodes: PropTypes.array,\n treeData: PropTypes.array,\n /**\n * @default{title,key,children}\n * 替换treeNode中 title,key,children字段为treeData中对应的字段\n */\n replaceFields: PropTypes.object,\n blockNode: PropTypes.bool,\n };\n}\n\nexport { TreeProps };\n\nexport default {\n name: 'ATree',\n model: {\n prop: 'checkedKeys',\n event: 'check',\n },\n props: initDefaultProps(TreeProps(), {\n checkable: false,\n showIcon: false,\n openAnimation: {\n on: animation,\n props: { appear: null },\n },\n blockNode: false,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n created() {\n warning(\n !('treeNodes' in getOptionProps(this)),\n '`treeNodes` is deprecated. please use treeData instead.',\n );\n },\n TreeNode,\n methods: {\n renderSwitcherIcon(prefixCls, switcherIcon, { isLeaf, expanded, loading }) {\n const { showLine } = this.$props;\n if (loading) {\n return <Icon type=\"loading\" class={`${prefixCls}-switcher-loading-icon`} />;\n }\n\n if (isLeaf) {\n return showLine ? <Icon type=\"file\" class={`${prefixCls}-switcher-line-icon`} /> : null;\n }\n const switcherCls = `${prefixCls}-switcher-icon`;\n if (switcherIcon) {\n return cloneElement(switcherIcon, {\n class: {\n [switcherCls]: true,\n },\n });\n }\n return showLine ? (\n <Icon\n type={expanded ? 'minus-square' : 'plus-square'}\n class={`${prefixCls}-switcher-line-icon`}\n theme=\"outlined\"\n />\n ) : (\n <Icon type=\"caret-down\" class={switcherCls} theme=\"filled\" />\n );\n },\n updateTreeData(treeData) {\n const { $slots, $scopedSlots } = this;\n const defaultFields = { children: 'children', title: 'title', key: 'key' };\n const replaceFields = { ...defaultFields, ...this.$props.replaceFields };\n return treeData.map(item => {\n const key = item[replaceFields.key];\n const children = item[replaceFields.children];\n const { on = {}, slots = {}, scopedSlots = {}, class: cls, style, ...restProps } = item;\n const treeNodeProps = {\n ...restProps,\n icon: $scopedSlots[scopedSlots.icon] || $slots[slots.icon] || restProps.icon,\n switcherIcon:\n $scopedSlots[scopedSlots.switcherIcon] ||\n $slots[slots.switcherIcon] ||\n restProps.switcherIcon,\n title:\n $scopedSlots[scopedSlots.title] ||\n $slots[slots.title] ||\n restProps[replaceFields.title],\n dataRef: item,\n on,\n key,\n class: cls,\n style,\n };\n if (children) {\n return { ...treeNodeProps, children: this.updateTreeData(children) };\n }\n return treeNodeProps;\n });\n },\n },\n render() {\n const props = getOptionProps(this);\n const { $slots, $scopedSlots } = this;\n const { prefixCls: customizePrefixCls, showIcon, treeNodes, blockNode } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('tree', customizePrefixCls);\n const switcherIcon = getComponentFromProp(this, 'switcherIcon');\n const checkable = props.checkable;\n let treeData = props.treeData || treeNodes;\n if (treeData) {\n treeData = this.updateTreeData(treeData);\n }\n const vcTreeProps = {\n props: {\n ...props,\n prefixCls,\n checkable: checkable ? <span class={`${prefixCls}-checkbox-inner`} /> : checkable,\n children: filterEmpty($scopedSlots.default ? $scopedSlots.default() : $slots.default),\n __propsSymbol__: Symbol(),\n switcherIcon: nodeProps => this.renderSwitcherIcon(prefixCls, switcherIcon, nodeProps),\n },\n on: getListeners(this),\n ref: 'tree',\n class: {\n [`${prefixCls}-icon-hide`]: !showIcon,\n [`${prefixCls}-block-node`]: blockNode,\n },\n };\n if (treeData) {\n vcTreeProps.props.treeData = treeData;\n }\n return <VcTree {...vcTreeProps} />;\n },\n};\n","import Tree from './Tree';\nimport DirectoryTree from './DirectoryTree';\nimport Base from '../base';\n\nTree.TreeNode.name = 'ATreeNode';\nTree.DirectoryTree = DirectoryTree;\n/* istanbul ignore next */\nTree.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Tree.name, Tree);\n Vue.component(Tree.TreeNode.name, Tree.TreeNode);\n Vue.component(DirectoryTree.name, DirectoryTree);\n};\n\nexport default Tree;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import { getNodeChildren, convertTreeToEntities } from '../vc-tree/src/util';\nimport { getSlots } from '../_util/props-util';\n\nconst Record = {\n None: 'node',\n Start: 'start',\n End: 'end',\n};\n\n// TODO: Move this logic into `rc-tree`\nfunction traverseNodesKey(rootChildren, callback) {\n const nodeList = getNodeChildren(rootChildren) || [];\n\n function processNode(node) {\n const { key } = node;\n const children = getSlots(node).default;\n if (callback(key, node) !== false) {\n traverseNodesKey(typeof children === 'function' ? children() : children, callback);\n }\n }\n\n nodeList.forEach(processNode);\n}\n\nexport function getFullKeyList(children) {\n const { keyEntities } = convertTreeToEntities(children);\n return [...keyEntities.keys()];\n}\n\n/** 计算选中范围,只考虑expanded情况以优化性能 */\nexport function calcRangeKeys(rootChildren, expandedKeys, startKey, endKey) {\n const keys = [];\n let record = Record.None;\n\n if (startKey && startKey === endKey) {\n return [startKey];\n }\n if (!startKey || !endKey) {\n return [];\n }\n\n function matchKey(key) {\n return key === startKey || key === endKey;\n }\n\n traverseNodesKey(rootChildren, key => {\n if (record === Record.End) {\n return false;\n }\n\n if (matchKey(key)) {\n // Match test\n keys.push(key);\n\n if (record === Record.None) {\n record = Record.Start;\n } else if (record === Record.Start) {\n record = Record.End;\n return false;\n }\n } else if (record === Record.Start) {\n // Append selection\n keys.push(key);\n }\n\n if (expandedKeys.indexOf(key) === -1) {\n return false;\n }\n\n return true;\n });\n\n return keys;\n}\n\nexport function convertDirectoryKeysToNodes(rootChildren, keys) {\n const restKeys = [...keys];\n const nodes = [];\n traverseNodesKey(rootChildren, (key, node) => {\n const index = restKeys.indexOf(key);\n if (index !== -1) {\n nodes.push(node);\n restKeys.splice(index, 1);\n }\n\n return !!restKeys.length;\n });\n return nodes;\n}\n\nexport function getFullKeyListByTreeData(treeData) {\n let keys = [];\n\n (treeData || []).forEach(item => {\n keys.push(item.key);\n if (item.children) {\n keys = [...keys, ...getFullKeyListByTreeData(item.children)];\n }\n });\n return keys;\n}\n","import { getOptionProps, getListeners } from '../_util/props-util';\nimport Upload from './Upload';\nimport { UploadProps } from './interface';\n\nexport default {\n name: 'AUploadDragger',\n props: UploadProps,\n render() {\n const props = getOptionProps(this);\n const draggerProps = {\n props: {\n ...props,\n type: 'drag',\n },\n on: getListeners(this),\n style: { height: this.height },\n };\n return <Upload {...draggerProps}>{this.$slots.default}</Upload>;\n },\n};\n","import classNames from 'classnames';\nimport uniqBy from 'lodash/uniqBy';\nimport findIndex from 'lodash/findIndex';\nimport pick from 'lodash/pick';\nimport VcUpload from '../vc-upload';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps, initDefaultProps, hasProp, getListeners } from '../_util/props-util';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Dragger from './Dragger';\nimport UploadList from './UploadList';\nimport { UploadProps } from './interface';\nimport { T, fileToObject, genPercentAdd, getFileItem, removeFileItem } from './utils';\n\nexport { UploadProps };\n\nexport default {\n name: 'AUpload',\n mixins: [BaseMixin],\n inheritAttrs: false,\n Dragger,\n props: initDefaultProps(UploadProps, {\n type: 'select',\n multiple: false,\n action: '',\n data: {},\n accept: '',\n beforeUpload: T,\n showUploadList: true,\n listType: 'text', // or pictrue\n disabled: false,\n supportServerRender: true,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n // recentUploadStatus: boolean | PromiseLike<any>;\n data() {\n this.progressTimer = null;\n return {\n sFileList: this.fileList || this.defaultFileList || [],\n dragState: 'drop',\n };\n },\n watch: {\n fileList(val) {\n this.sFileList = val || [];\n },\n },\n beforeDestroy() {\n this.clearProgressTimer();\n },\n methods: {\n onStart(file) {\n const targetItem = fileToObject(file);\n targetItem.status = 'uploading';\n const nextFileList = this.sFileList.concat();\n const fileIndex = findIndex(nextFileList, ({ uid }) => uid === targetItem.uid);\n if (fileIndex === -1) {\n nextFileList.push(targetItem);\n } else {\n nextFileList[fileIndex] = targetItem;\n }\n this.onChange({\n file: targetItem,\n fileList: nextFileList,\n });\n // fix ie progress\n if (!window.File || process.env.TEST_IE) {\n this.autoUpdateProgress(0, targetItem);\n }\n },\n\n onSuccess(response, file, xhr) {\n this.clearProgressTimer();\n try {\n if (typeof response === 'string') {\n response = JSON.parse(response);\n }\n } catch (e) {\n /* do nothing */\n }\n const fileList = this.sFileList;\n const targetItem = getFileItem(file, fileList);\n // removed\n if (!targetItem) {\n return;\n }\n targetItem.status = 'done';\n targetItem.response = response;\n targetItem.xhr = xhr;\n this.onChange({\n file: { ...targetItem },\n fileList,\n });\n },\n onProgress(e, file) {\n const fileList = this.sFileList;\n const targetItem = getFileItem(file, fileList);\n // removed\n if (!targetItem) {\n return;\n }\n targetItem.percent = e.percent;\n this.onChange({\n event: e,\n file: { ...targetItem },\n fileList: this.sFileList,\n });\n },\n onError(error, response, file) {\n this.clearProgressTimer();\n const fileList = this.sFileList;\n const targetItem = getFileItem(file, fileList);\n // removed\n if (!targetItem) {\n return;\n }\n targetItem.error = error;\n targetItem.response = response;\n targetItem.status = 'error';\n this.onChange({\n file: { ...targetItem },\n fileList,\n });\n },\n onReject(fileList) {\n this.$emit('reject', fileList);\n },\n handleRemove(file) {\n const { remove: onRemove } = this;\n const { sFileList: fileList } = this.$data;\n\n Promise.resolve(typeof onRemove === 'function' ? onRemove(file) : onRemove).then(ret => {\n // Prevent removing file\n if (ret === false) {\n return;\n }\n\n const removedFileList = removeFileItem(file, fileList);\n\n if (removedFileList) {\n file.status = 'removed'; // eslint-disable-line\n\n if (this.upload) {\n this.upload.abort(file);\n }\n\n this.onChange({\n file,\n fileList: removedFileList,\n });\n }\n });\n },\n handleManualRemove(file) {\n if (this.$refs.uploadRef) {\n this.$refs.uploadRef.abort(file);\n }\n this.handleRemove(file);\n },\n onChange(info) {\n if (!hasProp(this, 'fileList')) {\n this.setState({ sFileList: info.fileList });\n }\n this.$emit('change', info);\n },\n onFileDrop(e) {\n this.setState({\n dragState: e.type,\n });\n },\n reBeforeUpload(file, fileList) {\n const { beforeUpload } = this.$props;\n const { sFileList: stateFileList } = this.$data;\n if (!beforeUpload) {\n return true;\n }\n const result = beforeUpload(file, fileList);\n if (result === false) {\n this.onChange({\n file,\n fileList: uniqBy(stateFileList.concat(fileList.map(fileToObject)), item => item.uid),\n });\n return false;\n }\n if (result && result.then) {\n return result;\n }\n return true;\n },\n clearProgressTimer() {\n clearInterval(this.progressTimer);\n },\n autoUpdateProgress(_, file) {\n const getPercent = genPercentAdd();\n let curPercent = 0;\n this.clearProgressTimer();\n this.progressTimer = setInterval(() => {\n curPercent = getPercent(curPercent);\n this.onProgress(\n {\n percent: curPercent * 100,\n },\n file,\n );\n }, 200);\n },\n renderUploadList(locale) {\n const {\n showUploadList = {},\n listType,\n previewFile,\n disabled,\n locale: propLocale,\n } = getOptionProps(this);\n const { showRemoveIcon, showPreviewIcon, showDownloadIcon } = showUploadList;\n const { sFileList: fileList } = this.$data;\n const uploadListProps = {\n props: {\n listType,\n items: fileList,\n previewFile,\n showRemoveIcon: !disabled && showRemoveIcon,\n showPreviewIcon,\n showDownloadIcon,\n locale: { ...locale, ...propLocale },\n },\n on: {\n remove: this.handleManualRemove,\n ...pick(getListeners(this), ['download', 'preview']), // 如果没有配置该事件,不要传递, uploadlist 会有相应逻辑\n },\n };\n return <UploadList {...uploadListProps} />;\n },\n },\n render() {\n const {\n prefixCls: customizePrefixCls,\n showUploadList,\n listType,\n type,\n disabled,\n } = getOptionProps(this);\n const { sFileList: fileList, dragState } = this.$data;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('upload', customizePrefixCls);\n\n const vcUploadProps = {\n props: {\n ...this.$props,\n prefixCls,\n beforeUpload: this.reBeforeUpload,\n },\n on: {\n start: this.onStart,\n error: this.onError,\n progress: this.onProgress,\n success: this.onSuccess,\n reject: this.onReject,\n },\n ref: 'uploadRef',\n attrs: { ...this.$attrs },\n };\n const children = this.$slots.default;\n // Remove id to avoid open by label when trigger is hidden\n // https://github.com/ant-design/ant-design/issues/14298\n if (!children || disabled) {\n delete vcUploadProps.props.id;\n delete vcUploadProps.attrs.id;\n }\n const uploadList = showUploadList ? (\n <LocaleReceiver\n componentName=\"Upload\"\n defaultLocale={defaultLocale.Upload}\n scopedSlots={{ default: this.renderUploadList }}\n />\n ) : null;\n\n if (type === 'drag') {\n const dragCls = classNames(prefixCls, {\n [`${prefixCls}-drag`]: true,\n [`${prefixCls}-drag-uploading`]: fileList.some(file => file.status === 'uploading'),\n [`${prefixCls}-drag-hover`]: dragState === 'dragover',\n [`${prefixCls}-disabled`]: disabled,\n });\n return (\n <span>\n <div\n class={dragCls}\n onDrop={this.onFileDrop}\n onDragover={this.onFileDrop}\n onDragleave={this.onFileDrop}\n >\n <VcUpload {...vcUploadProps} class={`${prefixCls}-btn`}>\n <div class={`${prefixCls}-drag-container`}>{children}</div>\n </VcUpload>\n </div>\n {uploadList}\n </span>\n );\n }\n\n const uploadButtonCls = classNames(prefixCls, {\n [`${prefixCls}-select`]: true,\n [`${prefixCls}-select-${listType}`]: true,\n [`${prefixCls}-disabled`]: disabled,\n });\n\n const uploadButton = (\n <div class={uploadButtonCls} style={children ? undefined : { display: 'none' }}>\n <VcUpload {...vcUploadProps}>{children}</VcUpload>\n </div>\n );\n\n if (listType === 'picture-card') {\n return (\n <span class={`${prefixCls}-picture-card-wrapper`}>\n {uploadList}\n {uploadButton}\n </span>\n );\n }\n return (\n <span>\n {uploadButton}\n {uploadList}\n </span>\n );\n },\n};\n","import BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps, initDefaultProps, getListeners } from '../_util/props-util';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport { ConfigConsumerProps } from '../config-provider';\nimport { previewImage, isImageUrl } from './utils';\nimport Icon from '../icon';\nimport Tooltip from '../tooltip';\nimport Progress from '../progress';\nimport classNames from 'classnames';\nimport { UploadListProps } from './interface';\n\nexport default {\n name: 'AUploadList',\n mixins: [BaseMixin],\n props: initDefaultProps(UploadListProps, {\n listType: 'text', // or picture\n progressAttr: {\n strokeWidth: 2,\n showInfo: false,\n },\n showRemoveIcon: true,\n showDownloadIcon: false,\n showPreviewIcon: true,\n previewFile: previewImage,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n updated() {\n this.$nextTick(() => {\n const { listType, items, previewFile } = this.$props;\n if (listType !== 'picture' && listType !== 'picture-card') {\n return;\n }\n (items || []).forEach(file => {\n if (\n typeof document === 'undefined' ||\n typeof window === 'undefined' ||\n !window.FileReader ||\n !window.File ||\n !(file.originFileObj instanceof File || file.originFileObj instanceof Blob) ||\n file.thumbUrl !== undefined\n ) {\n return;\n }\n /*eslint-disable */\n file.thumbUrl = '';\n if (previewFile) {\n previewFile(file.originFileObj).then(previewDataUrl => {\n // Need append '' to avoid dead loop\n file.thumbUrl = previewDataUrl || '';\n this.$forceUpdate();\n });\n }\n });\n });\n },\n methods: {\n handlePreview(file, e) {\n const { preview } = getListeners(this);\n if (!preview) {\n return;\n }\n e.preventDefault();\n return this.$emit('preview', file);\n },\n handleDownload(file) {\n const { download } = getListeners(this);\n if (typeof download === 'function') {\n download(file);\n } else if (file.url) {\n window.open(file.url);\n }\n },\n\n handleClose(file) {\n this.$emit('remove', file);\n },\n },\n render() {\n const {\n prefixCls: customizePrefixCls,\n items = [],\n listType,\n showPreviewIcon,\n showRemoveIcon,\n showDownloadIcon,\n locale,\n progressAttr,\n } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('upload', customizePrefixCls);\n\n const list = items.map(file => {\n let progress;\n let icon = <Icon type={file.status === 'uploading' ? 'loading' : 'paper-clip'} />;\n\n if (listType === 'picture' || listType === 'picture-card') {\n if (listType === 'picture-card' && file.status === 'uploading') {\n icon = <div class={`${prefixCls}-list-item-uploading-text`}>{locale.uploading}</div>;\n } else if (!file.thumbUrl && !file.url) {\n icon = <Icon class={`${prefixCls}-list-item-thumbnail`} type=\"picture\" theme=\"twoTone\" />;\n } else {\n const thumbnail = isImageUrl(file) ? (\n <img\n src={file.thumbUrl || file.url}\n alt={file.name}\n class={`${prefixCls}-list-item-image`}\n />\n ) : (\n <Icon type=\"file\" class={`${prefixCls}-list-item-icon`} theme=\"twoTone\" />\n );\n icon = (\n <a\n class={`${prefixCls}-list-item-thumbnail`}\n onClick={e => this.handlePreview(file, e)}\n href={file.url || file.thumbUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {thumbnail}\n </a>\n );\n }\n }\n\n if (file.status === 'uploading') {\n const progressProps = {\n props: {\n ...progressAttr,\n type: 'line',\n percent: file.percent,\n },\n };\n // show loading icon if upload progress listener is disabled\n const loadingProgress = 'percent' in file ? <Progress {...progressProps} /> : null;\n\n progress = (\n <div class={`${prefixCls}-list-item-progress`} key=\"progress\">\n {loadingProgress}\n </div>\n );\n }\n const infoUploadingClass = classNames({\n [`${prefixCls}-list-item`]: true,\n [`${prefixCls}-list-item-${file.status}`]: true,\n [`${prefixCls}-list-item-list-type-${listType}`]: true,\n });\n const linkProps =\n typeof file.linkProps === 'string' ? JSON.parse(file.linkProps) : file.linkProps;\n\n const removeIcon = showRemoveIcon ? (\n <Icon type=\"delete\" title={locale.removeFile} onClick={() => this.handleClose(file)} />\n ) : null;\n const downloadIcon =\n showDownloadIcon && file.status === 'done' ? (\n <Icon\n type=\"download\"\n title={locale.downloadFile}\n onClick={() => this.handleDownload(file)}\n />\n ) : null;\n const downloadOrDelete = listType !== 'picture-card' && (\n <span\n key=\"download-delete\"\n class={`${prefixCls}-list-item-card-actions ${listType === 'picture' ? 'picture' : ''}`}\n >\n {downloadIcon && <a title={locale.downloadFile}>{downloadIcon}</a>}\n {removeIcon && <a title={locale.removeFile}>{removeIcon}</a>}\n </span>\n );\n const listItemNameClass = classNames({\n [`${prefixCls}-list-item-name`]: true,\n [`${prefixCls}-list-item-name-icon-count-${\n [downloadIcon, removeIcon].filter(x => x).length\n }`]: true,\n });\n\n const preview = file.url\n ? [\n <a\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class={listItemNameClass}\n title={file.name}\n {...linkProps}\n href={file.url}\n onClick={e => this.handlePreview(file, e)}\n >\n {file.name}\n </a>,\n downloadOrDelete,\n ]\n : [\n <span\n key=\"view\"\n class={`${prefixCls}-list-item-name`}\n onClick={e => this.handlePreview(file, e)}\n title={file.name}\n >\n {file.name}\n </span>,\n downloadOrDelete,\n ];\n const style =\n file.url || file.thumbUrl\n ? undefined\n : {\n pointerEvents: 'none',\n opacity: 0.5,\n };\n const previewIcon = showPreviewIcon ? (\n <a\n href={file.url || file.thumbUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={style}\n onClick={e => this.handlePreview(file, e)}\n title={locale.previewFile}\n >\n <Icon type=\"eye-o\" />\n </a>\n ) : null;\n const actions = listType === 'picture-card' && file.status !== 'uploading' && (\n <span class={`${prefixCls}-list-item-actions`}>\n {previewIcon}\n {file.status === 'done' && downloadIcon}\n {removeIcon}\n </span>\n );\n let message;\n if (file.response && typeof file.response === 'string') {\n message = file.response;\n } else {\n message = (file.error && file.error.statusText) || locale.uploadError;\n }\n const iconAndPreview = (\n <span>\n {icon}\n {preview}\n </span>\n );\n const transitionProps = getTransitionProps('fade');\n const dom = (\n <div class={infoUploadingClass} key={file.uid}>\n <div class={`${prefixCls}-list-item-info`}>{iconAndPreview}</div>\n {actions}\n <transition {...transitionProps}>{progress}</transition>\n </div>\n );\n const listContainerNameClass = classNames({\n [`${prefixCls}-list-picture-card-container`]: listType === 'picture-card',\n });\n return (\n <div key={file.uid} class={listContainerNameClass}>\n {file.status === 'error' ? <Tooltip title={message}>{dom}</Tooltip> : <span>{dom}</span>}\n </div>\n );\n });\n const listClassNames = classNames({\n [`${prefixCls}-list`]: true,\n [`${prefixCls}-list-${listType}`]: true,\n });\n const animationDirection = listType === 'picture-card' ? 'animate-inline' : 'animate';\n const transitionGroupProps = getTransitionProps(`${prefixCls}-${animationDirection}`);\n return (\n <transition-group {...transitionGroupProps} tag=\"div\" class={listClassNames}>\n {list}\n </transition-group>\n );\n },\n};\n","import Upload from './Upload';\nimport Dragger from './Dragger';\nimport Base from '../base';\n\nexport { UploadProps, UploadListProps, UploadChangeParam } from './interface';\n\nUpload.Dragger = Dragger;\n\n/* istanbul ignore next */\nUpload.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Upload.name, Upload);\n Vue.component(Dragger.name, Dragger);\n};\n\nexport default Upload;\n","import PropsTypes from '../_util/vue-types';\n\nexport const UploadFileStatus = PropsTypes.oneOf([\n 'error',\n 'success',\n 'done',\n 'uploading',\n 'removed',\n]);\n\n// export const HttpRequestHeader {\n// [key: string]: string;\n// }\n\n// export const UploadFile = PropsTypes.shape({\n// uid: PropsTypes.oneOfType([\n// PropsTypes.string,\n// PropsTypes.number,\n// ]),\n// size: PropsTypes.number,\n// name: PropsTypes.string,\n// filename: PropsTypes.string,\n// lastModified: PropsTypes.number,\n// lastModifiedDate: PropsTypes.any,\n// url: PropsTypes.string,\n// status: UploadFileStatus,\n// percent: PropsTypes.number,\n// thumbUrl: PropsTypes.string,\n// originFileObj: PropsTypes.any,\n// response: PropsTypes.any,\n// error: PropsTypes.any,\n// linkProps: PropsTypes.any,\n// type: PropsTypes.string,\n// }).loose\n\nfunction UploadFile({ uid, name }) {\n if (!uid && uid !== 0) return false;\n if (!['string', 'number'].includes(typeof uid)) return false;\n if (name === '' || typeof name !== 'string') return false;\n return true;\n}\n\nexport const UploadChangeParam = {\n file: PropsTypes.custom(UploadFile),\n fileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n event: PropsTypes.object,\n};\n\nexport const ShowUploadListInterface = PropsTypes.shape({\n showRemoveIcon: PropsTypes.bool,\n showPreviewIcon: PropsTypes.bool,\n}).loose;\n\nexport const UploadLocale = PropsTypes.shape({\n uploading: PropsTypes.string,\n removeFile: PropsTypes.string,\n downloadFile: PropsTypes.string,\n uploadError: PropsTypes.string,\n previewFile: PropsTypes.string,\n}).loose;\n\nexport const UploadProps = {\n type: PropsTypes.oneOf(['drag', 'select']),\n name: PropsTypes.string,\n defaultFileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n fileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n action: PropsTypes.oneOfType([PropsTypes.string, PropsTypes.func]),\n directory: PropsTypes.bool,\n data: PropsTypes.oneOfType([PropsTypes.object, PropsTypes.func]),\n method: PropsTypes.oneOf(['POST', 'PUT', 'post', 'put']),\n headers: PropsTypes.object,\n showUploadList: PropsTypes.oneOfType([PropsTypes.bool, ShowUploadListInterface]),\n multiple: PropsTypes.bool,\n accept: PropsTypes.string,\n beforeUpload: PropsTypes.func,\n // onChange: PropsTypes.func,\n listType: PropsTypes.oneOf(['text', 'picture', 'picture-card']),\n // className: PropsTypes.string,\n // onPreview: PropsTypes.func,\n remove: PropsTypes.func,\n supportServerRender: PropsTypes.bool,\n // style: PropsTypes.object,\n disabled: PropsTypes.bool,\n prefixCls: PropsTypes.string,\n customRequest: PropsTypes.func,\n withCredentials: PropsTypes.bool,\n openFileDialogOnClick: PropsTypes.bool,\n locale: UploadLocale,\n height: PropsTypes.number,\n id: PropsTypes.string,\n previewFile: PropsTypes.func,\n transformFile: PropsTypes.func,\n};\n\nexport const UploadState = {\n fileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n dragState: PropsTypes.string,\n};\n\nexport const UploadListProps = {\n listType: PropsTypes.oneOf(['text', 'picture', 'picture-card']),\n // onPreview: PropsTypes.func,\n // onRemove: PropsTypes.func,\n // items: PropsTypes.arrayOf(UploadFile),\n items: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n // items: PropsTypes.any,\n progressAttr: PropsTypes.object,\n prefixCls: PropsTypes.string,\n showRemoveIcon: PropsTypes.bool,\n showDownloadIcon: PropsTypes.bool,\n showPreviewIcon: PropsTypes.bool,\n locale: UploadLocale,\n previewFile: PropsTypes.func,\n};\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../progress/style';\nimport '../../tooltip/style';\n","// extracted by mini-css-extract-plugin","export function T() {\n return true;\n}\n\n// Fix IE file.status problem\n// via coping a new Object\nexport function fileToObject(file) {\n return {\n ...file,\n lastModified: file.lastModified,\n lastModifiedDate: file.lastModifiedDate,\n name: file.name,\n size: file.size,\n type: file.type,\n uid: file.uid,\n percent: 0,\n originFileObj: file,\n };\n}\n\n/**\n * 生成Progress percent: 0.1 -> 0.98\n * - for ie\n */\nexport function genPercentAdd() {\n let k = 0.1;\n const i = 0.01;\n const end = 0.98;\n return function(s) {\n let start = s;\n if (start >= end) {\n return start;\n }\n\n start += k;\n k = k - i;\n if (k < 0.001) {\n k = 0.001;\n }\n return start;\n };\n}\n\nexport function getFileItem(file, fileList) {\n const matchKey = file.uid !== undefined ? 'uid' : 'name';\n return fileList.filter(item => item[matchKey] === file[matchKey])[0];\n}\n\nexport function removeFileItem(file, fileList) {\n const matchKey = file.uid !== undefined ? 'uid' : 'name';\n const removed = fileList.filter(item => item[matchKey] !== file[matchKey]);\n if (removed.length === fileList.length) {\n return null;\n }\n return removed;\n}\n\n// ==================== Default Image Preview ====================\nconst extname = (url = '') => {\n const temp = url.split('/');\n const filename = temp[temp.length - 1];\n const filenameWithoutSuffix = filename.split(/#|\\?/)[0];\n return (/\\.[^./\\\\]*$/.exec(filenameWithoutSuffix) || [''])[0];\n};\n\nconst isImageFileType = type => !!type && type.indexOf('image/') === 0;\n\nexport const isImageUrl = file => {\n if (isImageFileType(file.type)) {\n return true;\n }\n const url = file.thumbUrl || file.url;\n const extension = extname(url);\n if (\n /^data:image\\//.test(url) ||\n /(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico)$/i.test(extension)\n ) {\n return true;\n }\n if (/^data:/.test(url)) {\n // other file types of base64\n return false;\n }\n if (extension) {\n // other file types which have extension\n return false;\n }\n return true;\n};\n\nconst MEASURE_SIZE = 200;\nexport function previewImage(file) {\n return new Promise(resolve => {\n if (!isImageFileType(file.type)) {\n resolve('');\n return;\n }\n\n const canvas = document.createElement('canvas');\n canvas.width = MEASURE_SIZE;\n canvas.height = MEASURE_SIZE;\n canvas.style.cssText = `position: fixed; left: 0; top: 0; width: ${MEASURE_SIZE}px; height: ${MEASURE_SIZE}px; z-index: 9999; display: none;`;\n document.body.appendChild(canvas);\n const ctx = canvas.getContext('2d');\n const img = new Image();\n img.onload = () => {\n const { width, height } = img;\n\n let drawWidth = MEASURE_SIZE;\n let drawHeight = MEASURE_SIZE;\n let offsetX = 0;\n let offsetY = 0;\n\n if (width < height) {\n drawHeight = height * (MEASURE_SIZE / width);\n offsetY = -(drawHeight - drawWidth) / 2;\n } else {\n drawWidth = width * (MEASURE_SIZE / height);\n offsetX = -(drawWidth - drawHeight) / 2;\n }\n\n ctx.drawImage(img, offsetX, offsetY, drawWidth, drawHeight);\n const dataURL = canvas.toDataURL();\n document.body.removeChild(canvas);\n\n resolve(dataURL);\n };\n img.src = window.URL.createObjectURL(file);\n });\n}\n","import PropTypes from '../_util/vue-types';\nimport { alignElement, alignPoint } from 'dom-align';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport { isWindow, buffer, isSamePoint, isSimilarValue, restoreFocus } from './util';\nimport { cloneElement } from '../_util/vnode.js';\nimport clonedeep from 'lodash/cloneDeep';\nimport { getSlot, getListeners } from '../_util/props-util';\n\nfunction getElement(func) {\n if (typeof func !== 'function' || !func) return null;\n return func();\n}\n\nfunction getPoint(point) {\n if (typeof point !== 'object' || !point) return null;\n return point;\n}\n\nexport default {\n props: {\n childrenProps: PropTypes.object,\n align: PropTypes.object.isRequired,\n target: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).def(() => window),\n monitorBufferTime: PropTypes.number.def(50),\n monitorWindowResize: PropTypes.bool.def(false),\n disabled: PropTypes.bool.def(false),\n },\n data() {\n this.aligned = false;\n return {};\n },\n mounted() {\n this.$nextTick(() => {\n this.prevProps = { ...this.$props };\n const props = this.$props;\n // if parent ref not attached .... use document.getElementById\n !this.aligned && this.forceAlign();\n if (!props.disabled && props.monitorWindowResize) {\n this.startMonitorWindowResize();\n }\n });\n },\n updated() {\n this.$nextTick(() => {\n const prevProps = this.prevProps;\n const props = this.$props;\n let reAlign = false;\n if (!props.disabled) {\n const source = this.$el;\n const sourceRect = source ? source.getBoundingClientRect() : null;\n\n if (prevProps.disabled) {\n reAlign = true;\n } else {\n const lastElement = getElement(prevProps.target);\n const currentElement = getElement(props.target);\n const lastPoint = getPoint(prevProps.target);\n const currentPoint = getPoint(props.target);\n if (isWindow(lastElement) && isWindow(currentElement)) {\n // Skip if is window\n reAlign = false;\n } else if (\n lastElement !== currentElement || // Element change\n (lastElement && !currentElement && currentPoint) || // Change from element to point\n (lastPoint && currentPoint && currentElement) || // Change from point to element\n (currentPoint && !isSamePoint(lastPoint, currentPoint))\n ) {\n reAlign = true;\n }\n\n // If source element size changed\n const preRect = this.sourceRect || {};\n if (\n !reAlign &&\n source &&\n (!isSimilarValue(preRect.width, sourceRect.width) ||\n !isSimilarValue(preRect.height, sourceRect.height))\n ) {\n reAlign = true;\n }\n }\n this.sourceRect = sourceRect;\n }\n\n if (reAlign) {\n this.forceAlign();\n }\n\n if (props.monitorWindowResize && !props.disabled) {\n this.startMonitorWindowResize();\n } else {\n this.stopMonitorWindowResize();\n }\n this.prevProps = { ...this.$props, align: clonedeep(this.$props.align) };\n });\n },\n beforeDestroy() {\n this.stopMonitorWindowResize();\n },\n methods: {\n startMonitorWindowResize() {\n if (!this.resizeHandler) {\n this.bufferMonitor = buffer(this.forceAlign, this.$props.monitorBufferTime);\n this.resizeHandler = addEventListener(window, 'resize', this.bufferMonitor);\n }\n },\n\n stopMonitorWindowResize() {\n if (this.resizeHandler) {\n this.bufferMonitor.clear();\n this.resizeHandler.remove();\n this.resizeHandler = null;\n }\n },\n\n forceAlign() {\n const { disabled, target, align } = this.$props;\n if (!disabled && target) {\n const source = this.$el;\n const listeners = getListeners(this);\n let result;\n const element = getElement(target);\n const point = getPoint(target);\n\n // IE lose focus after element realign\n // We should record activeElement and restore later\n const activeElement = document.activeElement;\n\n if (element) {\n result = alignElement(source, element, align);\n } else if (point) {\n result = alignPoint(source, point, align);\n }\n restoreFocus(activeElement, source);\n this.aligned = true;\n listeners.align && listeners.align(source, result);\n }\n },\n },\n\n render() {\n const { childrenProps } = this.$props;\n const child = getSlot(this)[0];\n if (child && childrenProps) {\n return cloneElement(child, { props: childrenProps });\n }\n return child;\n },\n};\n","// based on vc-align 2.4.5\nimport Align from './Align';\nexport default Align;\n","import contains from '../vc-util/Dom/contains';\nexport function buffer(fn, ms) {\n let timer;\n\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n\n function bufferFn() {\n clear();\n timer = setTimeout(fn, ms);\n }\n\n bufferFn.clear = clear;\n\n return bufferFn;\n}\n\nexport function isSamePoint(prev, next) {\n if (prev === next) return true;\n if (!prev || !next) return false;\n\n if ('pageX' in next && 'pageY' in next) {\n return prev.pageX === next.pageX && prev.pageY === next.pageY;\n }\n\n if ('clientX' in next && 'clientY' in next) {\n return prev.clientX === next.clientX && prev.clientY === next.clientY;\n }\n\n return false;\n}\n\nexport function isWindow(obj) {\n return obj && typeof obj === 'object' && obj.window === obj;\n}\n\nexport function isSimilarValue(val1, val2) {\n const int1 = Math.floor(val1);\n const int2 = Math.floor(val2);\n return Math.abs(int1 - int2) <= 1;\n}\n\nexport function restoreFocus(activeElement, container) {\n // Focus back if is in the container\n if (activeElement !== document.activeElement && contains(container, activeElement)) {\n activeElement.focus();\n }\n}\n","// based on rc-calendar 9.15.10\nimport Vue from 'vue';\nimport ref from 'vue-ref';\nimport Calendar from './src/';\n\nVue.use(ref, { name: 'ant-ref' });\n\nexport default Calendar;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, hasProp, getComponentFromProp } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport KeyCode from '../../_util/KeyCode';\nimport moment from 'moment';\nimport DateTable from './date/DateTable';\nimport CalendarHeader from './calendar/CalendarHeader';\nimport CalendarFooter from './calendar/CalendarFooter';\nimport CalendarMixin, { getNowByCurrentStateValue } from './mixin/CalendarMixin';\nimport CommonMixin from './mixin/CommonMixin';\nimport DateInput from './date/DateInput';\nimport enUs from './locale/en_US';\nimport { getTimeConfig, getTodayTime, syncTime } from './util';\nimport { goStartMonth, goEndMonth, goTime } from './util/toTime';\n\nconst getMomentObjectIfValid = date => {\n if (moment.isMoment(date) && date.isValid()) {\n return date;\n }\n return false;\n};\n\nconst Calendar = {\n name: 'Calendar',\n props: {\n locale: PropTypes.object.def(enUs),\n format: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.func,\n ]),\n visible: PropTypes.bool.def(true),\n prefixCls: PropTypes.string.def('rc-calendar'),\n // prefixCls: PropTypes.string,\n defaultValue: PropTypes.object,\n value: PropTypes.object,\n selectedValue: PropTypes.object,\n defaultSelectedValue: PropTypes.object,\n mode: PropTypes.oneOf(['time', 'date', 'month', 'year', 'decade']),\n // locale: PropTypes.object,\n showDateInput: PropTypes.bool.def(true),\n showWeekNumber: PropTypes.bool,\n showToday: PropTypes.bool.def(true),\n showOk: PropTypes.bool,\n // onSelect: PropTypes.func,\n // onOk: PropTypes.func,\n // onKeyDown: PropTypes.func,\n timePicker: PropTypes.any,\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 dateRender: PropTypes.func,\n renderFooter: PropTypes.func.def(() => null),\n renderSidebar: PropTypes.func.def(() => null),\n clearIcon: PropTypes.any,\n focusablePanel: PropTypes.bool.def(true),\n inputMode: PropTypes.string,\n inputReadOnly: PropTypes.bool,\n },\n\n mixins: [BaseMixin, CommonMixin, CalendarMixin],\n\n data() {\n const props = this.$props;\n return {\n sMode: this.mode || 'date',\n sValue:\n getMomentObjectIfValid(props.value) ||\n getMomentObjectIfValid(props.defaultValue) ||\n moment(),\n sSelectedValue: props.selectedValue || props.defaultSelectedValue,\n };\n },\n watch: {\n mode(val) {\n this.setState({ sMode: val });\n },\n value(val) {\n this.setState({\n sValue:\n getMomentObjectIfValid(val) ||\n getMomentObjectIfValid(this.defaultValue) ||\n getNowByCurrentStateValue(this.sValue),\n });\n },\n selectedValue(val) {\n this.setState({\n sSelectedValue: val,\n });\n },\n },\n mounted() {\n this.$nextTick(() => {\n this.saveFocusElement(DateInput.getInstance());\n });\n },\n methods: {\n onPanelChange(value, mode) {\n const { sValue } = this;\n if (!hasProp(this, 'mode')) {\n this.setState({ sMode: mode });\n }\n this.__emit('panelChange', value || sValue, mode);\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, sValue: value } = this;\n switch (keyCode) {\n case KeyCode.DOWN:\n this.goTime(1, 'weeks');\n event.preventDefault();\n return 1;\n case KeyCode.UP:\n this.goTime(-1, 'weeks');\n event.preventDefault();\n return 1;\n case KeyCode.LEFT:\n if (ctrlKey) {\n this.goTime(-1, 'years');\n } else {\n this.goTime(-1, 'days');\n }\n event.preventDefault();\n return 1;\n case KeyCode.RIGHT:\n if (ctrlKey) {\n this.goTime(1, 'years');\n } else {\n this.goTime(1, 'days');\n }\n event.preventDefault();\n return 1;\n case KeyCode.HOME:\n this.setValue(goStartMonth(value));\n event.preventDefault();\n return 1;\n case KeyCode.END:\n this.setValue(goEndMonth(value));\n event.preventDefault();\n return 1;\n case KeyCode.PAGE_DOWN:\n this.goTime(1, 'month');\n event.preventDefault();\n return 1;\n case KeyCode.PAGE_UP:\n this.goTime(-1, 'month');\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.__emit('keydown', event);\n return 1;\n }\n },\n\n onClear() {\n this.onSelect(null);\n this.__emit('clear');\n },\n\n onOk() {\n const { sSelectedValue } = this;\n if (this.isAllowedDate(sSelectedValue)) {\n this.__emit('ok', sSelectedValue);\n }\n },\n\n onDateInputChange(value) {\n this.onSelect(value, {\n source: 'dateInput',\n });\n },\n onDateInputSelect(value) {\n this.onSelect(value, {\n source: 'dateInputSelect',\n });\n },\n onDateTableSelect(value) {\n const { timePicker, sSelectedValue } = this;\n if (!sSelectedValue && timePicker) {\n const timePickerProps = getOptionProps(timePicker);\n const timePickerDefaultValue = timePickerProps.defaultValue;\n if (timePickerDefaultValue) {\n syncTime(timePickerDefaultValue, value);\n }\n }\n this.onSelect(value);\n },\n onToday() {\n const { sValue } = this;\n const now = getTodayTime(sValue);\n this.onSelect(now, {\n source: 'todayButton',\n });\n },\n\n onBlur(event) {\n setTimeout(() => {\n const dateInput = DateInput.getInstance();\n const rootInstance = this.rootInstance;\n\n if (\n !rootInstance ||\n rootInstance.contains(document.activeElement) ||\n (dateInput && dateInput.contains(document.activeElement))\n ) {\n // focused element is still part of Calendar\n return;\n }\n\n this.$emit('blur', event);\n }, 0);\n },\n\n getRootDOMNode() {\n return this.$el;\n },\n openTimePicker() {\n this.onPanelChange(null, 'time');\n },\n closeTimePicker() {\n this.onPanelChange(null, 'date');\n },\n goTime(direction, unit) {\n this.setValue(goTime(this.sValue, direction, unit));\n },\n },\n\n render() {\n const {\n locale,\n prefixCls,\n disabledDate,\n dateInputPlaceholder,\n timePicker,\n disabledTime,\n showDateInput,\n sValue,\n sSelectedValue,\n sMode,\n renderFooter,\n inputMode,\n inputReadOnly,\n monthCellRender,\n monthCellContentRender,\n $props: props,\n } = this;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const showTimePicker = sMode === 'time';\n const disabledTimeConfig =\n showTimePicker && disabledTime && timePicker\n ? getTimeConfig(sSelectedValue, disabledTime)\n : null;\n\n let timePickerEle = null;\n\n if (timePicker && showTimePicker) {\n const timePickerOriginProps = getOptionProps(timePicker);\n const timePickerProps = {\n props: {\n showHour: true,\n showSecond: true,\n showMinute: true,\n ...timePickerOriginProps,\n ...disabledTimeConfig,\n value: sSelectedValue,\n disabledTime,\n },\n on: {\n change: this.onDateInputChange,\n },\n };\n\n if (timePickerOriginProps.defaultValue !== undefined) {\n timePickerProps.props.defaultOpenValue = timePickerOriginProps.defaultValue;\n }\n timePickerEle = cloneElement(timePicker, timePickerProps);\n }\n\n const dateInputElement = showDateInput ? (\n <DateInput\n format={this.getFormat()}\n key=\"date-input\"\n value={sValue}\n locale={locale}\n placeholder={dateInputPlaceholder}\n showClear\n disabledTime={disabledTime}\n disabledDate={disabledDate}\n onClear={this.onClear}\n prefixCls={prefixCls}\n selectedValue={sSelectedValue}\n onChange={this.onDateInputChange}\n clearIcon={clearIcon}\n onSelect={this.onDateInputSelect}\n inputMode={inputMode}\n inputReadOnly={inputReadOnly}\n />\n ) : null;\n const children = [];\n if (props.renderSidebar) {\n children.push(props.renderSidebar());\n }\n children.push(\n <div class={`${prefixCls}-panel`} key=\"panel\">\n {dateInputElement}\n <div tabIndex={props.focusablePanel ? 0 : undefined} class={`${prefixCls}-date-panel`}>\n <CalendarHeader\n locale={locale}\n mode={sMode}\n value={sValue}\n onValueChange={this.setValue}\n onPanelChange={this.onPanelChange}\n renderFooter={renderFooter}\n showTimePicker={showTimePicker}\n prefixCls={prefixCls}\n monthCellRender={monthCellRender}\n monthCellContentRender={monthCellContentRender}\n />\n {timePicker && showTimePicker ? (\n <div class={`${prefixCls}-time-picker`}>\n <div class={`${prefixCls}-time-picker-panel`}>{timePickerEle}</div>\n </div>\n ) : null}\n <div class={`${prefixCls}-body`}>\n <DateTable\n locale={locale}\n value={sValue}\n selectedValue={sSelectedValue}\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 mode={sMode}\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={sSelectedValue}\n timePickerDisabled={!sSelectedValue}\n value={sValue}\n disabledDate={disabledDate}\n okDisabled={\n props.showOk !== false && (!sSelectedValue || !this.isAllowedDate(sSelectedValue))\n }\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 class: props.showWeekNumber ? `${prefixCls}-week-number` : '',\n });\n },\n};\n\nexport default Calendar;\n","import moment from 'moment';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, hasProp, getListeners } from '../../_util/props-util';\nimport DateTable from './date/DateTable';\nimport MonthTable from './month/MonthTable';\nimport CalendarMixin, { getNowByCurrentStateValue } from './mixin/CalendarMixin';\nimport CommonMixin from './mixin/CommonMixin';\nimport CalendarHeader from './full-calendar/CalendarHeader';\nimport enUs from './locale/en_US';\nconst FullCalendar = {\n name: 'FullCalendar',\n props: {\n locale: PropTypes.object.def(enUs),\n format: PropTypes.oneOfType([PropTypes.string, PropTypes.array, PropTypes.func]),\n visible: PropTypes.bool.def(true),\n prefixCls: PropTypes.string.def('rc-calendar'),\n defaultType: PropTypes.string.def('date'),\n type: PropTypes.string,\n fullscreen: PropTypes.bool.def(false),\n monthCellRender: PropTypes.func,\n dateCellRender: PropTypes.func,\n showTypeSwitch: PropTypes.bool.def(true),\n Select: PropTypes.object.isRequired,\n headerComponents: PropTypes.array,\n headerComponent: PropTypes.object, // The whole header component\n headerRender: PropTypes.func,\n showHeader: PropTypes.bool.def(true),\n disabledDate: PropTypes.func,\n value: PropTypes.object,\n defaultValue: PropTypes.object,\n selectedValue: PropTypes.object,\n defaultSelectedValue: PropTypes.object,\n renderFooter: PropTypes.func.def(() => null),\n renderSidebar: PropTypes.func.def(() => null),\n },\n mixins: [BaseMixin, CommonMixin, CalendarMixin],\n data() {\n let type;\n if (hasProp(this, 'type')) {\n type = this.type;\n } else {\n type = this.defaultType;\n }\n const props = this.$props;\n return {\n sType: type,\n sValue: props.value || props.defaultValue || moment(),\n sSelectedValue: props.selectedValue || props.defaultSelectedValue,\n };\n },\n watch: {\n type(val) {\n this.setState({\n sType: val,\n });\n },\n value(val) {\n const sValue = val || this.defaultValue || getNowByCurrentStateValue(this.sValue);\n this.setState({\n sValue,\n });\n },\n selectedValue(val) {\n this.setState({\n sSelectedValue: val,\n });\n },\n },\n methods: {\n onMonthSelect(value) {\n this.onSelect(value, {\n target: 'month',\n });\n },\n setType(type) {\n if (!hasProp(this, 'type')) {\n this.setState({\n sType: type,\n });\n }\n this.__emit('typeChange', type);\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const {\n locale,\n prefixCls,\n fullscreen,\n showHeader,\n headerComponent,\n headerRender,\n disabledDate,\n } = props;\n const { sValue: value, sType: type } = this;\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 const headerProps = {\n props: {\n ...props,\n prefixCls: `${prefixCls}-full`,\n type,\n value,\n },\n on: {\n ...getListeners(this),\n typeChange: this.setType,\n valueChange: this.setValue,\n },\n key: 'calendar-header',\n };\n header = <TheHeader {...headerProps} />;\n }\n }\n\n const table =\n 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\" class={`${prefixCls}-calendar-body`}>\n {table}\n </div>,\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 class: className.join(' '),\n });\n },\n};\n\nexport default FullCalendar;\n","import moment from 'moment';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\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';\nimport enUs from './locale/en_US';\nconst MonthCalendar = {\n name: 'MonthCalendar',\n props: {\n locale: PropTypes.object.def(enUs),\n format: PropTypes.string,\n visible: PropTypes.bool.def(true),\n prefixCls: PropTypes.string.def('rc-calendar'),\n monthCellRender: PropTypes.func,\n value: PropTypes.object,\n defaultValue: PropTypes.object,\n selectedValue: PropTypes.object,\n defaultSelectedValue: PropTypes.object,\n disabledDate: PropTypes.func,\n monthCellContentRender: PropTypes.func,\n renderFooter: PropTypes.func.def(() => null),\n renderSidebar: PropTypes.func.def(() => null),\n },\n mixins: [BaseMixin, CommonMixin, CalendarMixin],\n\n data() {\n const props = this.$props;\n return {\n mode: 'month',\n sValue: props.value || props.defaultValue || moment(),\n sSelectedValue: props.selectedValue || props.defaultSelectedValue,\n };\n },\n methods: {\n onKeyDown(event) {\n const keyCode = event.keyCode;\n const ctrlKey = event.ctrlKey || event.metaKey;\n const stateValue = this.sValue;\n const { disabledDate } = this;\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\n render() {\n const { mode, sValue: value, $props: props, $scopedSlots } = this;\n const { prefixCls, locale, disabledDate } = props;\n const monthCellRender = this.monthCellRender || $scopedSlots.monthCellRender;\n const monthCellContentRender =\n this.monthCellContentRender || $scopedSlots.monthCellContentRender;\n const renderFooter = this.renderFooter || $scopedSlots.renderFooter;\n const children = (\n <div class={`${prefixCls}-month-calendar-content`}>\n <div class={`${prefixCls}-month-header-wrap`}>\n <CalendarHeader\n prefixCls={prefixCls}\n mode={mode}\n value={value}\n locale={locale}\n disabledMonth={disabledDate}\n monthCellRender={monthCellRender}\n monthCellContentRender={monthCellContentRender}\n onMonthSelect={this.onSelect}\n onValueChange={this.setValue}\n onPanelChange={this.handlePanelChange}\n />\n </div>\n <CalendarFooter prefixCls={prefixCls} renderFooter={renderFooter} />\n </div>\n );\n return this.renderRoot({\n class: `${props.prefixCls}-month-calendar`,\n children,\n });\n },\n};\n\nexport default MonthCalendar;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, hasProp, getEvents, getStyle } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport createChainedFunction from '../../_util/createChainedFunction';\nimport KeyCode from '../../_util/KeyCode';\nimport placements from './picker/placements';\nimport Trigger from '../../vc-trigger';\nimport moment from 'moment';\nimport isNil from 'lodash/isNil';\nconst TimeType = {\n validator(value) {\n if (Array.isArray(value)) {\n return (\n value.length === 0 || value.findIndex(val => !isNil(val) && !moment.isMoment(val)) === -1\n );\n } else {\n return isNil(value) || moment.isMoment(value);\n }\n },\n};\nconst Picker = {\n name: 'Picker',\n props: {\n animation: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n disabled: PropTypes.bool,\n transitionName: PropTypes.string,\n format: PropTypes.oneOfType([PropTypes.string, PropTypes.array, PropTypes.func]),\n // onChange: PropTypes.func,\n // onOpenChange: PropTypes.func,\n children: PropTypes.func,\n getCalendarContainer: PropTypes.func,\n calendar: PropTypes.any,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool.def(false),\n prefixCls: PropTypes.string.def('rc-calendar-picker'),\n placement: PropTypes.any.def('bottomLeft'),\n value: TimeType,\n defaultValue: TimeType,\n align: PropTypes.object.def(() => ({})),\n dropdownClassName: PropTypes.string,\n dateRender: PropTypes.func,\n },\n mixins: [BaseMixin],\n\n data() {\n const props = this.$props;\n let open;\n if (hasProp(this, 'open')) {\n open = props.open;\n } else {\n open = props.defaultOpen;\n }\n const value = props.value || props.defaultValue;\n return {\n sOpen: open,\n sValue: value,\n };\n },\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n open(val) {\n this.setState({\n sOpen: val,\n });\n },\n },\n mounted() {\n this.preSOpen = this.sOpen;\n },\n updated() {\n if (!this.preSOpen && this.sOpen) {\n // setTimeout is for making sure saveCalendarRef happen before focusCalendar\n this.focusTimeout = setTimeout(this.focusCalendar, 0);\n }\n this.preSOpen = this.sOpen;\n },\n\n beforeDestroy() {\n clearTimeout(this.focusTimeout);\n },\n methods: {\n onCalendarKeyDown(event) {\n if (event.keyCode === KeyCode.ESC) {\n event.stopPropagation();\n this.closeCalendar(this.focus);\n }\n },\n\n onCalendarSelect(value, cause = {}) {\n const props = this.$props;\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n const calendarProps = getOptionProps(props.calendar);\n if (\n cause.source === 'keyboard' ||\n cause.source === 'dateInputSelect' ||\n (!calendarProps.timePicker && cause.source !== 'dateInput') ||\n cause.source === 'todayButton'\n ) {\n this.closeCalendar(this.focus);\n }\n this.__emit('change', value);\n },\n\n onKeyDown(event) {\n if (!this.sOpen && (event.keyCode === KeyCode.DOWN || event.keyCode === KeyCode.ENTER)) {\n this.openCalendar();\n event.preventDefault();\n }\n },\n\n onCalendarOk() {\n this.closeCalendar(this.focus);\n },\n\n onCalendarClear() {\n this.closeCalendar(this.focus);\n },\n\n onCalendarBlur() {\n this.setOpen(false);\n },\n\n onVisibleChange(open) {\n this.setOpen(open);\n },\n\n getCalendarElement() {\n const props = this.$props;\n const calendarProps = getOptionProps(props.calendar);\n const calendarEvents = getEvents(props.calendar);\n const { sValue: value } = this;\n const defaultValue = value;\n const extraProps = {\n ref: 'calendarInstance',\n props: {\n defaultValue: defaultValue || calendarProps.defaultValue,\n selectedValue: value,\n },\n on: {\n keydown: this.onCalendarKeyDown,\n ok: createChainedFunction(calendarEvents.ok, this.onCalendarOk),\n select: createChainedFunction(calendarEvents.select, this.onCalendarSelect),\n clear: createChainedFunction(calendarEvents.clear, this.onCalendarClear),\n blur: createChainedFunction(calendarEvents.blur, this.onCalendarBlur),\n },\n };\n\n return cloneElement(props.calendar, extraProps);\n },\n\n setOpen(open, callback) {\n if (this.sOpen !== open) {\n if (!hasProp(this, 'open')) {\n this.setState(\n {\n sOpen: open,\n },\n callback,\n );\n }\n this.__emit('openChange', open);\n }\n },\n\n openCalendar(callback) {\n this.setOpen(true, callback);\n },\n\n closeCalendar(callback) {\n this.setOpen(false, callback);\n },\n\n focus() {\n if (!this.sOpen) {\n this.$el.focus();\n }\n },\n\n focusCalendar() {\n if (this.sOpen && this.calendarInstance && this.calendarInstance.componentInstance) {\n this.calendarInstance.componentInstance.focus();\n }\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const style = getStyle(this);\n const {\n prefixCls,\n placement,\n getCalendarContainer,\n align,\n animation,\n disabled,\n dropdownClassName,\n transitionName,\n } = props;\n const { sValue, sOpen } = this;\n const children = this.$scopedSlots.default;\n const childrenState = {\n value: sValue,\n open: sOpen,\n };\n if (this.sOpen || !this.calendarInstance) {\n this.calendarInstance = this.getCalendarElement();\n }\n\n return (\n <Trigger\n popupAlign={align}\n builtinPlacements={placements}\n popupPlacement={placement}\n action={disabled && !sOpen ? [] : ['click']}\n destroyPopupOnHide\n getPopupContainer={getCalendarContainer}\n popupStyle={style}\n popupAnimation={animation}\n popupTransitionName={transitionName}\n popupVisible={sOpen}\n onPopupVisibleChange={this.onVisibleChange}\n prefixCls={prefixCls}\n popupClassName={dropdownClassName}\n >\n <template slot=\"popup\">{this.calendarInstance}</template>\n {cloneElement(children(childrenState, props), { on: { keydown: this.onKeyDown } })}\n </Trigger>\n );\n },\n};\n\nexport default Picker;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport {\n getOptionProps,\n hasProp,\n mergeProps,\n getComponentFromProp,\n getListeners,\n} from '../../_util/props-util';\nimport moment from 'moment';\nimport KeyCode from '../../_util/KeyCode';\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 enUs from './locale/en_US';\nimport { syncTime, getTodayTime, isAllowedDate } from './util/';\nimport { goTime, goStartMonth, goEndMonth, includesTime } from './util/toTime';\n\nfunction noop() {}\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 let [start, end] = selectedValue;\n if (end && (start === undefined || start === null)) {\n start = end.clone().subtract(1, 'month');\n }\n\n if (start && (end === undefined || end === null)) {\n end = start.clone().add(1, 'month');\n }\n return [start, end];\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\n : 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, cause) {\n if (!value) {\n return;\n }\n const originalValue = this.sSelectedValue;\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.sShowTimePicker ? selectedValue[index] : undefined;\n }\n this.__emit('inputSelect', selectedValue);\n this.fireSelectValueChange(selectedValue, null, cause || { source: 'dateInput' });\n}\n\nconst RangeCalendar = {\n props: {\n locale: PropTypes.object.def(enUs),\n visible: PropTypes.bool.def(true),\n prefixCls: PropTypes.string.def('rc-calendar'),\n dateInputPlaceholder: PropTypes.any,\n seperator: PropTypes.string.def('~'),\n defaultValue: PropTypes.any,\n value: PropTypes.any,\n hoverValue: PropTypes.any,\n mode: PropTypes.arrayOf(PropTypes.oneOf(['time', 'date', 'month', 'year', 'decade'])),\n showDateInput: PropTypes.bool.def(true),\n timePicker: PropTypes.any,\n showOk: PropTypes.bool,\n showToday: PropTypes.bool.def(true),\n defaultSelectedValue: PropTypes.array.def([]),\n selectedValue: PropTypes.array,\n showClear: PropTypes.bool,\n showWeekNumber: 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([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.func,\n ]),\n // onClear: PropTypes.func,\n type: PropTypes.any.def('both'),\n disabledDate: PropTypes.func,\n disabledTime: PropTypes.func.def(noop),\n renderFooter: PropTypes.func.def(() => null),\n renderSidebar: PropTypes.func.def(() => null),\n dateRender: PropTypes.func,\n clearIcon: PropTypes.any,\n inputReadOnly: PropTypes.bool,\n },\n\n mixins: [BaseMixin, CommonMixin],\n\n data() {\n const props = this.$props;\n const selectedValue = props.selectedValue || props.defaultSelectedValue;\n const value = normalizeAnchor(props, 1);\n return {\n sSelectedValue: selectedValue,\n prevSelectedValue: selectedValue,\n firstSelectedValue: null,\n sHoverValue: props.hoverValue || [],\n sValue: value,\n sShowTimePicker: false,\n sMode: props.mode || ['date', 'date'],\n sPanelTriggerSource: '', // Trigger by which picker panel: 'start' & 'end'\n };\n },\n watch: {\n value() {\n const newState = {};\n newState.sValue = normalizeAnchor(this.$props, 0);\n this.setState(newState);\n },\n hoverValue(val) {\n if (!isArraysEqual(this.sHoverValue, val)) {\n this.setState({ sHoverValue: val });\n }\n },\n selectedValue(val) {\n const newState = {};\n newState.sSelectedValue = val;\n newState.prevSelectedValue = val;\n this.setState(newState);\n },\n mode(val) {\n if (!isArraysEqual(this.sMode, val)) {\n this.setState({ sMode: val });\n }\n },\n },\n\n methods: {\n onDatePanelEnter() {\n if (this.hasSelectedValue()) {\n this.fireHoverValueChange(this.sSelectedValue.concat());\n }\n },\n\n onDatePanelLeave() {\n if (this.hasSelectedValue()) {\n this.fireHoverValueChange([]);\n }\n },\n\n onSelect(value) {\n const { type, sSelectedValue, prevSelectedValue, firstSelectedValue } = this;\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 = sSelectedValue[1];\n nextSelectedValue =\n endValue && this.compare(endValue, value) > 0 ? [value, endValue] : [value];\n } else {\n // type === 'end'\n const startValue = sSelectedValue[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 onKeyDown(event) {\n if (event.target.nodeName.toLowerCase() === 'input') {\n return;\n }\n\n const { keyCode } = event;\n const ctrlKey = event.ctrlKey || event.metaKey;\n\n const {\n sSelectedValue: selectedValue,\n sHoverValue: hoverValue,\n firstSelectedValue,\n sValue: value, // Value is used for `CalendarPart` current page\n } = this.$data;\n const { disabledDate } = this.$props;\n\n // Update last time of the picker\n const updateHoverPoint = func => {\n // Change hover to make focus in UI\n let currentHoverTime;\n let nextHoverTime;\n let nextHoverValue;\n\n if (!firstSelectedValue) {\n currentHoverTime = hoverValue[0] || selectedValue[0] || value[0] || moment();\n nextHoverTime = func(currentHoverTime);\n nextHoverValue = [nextHoverTime];\n this.fireHoverValueChange(nextHoverValue);\n } else {\n if (hoverValue.length === 1) {\n currentHoverTime = hoverValue[0].clone();\n nextHoverTime = func(currentHoverTime);\n nextHoverValue = this.onDayHover(nextHoverTime);\n } else {\n currentHoverTime = hoverValue[0].isSame(firstSelectedValue, 'day')\n ? hoverValue[1]\n : hoverValue[0];\n nextHoverTime = func(currentHoverTime);\n nextHoverValue = this.onDayHover(nextHoverTime);\n }\n }\n\n // Find origin hover time on value index\n if (nextHoverValue.length >= 2) {\n const miss = nextHoverValue.some(ht => !includesTime(value, ht, 'month'));\n if (miss) {\n const newValue = nextHoverValue.slice().sort((t1, t2) => t1.valueOf() - t2.valueOf());\n if (newValue[0].isSame(newValue[1], 'month')) {\n newValue[1] = newValue[0].clone().add(1, 'month');\n }\n this.fireValueChange(newValue);\n }\n } else if (nextHoverValue.length === 1) {\n // If only one value, let's keep the origin panel\n let oriValueIndex = value.findIndex(time => time.isSame(currentHoverTime, 'month'));\n if (oriValueIndex === -1) oriValueIndex = 0;\n\n if (value.every(time => !time.isSame(nextHoverTime, 'month'))) {\n const newValue = value.slice();\n newValue[oriValueIndex] = nextHoverTime.clone();\n this.fireValueChange(newValue);\n }\n }\n\n event.preventDefault();\n\n return nextHoverTime;\n };\n\n switch (keyCode) {\n case KeyCode.DOWN:\n updateHoverPoint(time => goTime(time, 1, 'weeks'));\n return;\n case KeyCode.UP:\n updateHoverPoint(time => goTime(time, -1, 'weeks'));\n return;\n case KeyCode.LEFT:\n if (ctrlKey) {\n updateHoverPoint(time => goTime(time, -1, 'years'));\n } else {\n updateHoverPoint(time => goTime(time, -1, 'days'));\n }\n return;\n case KeyCode.RIGHT:\n if (ctrlKey) {\n updateHoverPoint(time => goTime(time, 1, 'years'));\n } else {\n updateHoverPoint(time => goTime(time, 1, 'days'));\n }\n return;\n case KeyCode.HOME:\n updateHoverPoint(time => goStartMonth(time));\n return;\n case KeyCode.END:\n updateHoverPoint(time => goEndMonth(time));\n return;\n case KeyCode.PAGE_DOWN:\n updateHoverPoint(time => goTime(time, 1, 'month'));\n return;\n case KeyCode.PAGE_UP:\n updateHoverPoint(time => goTime(time, -1, 'month'));\n return;\n case KeyCode.ENTER: {\n let lastValue;\n if (hoverValue.length === 0) {\n lastValue = updateHoverPoint(time => time);\n } else if (hoverValue.length === 1) {\n lastValue = hoverValue[0];\n } else {\n lastValue = hoverValue[0].isSame(firstSelectedValue, 'day')\n ? hoverValue[1]\n : hoverValue[0];\n }\n if (lastValue && (!disabledDate || !disabledDate(lastValue))) {\n this.onSelect(lastValue);\n }\n event.preventDefault();\n return;\n }\n default:\n this.__emit('keydown', event);\n }\n },\n\n onDayHover(value) {\n let hoverValue = [];\n const { sSelectedValue, firstSelectedValue, type } = this;\n if (type === 'start' && sSelectedValue[1]) {\n hoverValue =\n this.compare(value, sSelectedValue[1]) < 0 ? [value, sSelectedValue[1]] : [value];\n } else if (type === 'end' && sSelectedValue[0]) {\n hoverValue = this.compare(value, sSelectedValue[0]) > 0 ? [sSelectedValue[0], value] : [];\n } else {\n if (!firstSelectedValue) {\n if (this.sHoverValue.length) {\n this.setState({ sHoverValue: [] });\n }\n return hoverValue;\n }\n hoverValue =\n this.compare(value, firstSelectedValue) < 0\n ? [value, firstSelectedValue]\n : [firstSelectedValue, value];\n }\n this.fireHoverValueChange(hoverValue);\n return hoverValue;\n },\n\n onToday() {\n const startValue = getTodayTime(this.sValue[0]);\n const endValue = startValue.clone().add(1, 'months');\n this.setState({ sValue: [startValue, endValue] });\n },\n\n onOpenTimePicker() {\n this.setState({\n sShowTimePicker: true,\n });\n },\n onCloseTimePicker() {\n this.setState({\n sShowTimePicker: false,\n });\n },\n\n onOk() {\n const { sSelectedValue } = this;\n if (this.isAllowedDateAndTime(sSelectedValue)) {\n this.__emit('ok', sSelectedValue);\n }\n },\n\n onStartInputChange(...oargs) {\n const args = ['left'].concat(oargs);\n return onInputSelect.apply(this, args);\n },\n\n onEndInputChange(...oargs) {\n const args = ['right'].concat(oargs);\n return onInputSelect.apply(this, args);\n },\n\n onStartInputSelect(value) {\n const args = ['left', value, { source: 'dateInputSelect' }];\n return onInputSelect.apply(this, args);\n },\n\n onEndInputSelect(value) {\n const args = ['right', value, { source: 'dateInputSelect' }];\n return onInputSelect.apply(this, args);\n },\n\n onStartValueChange(leftValue) {\n const value = [...this.sValue];\n value[0] = leftValue;\n return this.fireValueChange(value);\n },\n\n onEndValueChange(rightValue) {\n const value = [...this.sValue];\n value[1] = rightValue;\n return this.fireValueChange(value);\n },\n\n onStartPanelChange(value, mode) {\n const { sMode, sValue } = this;\n const newMode = [mode, sMode[1]];\n const newValue = [value || sValue[0], sValue[1]];\n this.__emit('panelChange', newValue, newMode);\n const newState = {\n sPanelTriggerSource: 'start',\n };\n if (!hasProp(this, 'mode')) {\n newState.sMode = newMode;\n }\n this.setState(newState);\n },\n\n onEndPanelChange(value, mode) {\n const { sMode, sValue } = this;\n const newMode = [sMode[0], mode];\n const newValue = [sValue[0], value || sValue[1]];\n this.__emit('panelChange', newValue, newMode);\n const newState = {\n sPanelTriggerSource: 'end',\n };\n if (!hasProp(this, 'mode')) {\n newState.sMode = newMode;\n }\n this.setState(newState);\n },\n\n getStartValue() {\n const {\n sSelectedValue: selectedValue,\n sShowTimePicker: showTimePicker,\n sValue: value,\n sMode: mode,\n sPanelTriggerSource: panelTriggerSource,\n } = this.$data;\n let startValue = value[0];\n // keep selectedTime when select date\n if (selectedValue[0] && this.$props.timePicker) {\n startValue = startValue.clone();\n syncTime(selectedValue[0], startValue);\n }\n if (showTimePicker && selectedValue[0]) {\n startValue = selectedValue[0];\n }\n\n // Adjust month if date not align\n if (\n panelTriggerSource === 'end' &&\n mode[0] === 'date' &&\n mode[1] === 'date' &&\n startValue.isSame(value[1], 'month')\n ) {\n startValue = startValue.clone().subtract(1, 'month');\n }\n\n return startValue;\n },\n\n getEndValue() {\n const {\n sSelectedValue: selectedValue,\n sShowTimePicker: showTimePicker,\n sValue: value,\n sMode: mode,\n sPanelTriggerSource: panelTriggerSource,\n } = this.$data;\n let 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 endValue = selectedValue[1] ? selectedValue[1] : this.getStartValue();\n }\n\n // Adjust month if date not align\n if (\n !showTimePicker &&\n panelTriggerSource !== 'end' &&\n mode[0] === 'date' &&\n mode[1] === 'date' &&\n endValue.isSame(value[0], 'month')\n ) {\n endValue = endValue.clone().add(1, 'month');\n }\n\n return endValue;\n },\n // get disabled hours for second picker\n getEndDisableTime() {\n const { sSelectedValue, sValue, disabledTime } = this;\n const userSettingDisabledTime = disabledTime(sSelectedValue, 'end') || {};\n const startValue = (sSelectedValue && sSelectedValue[0]) || sValue[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 (!sSelectedValue[1] || startValue.isSame(sSelectedValue[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 (\n isAllowedDate(selectedValue[0], this.disabledDate, this.disabledStartTime) &&\n isAllowedDate(selectedValue[1], this.disabledDate, this.disabledEndTime)\n );\n },\n\n isMonthYearPanelShow(mode) {\n return ['month', 'year', 'decade'].indexOf(mode) > -1;\n },\n\n hasSelectedValue() {\n const { sSelectedValue } = this;\n return !!sSelectedValue[1] && !!sSelectedValue[0];\n },\n\n compare(v1, v2) {\n if (this.timePicker) {\n return v1.diff(v2);\n }\n return v1.diff(v2, 'days');\n },\n\n fireSelectValueChange(selectedValue, direct, cause) {\n const { timePicker, prevSelectedValue } = this;\n if (timePicker) {\n const timePickerProps = getOptionProps(timePicker);\n if (timePickerProps.defaultValue) {\n const timePickerDefaultValue = timePickerProps.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 // 尚未选择过时间,直接输入的话\n if (!this.sSelectedValue[0] || !this.sSelectedValue[1]) {\n const startValue = selectedValue[0] || moment();\n const endValue = selectedValue[1] || startValue.clone().add(1, 'months');\n this.setState({\n sSelectedValue: selectedValue,\n sValue:\n selectedValue && selectedValue.length === 2\n ? getValueFromSelectedValue([startValue, endValue])\n : this.sValue,\n });\n }\n\n if (selectedValue[0] && !selectedValue[1]) {\n this.setState({ firstSelectedValue: selectedValue[0] });\n this.fireHoverValueChange(selectedValue.concat());\n }\n this.__emit('change', selectedValue);\n if (direct || (selectedValue[0] && selectedValue[1])) {\n this.setState({\n prevSelectedValue: selectedValue,\n firstSelectedValue: null,\n });\n this.fireHoverValueChange([]);\n this.__emit('select', selectedValue, cause);\n }\n if (!hasProp(this, 'selectedValue')) {\n this.setState({\n sSelectedValue: selectedValue,\n });\n }\n },\n\n fireValueChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n this.__emit('valueChange', value);\n },\n\n fireHoverValueChange(hoverValue) {\n if (!hasProp(this, 'hoverValue')) {\n this.setState({ sHoverValue: hoverValue });\n }\n this.__emit('hoverChange', hoverValue);\n },\n\n clear() {\n this.fireSelectValueChange([], true);\n this.__emit('clear');\n },\n\n disabledStartTime(time) {\n return this.disabledTime(time, 'start');\n },\n\n disabledEndTime(time) {\n return this.disabledTime(time, 'end');\n },\n\n disabledStartMonth(month) {\n const { sValue } = this;\n return month.isAfter(sValue[1], 'month');\n },\n\n disabledEndMonth(month) {\n const { sValue } = this;\n return month.isBefore(sValue[0], 'month');\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const {\n prefixCls,\n dateInputPlaceholder,\n timePicker,\n showOk,\n locale,\n showClear,\n showToday,\n type,\n seperator,\n } = props;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const { sHoverValue, sSelectedValue, sMode: mode, sShowTimePicker, sValue } = this;\n const className = {\n [prefixCls]: 1,\n [`${prefixCls}-hidden`]: !props.visible,\n [`${prefixCls}-range`]: 1,\n [`${prefixCls}-show-time-picker`]: sShowTimePicker,\n [`${prefixCls}-week-number`]: props.showWeekNumber,\n };\n const baseProps = {\n props,\n on: getListeners(this),\n };\n const newProps = {\n props: {\n selectedValue: sSelectedValue,\n },\n on: {\n select: this.onSelect,\n dayHover:\n (type === 'start' && sSelectedValue[1]) ||\n (type === 'end' && sSelectedValue[0]) ||\n !!sHoverValue.length\n ? this.onDayHover\n : noop,\n },\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 = {\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 =\n nextMonthOfStart.year() === endValue.year() && nextMonthOfStart.month() === endValue.month();\n const leftPartProps = mergeProps(baseProps, newProps, {\n props: {\n hoverValue: sHoverValue,\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 showDateInput: this.showDateInput,\n timePicker,\n showTimePicker: sShowTimePicker || mode[0] === 'time',\n enablePrev: true,\n enableNext: !isClosestMonths || this.isMonthYearPanelShow(mode[1]),\n clearIcon,\n },\n on: {\n inputChange: this.onStartInputChange,\n inputSelect: this.onStartInputSelect,\n valueChange: this.onStartValueChange,\n panelChange: this.onStartPanelChange,\n },\n });\n const rightPartProps = mergeProps(baseProps, newProps, {\n props: {\n hoverValue: sHoverValue,\n direction: 'right',\n format: this.getFormat(),\n timePickerDisabledTime: this.getEndDisableTime(),\n placeholder: placeholder2,\n value: endValue,\n mode: mode[1],\n showDateInput: this.showDateInput,\n timePicker,\n showTimePicker: sShowTimePicker || mode[1] === 'time',\n disabledTime: this.disabledEndTime,\n disabledMonth: this.disabledEndMonth,\n enablePrev: !isClosestMonths || this.isMonthYearPanelShow(mode[0]),\n enableNext: true,\n clearIcon,\n },\n on: {\n inputChange: this.onEndInputChange,\n inputSelect: this.onEndInputSelect,\n valueChange: this.onEndValueChange,\n panelChange: this.onEndPanelChange,\n },\n });\n let TodayButtonNode = null;\n if (showToday) {\n const todayButtonProps = mergeProps(baseProps, {\n props: {\n disabled: isTodayInView,\n value: sValue[0],\n text: locale.backToToday,\n },\n on: {\n today: this.onToday,\n },\n });\n TodayButtonNode = <TodayButton key=\"todayButton\" {...todayButtonProps} />;\n }\n\n let TimePickerButtonNode = null;\n if (props.timePicker) {\n const timePickerButtonProps = mergeProps(baseProps, {\n props: {\n showTimePicker: sShowTimePicker || (mode[0] === 'time' && mode[1] === 'time'),\n timePickerDisabled: !this.hasSelectedValue() || sHoverValue.length,\n },\n on: {\n openTimePicker: this.onOpenTimePicker,\n closeTimePicker: this.onCloseTimePicker,\n },\n });\n TimePickerButtonNode = <TimePickerButton key=\"timePickerButton\" {...timePickerButtonProps} />;\n }\n\n let OkButtonNode = null;\n if (showOkButton) {\n const okButtonProps = mergeProps(baseProps, {\n props: {\n okDisabled:\n !this.isAllowedDateAndTime(sSelectedValue) ||\n !this.hasSelectedValue() ||\n sHoverValue.length,\n },\n on: {\n ok: this.onOk,\n },\n });\n OkButtonNode = <OkButton key=\"okButtonNode\" {...okButtonProps} />;\n }\n const extraFooter = this.renderFooter(mode);\n return (\n <div ref=\"rootInstance\" class={className} tabIndex=\"0\" onKeydown={this.onKeyDown}>\n {props.renderSidebar()}\n <div class={`${prefixCls}-panel`}>\n {showClear && sSelectedValue[0] && sSelectedValue[1] ? (\n <a role=\"button\" title={locale.clear} onClick={this.clear}>\n {clearIcon || <span class={`${prefixCls}-clear-btn`} />}\n </a>\n ) : null}\n <div\n class={`${prefixCls}-date-panel`}\n onMouseleave={type !== 'both' ? this.onDatePanelLeave : noop}\n onMouseenter={type !== 'both' ? this.onDatePanelEnter : noop}\n >\n <CalendarPart {...leftPartProps} />\n <span class={`${prefixCls}-range-middle`}>{seperator}</span>\n <CalendarPart {...rightPartProps} />\n </div>\n <div class={cls}>\n {showToday || props.timePicker || showOkButton || extraFooter ? (\n <div class={`${prefixCls}-footer-btn`}>\n {extraFooter}\n {TodayButtonNode}\n {TimePickerButtonNode}\n {OkButtonNode}\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n },\n};\n\nexport default RangeCalendar;\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getOptionProps, getListeners } from '../../../_util/props-util';\nimport TodayButton from './TodayButton';\nimport OkButton from './OkButton';\nimport TimePickerButton from './TimePickerButton';\n\nconst CalendarFooter = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n showDateInput: PropTypes.bool,\n disabledTime: PropTypes.any,\n timePicker: PropTypes.any,\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 locale: PropTypes.object,\n showToday: PropTypes.bool,\n disabledDate: PropTypes.func,\n showTimePicker: PropTypes.bool,\n okDisabled: PropTypes.bool,\n mode: PropTypes.string,\n },\n methods: {\n onSelect(value) {\n this.__emit('select', value);\n },\n\n getRootDOMNode() {\n return this.$el;\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const { value, prefixCls, showOk, timePicker, renderFooter, showToday, mode } = props;\n let footerEl = null;\n const extraFooter = renderFooter && renderFooter(mode);\n if (showToday || timePicker || extraFooter) {\n const btnProps = {\n props: {\n ...props,\n value,\n },\n on: getListeners(this),\n };\n let nowEl = null;\n if (showToday) {\n nowEl = <TodayButton key=\"todayButton\" {...btnProps} />;\n }\n delete btnProps.props.value;\n let okBtn = null;\n if (showOk === true || (showOk !== false && !!timePicker)) {\n okBtn = <OkButton key=\"okButton\" {...btnProps} />;\n }\n let timePickerBtn = null;\n if (timePicker) {\n timePickerBtn = <TimePickerButton key=\"timePickerButton\" {...btnProps} />;\n }\n\n let footerBtn;\n if (nowEl || timePickerBtn || okBtn || extraFooter) {\n footerBtn = (\n <span class={`${prefixCls}-footer-btn`}>\n {extraFooter}\n {nowEl}\n {timePickerBtn}\n {okBtn}\n </span>\n );\n }\n const cls = {\n [`${prefixCls}-footer`]: true,\n [`${prefixCls}-footer-show-ok`]: !!okBtn,\n };\n footerEl = <div class={cls}>{footerBtn}</div>;\n }\n return footerEl;\n },\n};\n\nexport default CalendarFooter;\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getOptionProps, getListeners } from '../../../_util/props-util';\nimport MonthPanel from '../month/MonthPanel';\nimport YearPanel from '../year/YearPanel';\nimport DecadePanel from '../decade/DecadePanel';\nfunction noop() {}\nfunction goMonth(direction) {\n const next = this.value.clone();\n next.add(direction, 'months');\n this.__emit('valueChange', next);\n}\n\nfunction goYear(direction) {\n const next = this.value.clone();\n next.add(direction, 'years');\n this.__emit('valueChange', next);\n}\n\nfunction showIf(condition, el) {\n return condition ? el : null;\n}\n\nconst CalendarHeader = {\n name: 'CalendarHeader',\n mixins: [BaseMixin],\n props: {\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.def(1),\n enableNext: PropTypes.any.def(1),\n disabledMonth: PropTypes.func,\n mode: PropTypes.any,\n monthCellRender: PropTypes.func,\n monthCellContentRender: PropTypes.func,\n renderFooter: PropTypes.func,\n },\n data() {\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 {\n yearPanelReferer: null,\n };\n },\n methods: {\n onMonthSelect(value) {\n this.__emit('panelChange', value, 'date');\n if (getListeners(this).monthSelect) {\n this.__emit('monthSelect', value);\n } else {\n this.__emit('valueChange', value);\n }\n },\n\n onYearSelect(value) {\n const referer = this.yearPanelReferer;\n this.setState({ yearPanelReferer: null });\n this.__emit('panelChange', value, referer);\n this.__emit('valueChange', value);\n },\n\n onDecadeSelect(value) {\n this.__emit('panelChange', value, 'year');\n this.__emit('valueChange', value);\n },\n\n changeYear(direction) {\n if (direction > 0) {\n this.nextYear();\n } else {\n this.previousYear();\n }\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 timeClassName = showTimePicker ? ` ${prefixCls}-time-status` : '';\n const year = (\n <a\n class={`${prefixCls}-year-select${timeClassName}`}\n role=\"button\"\n onClick={showTimePicker ? noop : () => this.showYearPanel('date')}\n title={showTimePicker ? null : locale.yearSelect}\n >\n {value.format(locale.yearFormat)}\n </a>\n );\n const month = (\n <a\n class={`${prefixCls}-month-select${timeClassName}`}\n role=\"button\"\n onClick={showTimePicker ? noop : this.showMonthPanel}\n title={showTimePicker ? null : locale.monthSelect}\n >\n {locale.monthFormat ? value.format(locale.monthFormat) : localeData.monthsShort(value)}\n </a>\n );\n let day;\n if (showTimePicker) {\n day = (\n <a class={`${prefixCls}-day-select${timeClassName}`} role=\"button\">\n {value.format(locale.dayFormat)}\n </a>\n );\n }\n let my = [];\n if (monthBeforeYear) {\n my = [month, day, year];\n } else {\n my = [year, month, day];\n }\n return <span class={selectClassName}>{my}</span>;\n },\n\n showMonthPanel() {\n // null means that users' interaction doesn't change value\n this.__emit('panelChange', null, 'month');\n },\n\n showYearPanel(referer) {\n this.setState({ yearPanelReferer: referer });\n this.__emit('panelChange', null, 'year');\n },\n\n showDecadePanel() {\n this.__emit('panelChange', null, 'decade');\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const {\n prefixCls,\n locale,\n mode,\n value,\n showTimePicker,\n enableNext,\n enablePrev,\n disabledMonth,\n renderFooter,\n } = props;\n\n let panel = null;\n if (mode === 'month') {\n panel = (\n <MonthPanel\n locale={locale}\n value={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 renderFooter={renderFooter}\n changeYear={this.changeYear}\n />\n );\n }\n if (mode === 'year') {\n panel = (\n <YearPanel\n locale={locale}\n value={value}\n rootPrefixCls={prefixCls}\n onSelect={this.onYearSelect}\n onDecadePanelShow={this.showDecadePanel}\n renderFooter={renderFooter}\n />\n );\n }\n if (mode === 'decade') {\n panel = (\n <DecadePanel\n locale={locale}\n value={value}\n rootPrefixCls={prefixCls}\n onSelect={this.onDecadeSelect}\n renderFooter={renderFooter}\n />\n );\n }\n\n return (\n <div class={`${prefixCls}-header`}>\n <div style={{ position: 'relative' }}>\n {showIf(\n enablePrev && !showTimePicker,\n <a\n class={`${prefixCls}-prev-year-btn`}\n role=\"button\"\n onClick={this.previousYear}\n title={locale.previousYear}\n />,\n )}\n {showIf(\n enablePrev && !showTimePicker,\n <a\n class={`${prefixCls}-prev-month-btn`}\n role=\"button\"\n onClick={this.previousMonth}\n title={locale.previousMonth}\n />,\n )}\n {this.monthYearElement(showTimePicker)}\n {showIf(\n enableNext && !showTimePicker,\n <a\n class={`${prefixCls}-next-month-btn`}\n onClick={this.nextMonth}\n title={locale.nextMonth}\n />,\n )}\n {showIf(\n enableNext && !showTimePicker,\n <a\n class={`${prefixCls}-next-year-btn`}\n onClick={this.nextYear}\n title={locale.nextYear}\n />,\n )}\n </div>\n {panel}\n </div>\n );\n },\n};\n\nexport default CalendarHeader;\n","function noop() {}\nexport default {\n functional: true,\n render(createElement, context) {\n const { props, listeners = {} } = context;\n const { prefixCls, locale, okDisabled } = props;\n const { ok = noop } = listeners;\n let className = `${prefixCls}-ok-btn`;\n if (okDisabled) {\n className += ` ${prefixCls}-ok-btn-disabled`;\n }\n return (\n <a class={className} role=\"button\" onClick={okDisabled ? noop : ok}>\n {locale.ok}\n </a>\n );\n },\n};\n","function noop() {}\nexport default {\n functional: true,\n render(h, context) {\n const { props, listeners = {} } = context;\n const { prefixCls, locale, showTimePicker, timePickerDisabled } = props;\n const { closeTimePicker = noop, openTimePicker = noop } = listeners;\n const className = {\n [`${prefixCls}-time-picker-btn`]: true,\n [`${prefixCls}-time-picker-btn-disabled`]: timePickerDisabled,\n };\n let onClick = noop;\n if (!timePickerDisabled) {\n onClick = showTimePicker ? closeTimePicker : openTimePicker;\n }\n return (\n <a class={className} role=\"button\" onClick={onClick}>\n {showTimePicker ? locale.dateSelect : locale.timeSelect}\n </a>\n );\n },\n};\n","import { getTodayTimeStr, getTodayTime, isAllowedDate } from '../util/';\nfunction noop() {}\nexport default {\n functional: true,\n render(createElement, context) {\n const { props, listeners = {} } = context;\n const {\n prefixCls,\n locale,\n value,\n timePicker,\n disabled,\n disabledDate,\n // onToday,\n text,\n } = props;\n const { today = noop } = listeners;\n const localeNow = (!text && timePicker ? locale.now : text) || locale.today;\n const disabledToday = disabledDate && !isAllowedDate(getTodayTime(value), disabledDate);\n const isDisabled = disabledToday || disabled;\n const disabledTodayClass = isDisabled ? `${prefixCls}-today-btn-disabled` : '';\n return (\n <a\n class={`${prefixCls}-today-btn ${disabledTodayClass}`}\n role=\"button\"\n onClick={isDisabled ? noop : today}\n title={getTodayTimeStr(value)}\n >\n {localeNow}\n </a>\n );\n },\n};\n","export default {\n DATE_ROW_COUNT: 6,\n DATE_COL_COUNT: 7,\n};\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getComponentFromProp } from '../../../_util/props-util';\nimport moment from 'moment';\nimport { formatDate } from '../util';\nimport KeyCode from '../../../_util/KeyCode';\n\nlet cachedSelectionStart;\nlet cachedSelectionEnd;\nlet dateInputInstance;\n\nconst DateInput = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n timePicker: PropTypes.object,\n value: PropTypes.object,\n disabledTime: PropTypes.any,\n format: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.func,\n ]),\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 clearIcon: PropTypes.any,\n inputMode: PropTypes.string,\n inputReadOnly: PropTypes.bool,\n },\n\n data() {\n const selectedValue = this.selectedValue;\n return {\n str: formatDate(selectedValue, this.format),\n invalid: false,\n hasFocus: false,\n };\n },\n watch: {\n selectedValue() {\n this.setState();\n },\n format() {\n this.setState();\n },\n },\n\n updated() {\n this.$nextTick(() => {\n if (\n dateInputInstance &&\n this.$data.hasFocus &&\n !this.invalid &&\n !(cachedSelectionStart === 0 && cachedSelectionEnd === 0)\n ) {\n dateInputInstance.setSelectionRange(cachedSelectionStart, cachedSelectionEnd);\n }\n });\n },\n getInstance() {\n return dateInputInstance;\n },\n methods: {\n getDerivedStateFromProps(nextProps, state) {\n let newState = {};\n if (dateInputInstance) {\n cachedSelectionStart = dateInputInstance.selectionStart;\n cachedSelectionEnd = dateInputInstance.selectionEnd;\n }\n // when popup show, click body will call this, bug!\n const selectedValue = nextProps.selectedValue;\n if (!state.hasFocus) {\n newState = {\n str: formatDate(selectedValue, this.format),\n invalid: false,\n };\n }\n return newState;\n },\n onClear() {\n this.setState({\n str: '',\n });\n this.__emit('clear', null);\n },\n onInputChange(e) {\n const { value: str, composing } = e.target;\n const { str: oldStr = '' } = this;\n if (e.isComposing || composing || oldStr === str) return;\n\n const { disabledDate, format, selectedValue } = this.$props;\n\n // 没有内容,合法并直接退出\n if (!str) {\n this.__emit('change', null);\n this.setState({\n invalid: false,\n str,\n });\n return;\n }\n\n // 不合法直接退出\n const parsed = moment(str, format, true);\n if (!parsed.isValid()) {\n this.setState({\n invalid: true,\n str,\n });\n return;\n }\n const value = this.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 this.setState({\n invalid: true,\n str,\n });\n return;\n }\n\n if (selectedValue !== value || (selectedValue && value && !selectedValue.isSame(value))) {\n this.setState({\n invalid: false,\n str,\n });\n this.__emit('change', value);\n }\n },\n onFocus() {\n this.setState({ hasFocus: true });\n },\n onBlur() {\n this.setState((prevState, prevProps) => ({\n hasFocus: false,\n str: formatDate(prevProps.value, prevProps.format),\n }));\n },\n onKeyDown(event) {\n const { keyCode } = event;\n const { value, disabledDate } = this.$props;\n if (keyCode === KeyCode.ENTER) {\n const validateDate = !disabledDate || !disabledDate(value);\n if (validateDate) {\n this.__emit('select', value.clone());\n }\n event.preventDefault();\n }\n },\n getRootDOMNode() {\n return this.$el;\n },\n focus() {\n if (dateInputInstance) {\n dateInputInstance.focus();\n }\n },\n saveDateInput(dateInput) {\n dateInputInstance = dateInput;\n },\n },\n\n render() {\n const {\n invalid,\n str,\n locale,\n prefixCls,\n placeholder,\n disabled,\n showClear,\n inputMode,\n inputReadOnly,\n } = this;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const invalidClass = invalid ? `${prefixCls}-input-invalid` : '';\n return (\n <div class={`${prefixCls}-input-wrap`}>\n <div class={`${prefixCls}-date-input-wrap`}>\n <input\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveDateInput,\n },\n {\n name: 'ant-input',\n },\n ],\n }}\n class={`${prefixCls}-input ${invalidClass}`}\n value={str}\n disabled={disabled}\n placeholder={placeholder}\n onInput={this.onInputChange}\n onKeydown={this.onKeyDown}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n inputMode={inputMode}\n readOnly={inputReadOnly}\n />\n </div>\n {showClear ? (\n <a role=\"button\" title={locale.clear} onClick={this.onClear}>\n {clearIcon || <span class={`${prefixCls}-clear-btn`} />}\n </a>\n ) : null}\n </div>\n );\n },\n};\n\nexport default DateInput;\n","import PropTypes from '../../../_util/vue-types';\nimport { getOptionProps, getListeners } from '../../../_util/props-util';\nimport cx from 'classnames';\nimport DateConstants from './DateConstants';\nimport { getTitleString, getTodayTime } from '../util/';\nfunction noop() {}\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() && 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() && current.month() > today.month();\n}\n\nfunction getIdFromDate(date) {\n return `rc-calendar-${date.year()}-${date.month()}-${date.date()}`;\n}\n\nconst DateTBody = {\n props: {\n contentRender: PropTypes.func,\n dateRender: PropTypes.func,\n disabledDate: PropTypes.func,\n prefixCls: PropTypes.string,\n selectedValue: PropTypes.oneOfType([PropTypes.any, PropTypes.arrayOf(PropTypes.any)]),\n value: PropTypes.object,\n hoverValue: PropTypes.any.def([]),\n showWeekNumber: PropTypes.bool,\n },\n\n render() {\n const props = getOptionProps(this);\n const {\n contentRender,\n prefixCls,\n selectedValue,\n value,\n showWeekNumber,\n dateRender,\n disabledDate,\n hoverValue,\n } = props;\n const { select = noop, dayHover = noop } = getListeners(this);\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 key={`week-${dateTable[passed].week()}`} role=\"gridcell\" class={weekNumberCellClass}>\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 (\n (startValue === null || startValue === undefined) &&\n current.isBefore(endValue, 'day')\n ) {\n cls += ` ${inRangeClass}`;\n } else if (\n (endValue === null || endValue === undefined) &&\n current.isAfter(startValue, 'day')\n ) {\n cls += ` ${inRangeClass}`;\n } else if (current.isAfter(startValue, 'day') && 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 if (isAfterCurrentMonthYear) {\n cls += ` ${nextMonthDayClass}`;\n }\n\n if (\n current\n .clone()\n .endOf('month')\n .date() === current.date()\n ) {\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 class={dateClass}\n aria-selected={selected}\n aria-disabled={disabled}\n >\n {content}\n </div>\n );\n }\n\n dateCells.push(\n <td\n key={passed}\n onClick={disabled ? noop : select.bind(null, current)}\n onMouseenter={disabled ? noop : dayHover.bind(null, current)}\n role=\"gridcell\"\n title={getTitleString(current)}\n class={cls}\n >\n {dateHtml}\n </td>,\n );\n\n passed++;\n }\n\n tableHtml.push(\n <tr\n key={iIndex}\n role=\"row\"\n class={cx({\n [`${prefixCls}-current-week`]: isCurrentWeek,\n [`${prefixCls}-active-week`]: isActiveWeek,\n })}\n >\n {weekNumberCell}\n {dateCells}\n </tr>,\n );\n }\n return <tbody class={`${prefixCls}-tbody`}>{tableHtml}</tbody>;\n },\n};\n\nexport default DateTBody;\n","import DateConstants from './DateConstants';\nimport moment from 'moment';\n\nexport default {\n functional: true,\n render(createElement, context) {\n const { props } = context;\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 class={`${prefixCls}-column-header ${prefixCls}-week-number-header`}\n >\n <span class={`${prefixCls}-column-header-inner`}>x</span>\n </th>\n );\n }\n const weekDaysEls = weekDays.map((day, xindex) => {\n return (\n <th key={xindex} role=\"columnheader\" title={day} class={`${prefixCls}-column-header`}>\n <span class={`${prefixCls}-column-header-inner`}>{veryShortWeekdays[xindex]}</span>\n </th>\n );\n });\n return (\n <thead>\n <tr role=\"row\">\n {showWeekNumberEl}\n {weekDaysEls}\n </tr>\n </thead>\n );\n },\n};\n","import DateTHead from './DateTHead';\nimport DateTBody from './DateTBody';\n\nexport default {\n functional: true,\n render(createElement, context) {\n const { props, listeners = {} } = context;\n const prefixCls = props.prefixCls;\n const bodyProps = {\n props,\n on: listeners,\n };\n return (\n <table class={`${prefixCls}-table`} cellSpacing=\"0\" role=\"grid\">\n <DateTHead {...bodyProps} />\n <DateTBody {...bodyProps} />\n </table>\n );\n },\n};\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nconst ROW = 4;\nconst COL = 3;\nfunction noop() {}\nfunction goYear(direction) {\n const next = this.sValue.clone();\n next.add(direction, 'years');\n this.setState({\n sValue: next,\n });\n}\n\nfunction chooseDecade(year, event) {\n const next = this.sValue.clone();\n next.year(year);\n next.month(this.sValue.month());\n this.__emit('select', next);\n event.preventDefault();\n}\n\nexport default {\n mixins: [BaseMixin],\n props: {\n locale: PropTypes.object,\n value: PropTypes.object,\n defaultValue: PropTypes.object,\n rootPrefixCls: PropTypes.string,\n renderFooter: PropTypes.func,\n },\n data() {\n this.nextCentury = goYear.bind(this, 100);\n this.previousCentury = goYear.bind(this, -100);\n return {\n sValue: this.value || this.defaultValue,\n };\n },\n watch: {\n value(val) {\n this.sValue = val;\n },\n },\n render() {\n const value = this.sValue;\n const { locale, renderFooter } = this.$props;\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.rootPrefixCls}-decade-panel`;\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 footer = renderFooter && renderFooter('decade');\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 = noop;\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 (\n <td key={dStartDecade} onClick={clickHandler} role=\"gridcell\" class={classNameMap}>\n <a class={`${prefixCls}-decade`}>{content}</a>\n </td>\n );\n });\n return (\n <tr key={decadeIndex} role=\"row\">\n {tds}\n </tr>\n );\n });\n\n return (\n <div class={prefixCls}>\n <div class={`${prefixCls}-header`}>\n <a\n class={`${prefixCls}-prev-century-btn`}\n role=\"button\"\n onClick={this.previousCentury}\n title={locale.previousCentury}\n />\n\n <div class={`${prefixCls}-century`}>\n {startYear}-{endYear}\n </div>\n <a\n class={`${prefixCls}-next-century-btn`}\n role=\"button\"\n onClick={this.nextCentury}\n title={locale.nextCentury}\n />\n </div>\n <div class={`${prefixCls}-body`}>\n <table class={`${prefixCls}-table`} cellSpacing=\"0\" role=\"grid\">\n <tbody class={`${prefixCls}-tbody`}>{decadesEls}</tbody>\n </table>\n </div>\n {footer && <div class={`${prefixCls}-footer`}>{footer}</div>}\n </div>\n );\n },\n};\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getMonthName } from '../util';\n\nconst CalendarHeader = {\n name: 'CalendarHeader',\n mixins: [BaseMixin],\n props: {\n value: PropTypes.object,\n locale: PropTypes.object,\n yearSelectOffset: PropTypes.number.def(10),\n yearSelectTotal: PropTypes.number.def(20),\n // onValueChange: PropTypes.func,\n // onTypeChange: PropTypes.func,\n Select: PropTypes.object,\n prefixCls: PropTypes.string,\n type: PropTypes.string,\n showTypeSwitch: PropTypes.bool,\n headerComponents: PropTypes.array,\n },\n methods: {\n onYearChange(year) {\n const newValue = this.value.clone();\n newValue.year(parseInt(year, 10));\n this.__emit('valueChange', newValue);\n },\n\n onMonthChange(month) {\n const newValue = this.value.clone();\n newValue.month(parseInt(month, 10));\n this.__emit('valueChange', newValue);\n },\n\n yearSelectElement(year) {\n const { yearSelectOffset, yearSelectTotal, prefixCls, Select } = this;\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 class={`${prefixCls}-header-year-select`}\n onChange={this.onYearChange}\n dropdownStyle={{ zIndex: 2000 }}\n dropdownMenuStyle={{ maxHeight: '250px', overflow: 'auto', fontSize: '12px' }}\n optionLabelProp=\"children\"\n value={String(year)}\n showSearch={false}\n >\n {options}\n </Select>\n );\n },\n\n monthSelectElement(month) {\n const { value, Select, prefixCls } = this;\n const t = value.clone();\n const options = [];\n\n for (let index = 0; index < 12; index++) {\n t.month(index);\n options.push(<Select.Option key={`${index}`}>{getMonthName(t)}</Select.Option>);\n }\n\n return (\n <Select\n class={`${prefixCls}-header-month-select`}\n dropdownStyle={{ zIndex: 2000 }}\n dropdownMenuStyle={{\n maxHeight: '250px',\n overflow: 'auto',\n overflowX: 'hidden',\n fontSize: '12px',\n }}\n optionLabelProp=\"children\"\n value={String(month)}\n showSearch={false}\n onChange={this.onMonthChange}\n >\n {options}\n </Select>\n );\n },\n\n changeTypeToDate() {\n this.__emit('typeChange', 'date');\n },\n\n changeTypeToMonth() {\n this.__emit('typeChange', 'month');\n },\n },\n\n render() {\n const { value, locale, prefixCls, type, showTypeSwitch, headerComponents } = this;\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 class={switchCls}>\n {type === 'date' ? (\n <span class={`${switchCls}-focus`}>{locale.month}</span>\n ) : (\n <span onClick={this.changeTypeToDate} class={`${switchCls}-normal`}>\n {locale.month}\n </span>\n )}\n {type === 'month' ? (\n <span class={`${switchCls}-focus`}>{locale.year}</span>\n ) : (\n <span onClick={this.changeTypeToMonth} class={`${switchCls}-normal`}>\n {locale.year}\n </span>\n )}\n </span>\n ) : null;\n\n return (\n <div class={`${prefixCls}-header`}>\n {typeSwitcher}\n {monthSelect}\n {yearSelect}\n {headerComponents}\n </div>\n );\n },\n};\n\nexport default CalendarHeader;\n","import Calendar from './Calendar';\n\nexport default Calendar;\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 weekSelect: 'Choose a week',\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","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { hasProp } from '../../../_util/props-util';\nimport moment from 'moment';\nimport { isAllowedDate, getTodayTime } from '../util/index';\nfunction noop() {}\n\nexport function getNowByCurrentStateValue(value) {\n let ret;\n if (value) {\n ret = getTodayTime(value);\n } else {\n ret = moment();\n }\n return ret;\n}\nfunction isMoment(value) {\n if (Array.isArray(value)) {\n return (\n value.length === 0 || value.findIndex(val => val === undefined || moment.isMoment(val)) !== -1\n );\n } else {\n return value === undefined || moment.isMoment(value);\n }\n}\nconst MomentType = PropTypes.custom(isMoment);\nconst CalendarMixin = {\n mixins: [BaseMixin],\n name: 'CalendarMixinWrapper',\n props: {\n value: MomentType,\n defaultValue: MomentType,\n },\n\n data() {\n const props = this.$props;\n const sValue = props.value || props.defaultValue || getNowByCurrentStateValue();\n return {\n sValue,\n sSelectedValue: props.selectedValue || props.defaultSelectedValue,\n };\n },\n watch: {\n value(val) {\n const sValue = val || this.defaultValue || getNowByCurrentStateValue(this.sValue);\n this.setState({\n sValue,\n });\n },\n selectedValue(val) {\n this.setState({\n sSelectedValue: val,\n });\n },\n },\n methods: {\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.class]: !!newProps.class,\n };\n return (\n <div\n ref=\"rootInstance\"\n class={className}\n tabIndex=\"0\"\n onKeydown={this.onKeyDown || noop}\n onBlur={this.onBlur || noop}\n >\n {newProps.children}\n </div>\n );\n },\n\n setSelectedValue(selectedValue, cause) {\n // if (this.isAllowedDate(selectedValue)) {\n if (!hasProp(this, 'selectedValue')) {\n this.setState({\n sSelectedValue: selectedValue,\n });\n }\n this.__emit('select', selectedValue, cause);\n // }\n },\n\n setValue(value) {\n const originalValue = this.sValue;\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n if (\n (originalValue && value && !originalValue.isSame(value)) ||\n (!originalValue && value) ||\n (originalValue && !value)\n ) {\n this.__emit('change', value);\n }\n },\n\n isAllowedDate(value) {\n const disabledDate = this.disabledDate;\n const disabledTime = this.disabledTime;\n return isAllowedDate(value, disabledDate, disabledTime);\n },\n },\n};\n\nexport default CalendarMixin;\n","export default {\n methods: {\n getFormat() {\n let { format } = this;\n const { locale, timePicker } = this;\n if (!format) {\n if (timePicker) {\n format = locale.dateTimeFormat;\n } else {\n format = locale.dateFormat;\n }\n }\n return format;\n },\n focus() {\n if (this.focusElement) {\n this.focusElement.focus();\n } else if (this.$refs.rootInstance) {\n this.$refs.rootInstance.focus();\n }\n },\n saveFocusElement(focusElement) {\n this.focusElement = focusElement;\n },\n },\n};\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { hasProp, getListeners } from '../../../_util/props-util';\nimport MonthTable from './MonthTable';\n\nfunction goYear(direction) {\n this.changeYear(direction);\n}\n\nfunction noop() {}\n\nconst MonthPanel = {\n name: 'MonthPanel',\n mixins: [BaseMixin],\n props: {\n value: PropTypes.any,\n defaultValue: PropTypes.any,\n cellRender: PropTypes.any,\n contentRender: PropTypes.any,\n locale: PropTypes.any,\n rootPrefixCls: PropTypes.string,\n // onChange: PropTypes.func,\n disabledDate: PropTypes.func,\n // onSelect: PropTypes.func,\n renderFooter: PropTypes.func,\n changeYear: PropTypes.func.def(noop),\n },\n\n data() {\n const { value, defaultValue } = this;\n // bind methods\n this.nextYear = goYear.bind(this, 1);\n this.previousYear = goYear.bind(this, -1);\n return {\n sValue: value || defaultValue,\n };\n },\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n },\n methods: {\n setAndSelectValue(value) {\n this.setValue(value);\n this.__emit('select', value);\n },\n\n setValue(value) {\n if (hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n },\n },\n\n render() {\n const {\n sValue,\n cellRender,\n contentRender,\n locale,\n rootPrefixCls,\n disabledDate,\n renderFooter,\n } = this;\n const year = sValue.year();\n const prefixCls = `${rootPrefixCls}-month-panel`;\n\n const footer = renderFooter && renderFooter('month');\n return (\n <div class={prefixCls}>\n <div>\n <div class={`${prefixCls}-header`}>\n <a\n class={`${prefixCls}-prev-year-btn`}\n role=\"button\"\n onClick={this.previousYear}\n title={locale.previousYear}\n />\n\n <a\n class={`${prefixCls}-year-select`}\n role=\"button\"\n onClick={getListeners(this).yearPanelShow || noop}\n title={locale.yearSelect}\n >\n <span class={`${prefixCls}-year-select-content`}>{year}</span>\n <span class={`${prefixCls}-year-select-arrow`}>x</span>\n </a>\n\n <a\n class={`${prefixCls}-next-year-btn`}\n role=\"button\"\n onClick={this.nextYear}\n title={locale.nextYear}\n />\n </div>\n <div class={`${prefixCls}-body`}>\n <MonthTable\n disabledDate={disabledDate}\n onSelect={this.setAndSelectValue}\n locale={locale}\n value={sValue}\n cellRender={cellRender}\n contentRender={contentRender}\n prefixCls={prefixCls}\n />\n </div>\n {footer && <div class={`${prefixCls}-footer`}>{footer}</div>}\n </div>\n </div>\n );\n },\n};\n\nexport default MonthPanel;\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getTodayTime, getMonthName } from '../util/index';\n\nconst ROW = 4;\nconst COL = 3;\n\nfunction noop() {}\n\nconst MonthTable = {\n name: 'MonthTable',\n mixins: [BaseMixin],\n props: {\n cellRender: PropTypes.func,\n prefixCls: PropTypes.string,\n value: PropTypes.object,\n locale: PropTypes.any,\n contentRender: PropTypes.any,\n disabledDate: PropTypes.func,\n },\n data() {\n return {\n sValue: this.value,\n };\n },\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n },\n methods: {\n setAndSelectValue(value) {\n this.setState({\n sValue: value,\n });\n this.__emit('select', value);\n },\n chooseMonth(month) {\n const next = this.sValue.clone();\n next.month(month);\n this.setAndSelectValue(next);\n },\n months() {\n const value = this.sValue;\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\n render() {\n const props = this.$props;\n const value = this.sValue;\n const today = getTodayTime(value);\n const months = this.months();\n const currentMonth = value.month();\n const { prefixCls, locale, contentRender, cellRender, disabledDate } = props;\n const monthsEls = months.map((month, index) => {\n const tds = month.map(monthData => {\n let disabled = false;\n if (disabledDate) {\n const testValue = value.clone();\n testValue.month(monthData.value);\n disabled = 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`]:\n today.year() === value.year() && 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 = <a class={`${prefixCls}-month`}>{content}</a>;\n }\n return (\n <td\n role=\"gridcell\"\n key={monthData.value}\n onClick={disabled ? noop : () => this.chooseMonth(monthData.value)}\n title={monthData.title}\n class={classNameMap}\n >\n {cellEl}\n </td>\n );\n });\n return (\n <tr key={index} role=\"row\">\n {tds}\n </tr>\n );\n });\n\n return (\n <table class={`${prefixCls}-table`} cellSpacing=\"0\" role=\"grid\">\n <tbody class={`${prefixCls}-tbody`}>{monthsEls}</tbody>\n </table>\n );\n },\n};\n\nexport default MonthTable;\n","const 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 default placements;\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getOptionProps, getComponentFromProp, getListeners } from '../../../_util/props-util';\nimport { cloneElement } from '../../../_util/vnode';\nimport CalendarHeader from '../calendar/CalendarHeader';\nimport DateTable from '../date/DateTable';\nimport DateInput from '../date/DateInput';\nimport { getTimeConfig } from '../util/index';\nfunction noop() {}\nconst CalendarPart = {\n mixins: [BaseMixin],\n props: {\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 showWeekNumber: PropTypes.bool,\n format: PropTypes.any,\n placeholder: PropTypes.any,\n disabledDate: PropTypes.any,\n timePicker: PropTypes.any,\n disabledTime: PropTypes.any,\n disabledMonth: PropTypes.any,\n mode: PropTypes.any,\n // onInputSelect: PropTypes.func,\n timePickerDisabledTime: PropTypes.object,\n enableNext: PropTypes.any,\n enablePrev: PropTypes.any,\n clearIcon: PropTypes.any,\n dateRender: PropTypes.func,\n inputMode: PropTypes.string,\n inputReadOnly: PropTypes.bool,\n },\n render() {\n const { $props: props } = this;\n const {\n prefixCls,\n value,\n hoverValue,\n selectedValue,\n mode,\n direction,\n locale,\n format,\n placeholder,\n disabledDate,\n timePicker,\n disabledTime,\n timePickerDisabledTime,\n showTimePicker,\n enablePrev,\n enableNext,\n disabledMonth,\n showDateInput,\n dateRender,\n showWeekNumber,\n showClear,\n inputMode,\n inputReadOnly,\n } = props;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const {\n inputChange = noop,\n inputSelect = noop,\n valueChange = noop,\n panelChange = noop,\n select = noop,\n dayHover = noop,\n } = getListeners(this);\n const shouldShowTimePicker = showTimePicker && timePicker;\n const disabledTimeConfig =\n shouldShowTimePicker && disabledTime ? 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 let timePickerEle = null;\n if (shouldShowTimePicker) {\n const timePickerProps = getOptionProps(timePicker);\n timePickerEle = cloneElement(timePicker, {\n props: {\n showHour: true,\n showMinute: true,\n showSecond: true,\n ...timePickerProps,\n ...disabledTimeConfig,\n ...timePickerDisabledTime,\n defaultOpenValue: value,\n value: selectedValue[index],\n },\n on: {\n change: inputChange,\n },\n });\n }\n\n const dateInputElement = 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={showClear || false}\n selectedValue={selectedValue[index]}\n onChange={inputChange}\n onSelect={inputSelect}\n clearIcon={clearIcon}\n inputMode={inputMode}\n inputReadOnly={inputReadOnly}\n />\n );\n const headerProps = {\n props: {\n ...newProps,\n mode,\n enableNext,\n enablePrev,\n disabledMonth,\n },\n on: {\n valueChange,\n panelChange,\n },\n };\n const tableProps = {\n props: {\n ...newProps,\n hoverValue,\n selectedValue,\n dateRender,\n disabledDate,\n showWeekNumber,\n },\n on: {\n select,\n dayHover,\n },\n };\n return (\n <div class={`${rangeClassName}-part ${rangeClassName}-${direction}`}>\n {dateInputElement}\n <div style={{ outline: 'none' }}>\n <CalendarHeader {...headerProps} />\n {showTimePicker ? (\n <div class={`${prefixCls}-time-picker`}>\n <div class={`${prefixCls}-time-picker-panel`}>{timePickerEle}</div>\n </div>\n ) : null}\n <div class={`${prefixCls}-body`}>\n <DateTable {...tableProps} />\n </div>\n </div>\n </div>\n );\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 to.millisecond(from.millisecond());\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\nexport function formatDate(value, format) {\n if (!value) {\n return '';\n }\n\n if (Array.isArray(format)) {\n format = format[0];\n }\n\n if (typeof format === 'function') {\n const result = format(value);\n if (typeof result === 'string') {\n return result;\n } else {\n throw new Error('The function of format does not return a string');\n }\n }\n\n return value.format(format);\n}\n","export function goStartMonth(time) {\n return time.clone().startOf('month');\n}\n\nexport function goEndMonth(time) {\n return time.clone().endOf('month');\n}\n\nexport function goTime(time, direction, unit) {\n return time.clone().add(direction, unit);\n}\n\nexport function includesTime(timeList = [], time, unit) {\n return timeList.some(t => t.isSame(time, unit));\n}\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getListeners } from '../../../_util/props-util';\nconst ROW = 4;\nconst COL = 3;\nfunction noop() {}\nfunction goYear(direction) {\n const value = this.sValue.clone();\n value.add(direction, 'year');\n this.setState({\n sValue: value,\n });\n}\n\nfunction chooseYear(year) {\n const value = this.sValue.clone();\n value.year(year);\n value.month(this.sValue.month());\n this.sValue = value;\n this.__emit('select', value);\n}\n\nexport default {\n mixins: [BaseMixin],\n props: {\n rootPrefixCls: PropTypes.string,\n value: PropTypes.object,\n defaultValue: PropTypes.object,\n locale: PropTypes.object,\n renderFooter: PropTypes.func,\n },\n data() {\n this.nextDecade = goYear.bind(this, 10);\n this.previousDecade = goYear.bind(this, -10);\n return {\n sValue: this.value || this.defaultValue,\n };\n },\n watch: {\n value(val) {\n this.sValue = val;\n },\n },\n methods: {\n years() {\n const value = this.sValue;\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 },\n\n render() {\n const { sValue: value, locale, renderFooter } = this;\n const decadePanelShow = getListeners(this).decadePanelShow || noop;\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.rootPrefixCls}-year-panel`;\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 = noop;\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 class={classNameMap}\n >\n <a class={`${prefixCls}-year`}>{yearData.content}</a>\n </td>\n );\n });\n return (\n <tr key={index} role=\"row\">\n {tds}\n </tr>\n );\n });\n const footer = renderFooter && renderFooter('year');\n return (\n <div class={prefixCls}>\n <div>\n <div class={`${prefixCls}-header`}>\n <a\n class={`${prefixCls}-prev-decade-btn`}\n role=\"button\"\n onClick={this.previousDecade}\n title={locale.previousDecade}\n />\n <a\n class={`${prefixCls}-decade-select`}\n role=\"button\"\n onClick={decadePanelShow}\n title={locale.decadeSelect}\n >\n <span class={`${prefixCls}-decade-select-content`}>\n {startYear}-{endYear}\n </span>\n <span class={`${prefixCls}-decade-select-arrow`}>x</span>\n </a>\n\n <a\n class={`${prefixCls}-next-decade-btn`}\n role=\"button\"\n onClick={this.nextDecade}\n title={locale.nextDecade}\n />\n </div>\n <div class={`${prefixCls}-body`}>\n <table class={`${prefixCls}-table`} cellSpacing=\"0\" role=\"grid\">\n <tbody class={`${prefixCls}-tbody`}>{yeasEls}</tbody>\n </table>\n </div>\n {footer && <div class={`${prefixCls}-footer`}>{footer}</div>}\n </div>\n </div>\n );\n },\n};\n","import { getComponentFromProp, getListeners } from '../_util/props-util';\nimport PropTypes from '../_util/vue-types';\nimport Trigger from '../vc-trigger';\nimport Menus from './Menus';\nimport KeyCode from '../_util/KeyCode';\nimport arrayTreeFilter from 'array-tree-filter';\nimport shallowEqualArrays from 'shallow-equal/arrays';\nimport { hasProp, getEvents, getSlot } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement } from '../_util/vnode';\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 {\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: {\n value: PropTypes.array,\n defaultValue: PropTypes.array,\n options: PropTypes.array,\n // onChange: PropTypes.func,\n // onPopupVisibleChange: PropTypes.func,\n popupVisible: PropTypes.bool,\n disabled: PropTypes.bool.def(false),\n transitionName: PropTypes.string.def(''),\n popupClassName: PropTypes.string.def(''),\n popupStyle: PropTypes.object.def(() => ({})),\n popupPlacement: PropTypes.string.def('bottomLeft'),\n prefixCls: PropTypes.string.def('rc-cascader'),\n dropdownMenuColumnStyle: PropTypes.object,\n builtinPlacements: PropTypes.object.def(BUILT_IN_PLACEMENTS),\n loadData: PropTypes.func,\n changeOnSelect: PropTypes.bool,\n // onKeyDown: PropTypes.func,\n expandTrigger: PropTypes.string.def('click'),\n fieldNames: PropTypes.object.def(() => ({\n label: 'label',\n value: 'value',\n children: 'children',\n })),\n expandIcon: PropTypes.any,\n loadingIcon: PropTypes.any,\n getPopupContainer: PropTypes.func,\n },\n data() {\n let initialValue = [];\n const { value, defaultValue, popupVisible } = this;\n if (hasProp(this, 'value')) {\n initialValue = value || [];\n } else if (hasProp(this, 'defaultValue')) {\n initialValue = defaultValue || [];\n }\n // warning(!('filedNames' in props),\n // '`filedNames` of Cascader is a typo usage and deprecated, please use `fieldNames` instead.');\n\n return {\n sPopupVisible: popupVisible,\n sActiveValue: initialValue,\n sValue: initialValue,\n };\n },\n watch: {\n value(val, oldValue) {\n if (!shallowEqualArrays(val, oldValue)) {\n const newValues = {\n sValue: val || [],\n };\n // allow activeValue diff from value\n // https://github.com/ant-design/ant-design/issues/2767\n if (!hasProp(this, 'loadData')) {\n newValues.sActiveValue = val || [];\n }\n this.setState(newValues);\n }\n },\n popupVisible(val) {\n this.setState({\n sPopupVisible: val,\n });\n },\n },\n methods: {\n getPopupDOMNode() {\n return this.$refs.trigger.getPopupDomNode();\n },\n getFieldName(name) {\n const { defaultFieldNames, fieldNames } = this;\n return fieldNames[name] || defaultFieldNames[name];\n },\n getFieldNames() {\n return this.fieldNames;\n },\n getCurrentLevelOptions() {\n const { options = [], sActiveValue = [] } = this;\n const result = arrayTreeFilter(\n options,\n (o, level) => o[this.getFieldName('value')] === sActiveValue[level],\n { childrenKeyName: this.getFieldName('children') },\n );\n if (result[result.length - 2]) {\n return result[result.length - 2][this.getFieldName('children')];\n }\n return [...options].filter(o => !o.disabled);\n },\n getActiveOptions(activeValue) {\n return arrayTreeFilter(\n this.options || [],\n (o, level) => o[this.getFieldName('value')] === activeValue[level],\n { childrenKeyName: this.getFieldName('children') },\n );\n },\n setPopupVisible(popupVisible) {\n if (!hasProp(this, 'popupVisible')) {\n this.setState({ sPopupVisible: popupVisible });\n }\n // sync activeValue with value when panel open\n if (popupVisible && !this.sPopupVisible) {\n this.setState({\n sActiveValue: this.sValue,\n });\n }\n this.__emit('popupVisibleChange', popupVisible);\n },\n handleChange(options, setProps, e) {\n if (e.type !== 'keydown' || e.keyCode === KeyCode.ENTER) {\n this.__emit(\n 'change',\n options.map(o => o[this.getFieldName('value')]),\n options,\n );\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.$refs.trigger.getRootDomNode();\n if (triggerNode && triggerNode.focus) {\n triggerNode.focus();\n }\n const { changeOnSelect, loadData, expandTrigger } = this;\n if (!targetOption || targetOption.disabled) {\n return;\n }\n let { sActiveValue } = this;\n sActiveValue = sActiveValue.slice(0, menuIndex + 1);\n sActiveValue[menuIndex] = targetOption[this.getFieldName('value')];\n const activeOptions = this.getActiveOptions(sActiveValue);\n if (\n targetOption.isLeaf === false &&\n !targetOption[this.getFieldName('children')] &&\n loadData\n ) {\n if (changeOnSelect) {\n this.handleChange(activeOptions, { visible: true }, e);\n }\n this.setState({ sActiveValue });\n loadData(activeOptions);\n return;\n }\n const newState = {};\n if (\n !targetOption[this.getFieldName('children')] ||\n !targetOption[this.getFieldName('children')].length\n ) {\n this.handleChange(activeOptions, { visible: false }, e);\n // set value to activeValue when select leaf option\n newState.sValue = sActiveValue;\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.sValue = sActiveValue;\n }\n newState.sActiveValue = sActiveValue;\n // not change the value by keyboard\n if (hasProp(this, 'value') || (e.type === 'keydown' && e.keyCode !== KeyCode.ENTER)) {\n delete newState.sValue;\n }\n this.setState(newState);\n },\n handleItemDoubleClick() {\n const { changeOnSelect } = this.$props;\n if (changeOnSelect) {\n this.setPopupVisible(false);\n }\n },\n handleKeyDown(e) {\n const { $slots } = this;\n const children = $slots.default && $slots.default[0];\n // https://github.com/ant-design/ant-design/issues/6717\n // Don't bind keyboard support when children specify the onKeyDown\n if (children) {\n const keydown = getEvents(children).keydown;\n if (keydown) {\n keydown(e);\n return;\n }\n }\n const activeValue = [...this.sActiveValue];\n const currentLevel = activeValue.length - 1 < 0 ? 0 : activeValue.length - 1;\n const currentOptions = this.getCurrentLevelOptions();\n const currentIndex = currentOptions\n .map(o => o[this.getFieldName('value')])\n .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.SPACE &&\n e.keyCode !== KeyCode.BACKSPACE &&\n e.keyCode !== KeyCode.ESC &&\n e.keyCode !== KeyCode.TAB\n ) {\n return;\n }\n // Press any keys above to reopen menu\n if (\n !this.sPopupVisible &&\n e.keyCode !== KeyCode.BACKSPACE &&\n e.keyCode !== KeyCode.LEFT &&\n e.keyCode !== KeyCode.RIGHT &&\n e.keyCode !== KeyCode.ESC &&\n e.keyCode !== KeyCode.TAB\n ) {\n this.setPopupVisible(true);\n return;\n }\n if (e.keyCode === KeyCode.DOWN || e.keyCode === KeyCode.UP) {\n e.preventDefault();\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][this.getFieldName('value')];\n } else if (e.keyCode === KeyCode.LEFT || e.keyCode === KeyCode.BACKSPACE) {\n e.preventDefault();\n activeValue.splice(activeValue.length - 1, 1);\n } else if (e.keyCode === KeyCode.RIGHT) {\n e.preventDefault();\n if (\n currentOptions[currentIndex] &&\n currentOptions[currentIndex][this.getFieldName('children')]\n ) {\n activeValue.push(\n currentOptions[currentIndex][this.getFieldName('children')][0][\n this.getFieldName('value')\n ],\n );\n }\n } else if (e.keyCode === KeyCode.ESC || e.keyCode === KeyCode.TAB) {\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 this.__emit('keydown', e);\n },\n },\n\n render() {\n const {\n $props,\n sActiveValue,\n handleMenuSelect,\n sPopupVisible,\n handlePopupVisibleChange,\n handleKeyDown,\n } = this;\n const listeners = getListeners(this);\n const {\n prefixCls,\n transitionName,\n popupClassName,\n options = [],\n disabled,\n builtinPlacements,\n popupPlacement,\n ...restProps\n } = $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 const loadingIcon = getComponentFromProp(this, 'loadingIcon');\n const expandIcon = getComponentFromProp(this, 'expandIcon') || '>';\n const menusProps = {\n props: {\n ...$props,\n fieldNames: this.getFieldNames(),\n defaultFieldNames: this.defaultFieldNames,\n activeValue: sActiveValue,\n visible: sPopupVisible,\n loadingIcon,\n expandIcon,\n },\n on: {\n ...listeners,\n select: handleMenuSelect,\n itemDoubleClick: this.handleItemDoubleClick,\n },\n };\n menus = <Menus {...menusProps} />;\n } else {\n emptyMenuClassName = ` ${prefixCls}-menus-empty`;\n }\n const triggerProps = {\n props: {\n ...restProps,\n disabled,\n popupPlacement,\n builtinPlacements,\n popupTransitionName: transitionName,\n action: disabled ? [] : ['click'],\n popupVisible: disabled ? false : sPopupVisible,\n prefixCls: `${prefixCls}-menus`,\n popupClassName: popupClassName + emptyMenuClassName,\n },\n on: {\n ...listeners,\n popupVisibleChange: handlePopupVisibleChange,\n },\n ref: 'trigger',\n };\n const children = getSlot(this, 'default')[0];\n return (\n <Trigger {...triggerProps}>\n {children &&\n cloneElement(children, {\n on: {\n keydown: handleKeyDown,\n },\n attrs: {\n tabIndex: disabled ? undefined : 0,\n },\n })}\n <template slot=\"popup\">{menus}</template>\n </Trigger>\n );\n },\n};\n","import { getComponentFromProp } from '../_util/props-util';\nimport PropTypes from '../_util/vue-types';\nimport arrayTreeFilter from 'array-tree-filter';\nimport BaseMixin from '../_util/BaseMixin';\n\nexport default {\n name: 'CascaderMenus',\n mixins: [BaseMixin],\n props: {\n value: PropTypes.array.def([]),\n activeValue: PropTypes.array.def([]),\n options: PropTypes.array,\n prefixCls: PropTypes.string.def('rc-cascader-menus'),\n expandTrigger: PropTypes.string.def('click'),\n // onSelect: PropTypes.func,\n visible: PropTypes.bool.def(false),\n dropdownMenuColumnStyle: PropTypes.object,\n defaultFieldNames: PropTypes.object,\n fieldNames: PropTypes.object,\n expandIcon: PropTypes.any,\n loadingIcon: PropTypes.any,\n },\n data() {\n this.menuItems = {};\n return {};\n },\n watch: {\n visible(val) {\n if (val) {\n this.$nextTick(() => {\n this.scrollActiveItemToView();\n });\n }\n },\n },\n mounted() {\n this.$nextTick(() => {\n this.scrollActiveItemToView();\n });\n },\n methods: {\n getFieldName(name) {\n const { fieldNames, defaultFieldNames } = this.$props;\n // 防止只设置单个属性的名字\n return fieldNames[name] || defaultFieldNames[name];\n },\n getOption(option, menuIndex) {\n const { prefixCls, expandTrigger } = this;\n const loadingIcon = getComponentFromProp(this, 'loadingIcon');\n const expandIcon = getComponentFromProp(this, 'expandIcon');\n const onSelect = e => {\n this.__emit('select', option, menuIndex, e);\n };\n const onItemDoubleClick = e => {\n this.__emit('itemDoubleClick', option, menuIndex, e);\n };\n const key = option[this.getFieldName('value')];\n const expandProps = {\n attrs: {\n role: 'menuitem',\n },\n on: {\n click: onSelect,\n dblclick: onItemDoubleClick,\n mousedown: e => e.preventDefault(),\n },\n key: Array.isArray(key) ? key.join('__ant__') : key,\n };\n let menuItemCls = `${prefixCls}-menu-item`;\n let expandIconNode = null;\n const hasChildren =\n option[this.getFieldName('children')] && option[this.getFieldName('children')].length > 0;\n if (hasChildren || option.isLeaf === false) {\n menuItemCls += ` ${prefixCls}-menu-item-expand`;\n if (!option.loading) {\n expandIconNode = <span class={`${prefixCls}-menu-item-expand-icon`}>{expandIcon}</span>;\n }\n }\n if (expandTrigger === 'hover' && (hasChildren || option.isLeaf === false)) {\n expandProps.on = {\n mouseenter: this.delayOnSelect.bind(this, onSelect),\n mouseleave: this.delayOnSelect.bind(this),\n click: onSelect,\n };\n }\n if (this.isActiveOption(option, menuIndex)) {\n menuItemCls += ` ${prefixCls}-menu-item-active`;\n expandProps.ref = this.getMenuItemRef(menuIndex);\n }\n if (option.disabled) {\n menuItemCls += ` ${prefixCls}-menu-item-disabled`;\n }\n let loadingIconNode = null;\n if (option.loading) {\n menuItemCls += ` ${prefixCls}-menu-item-loading`;\n loadingIconNode = loadingIcon || null;\n }\n let title = '';\n if (option.title) {\n title = option.title;\n } else if (typeof option[this.getFieldName('label')] === 'string') {\n title = option[this.getFieldName('label')];\n }\n expandProps.attrs.title = title;\n expandProps.class = menuItemCls;\n return (\n <li {...expandProps}>\n {option[this.getFieldName('label')]}\n {expandIconNode}\n {loadingIconNode}\n </li>\n );\n },\n\n getActiveOptions(values) {\n const activeValue = values || this.activeValue;\n const options = this.options;\n return arrayTreeFilter(\n options,\n (o, level) => o[this.getFieldName('value')] === activeValue[level],\n { childrenKeyName: this.getFieldName('children') },\n );\n },\n\n getShowOptions() {\n const { options } = this;\n const result = this.getActiveOptions()\n .map(activeOption => activeOption[this.getFieldName('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.$refs[`menuItems_${i}`];\n if (itemComponent) {\n const target = itemComponent;\n target.parentNode.scrollTop = target.offsetTop;\n }\n }\n },\n\n isActiveOption(option, menuIndex) {\n const { activeValue = [] } = this;\n return activeValue[menuIndex] === option[this.getFieldName('value')];\n },\n\n getMenuItemRef(index) {\n return `menuItems_${index}`;\n },\n },\n\n render() {\n const { prefixCls, dropdownMenuColumnStyle } = this;\n return (\n <div>\n {this.getShowOptions().map((options, menuIndex) => (\n <ul class={`${prefixCls}-menu`} key={menuIndex} style={dropdownMenuColumnStyle}>\n {options.map(option => this.getOption(option, menuIndex))}\n </ul>\n ))}\n </div>\n );\n },\n};\n","// based on rc-cascader 0.17.4\nimport Cascader from './Cascader';\nexport default Cascader;\n","// based on rc-checkbox 2.1.7\nexport { default } from './src/';\n","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport {\n getOptionProps,\n hasProp,\n initDefaultProps,\n getAttrs,\n getListeners,\n} from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\n\nexport default {\n name: 'Checkbox',\n mixins: [BaseMixin],\n inheritAttrs: false,\n model: {\n prop: 'checked',\n event: 'change',\n },\n props: initDefaultProps(\n {\n prefixCls: PropTypes.string,\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 {\n prefixCls: 'rc-checkbox',\n type: 'checkbox',\n defaultChecked: false,\n },\n ),\n data() {\n const checked = hasProp(this, 'checked') ? this.checked : this.defaultChecked;\n return {\n sChecked: checked,\n };\n },\n watch: {\n checked(val) {\n this.sChecked = val;\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus) {\n this.$refs.input && this.$refs.input.focus();\n }\n });\n },\n methods: {\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n\n handleChange(e) {\n const props = getOptionProps(this);\n if (props.disabled) {\n return;\n }\n if (!('checked' in props)) {\n this.sChecked = e.target.checked;\n }\n this.$forceUpdate(); // change前,维持现有状态\n e.shiftKey = this.eventShiftKey;\n this.__emit('change', {\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,\n });\n this.eventShiftKey = false;\n },\n onClick(e) {\n this.__emit('click', e);\n // onChange没能获取到shiftKey,使用onClick hack\n this.eventShiftKey = e.shiftKey;\n },\n },\n\n render() {\n const {\n prefixCls,\n name,\n id,\n type,\n disabled,\n readOnly,\n tabIndex,\n autoFocus,\n value,\n ...others\n } = getOptionProps(this);\n const attrs = getAttrs(this);\n const globalProps = Object.keys({ ...others, ...attrs }).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 { sChecked } = this;\n const classString = classNames(prefixCls, {\n [`${prefixCls}-checked`]: sChecked,\n [`${prefixCls}-disabled`]: disabled,\n });\n\n return (\n <span class={classString}>\n <input\n name={name}\n id={id}\n type={type}\n readOnly={readOnly}\n disabled={disabled}\n tabIndex={tabIndex}\n class={`${prefixCls}-input`}\n checked={!!sChecked}\n autoFocus={autoFocus}\n ref=\"input\"\n value={value}\n {...{\n attrs: globalProps,\n on: {\n ...getListeners(this),\n change: this.handleChange,\n click: this.onClick,\n },\n }}\n />\n <span class={`${prefixCls}-inner`} />\n </span>\n );\n },\n};\n","import Checkbox from './Checkbox';\n\nexport default Checkbox;\n","// based on rc-collapse 1.11.8\nimport CollapsePanel from './src/Panel';\nimport Collapse from './src/Collapse';\nimport { collapseProps, panelProps } from './src/commonProps';\n\nCollapse.Panel = CollapsePanel;\n\nexport { collapseProps, panelProps };\nexport default Collapse;\n","import BaseMixin from '../../_util/BaseMixin';\nimport { hasProp, getPropsData, isEmptyElement, initDefaultProps } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport openAnimationFactory from './openAnimationFactory';\nimport { collapseProps } from './commonProps';\n\nfunction _toArray(activeKey) {\n let currentActiveKey = activeKey;\n if (!Array.isArray(currentActiveKey)) {\n currentActiveKey = currentActiveKey ? [currentActiveKey] : [];\n }\n return currentActiveKey.map(key => String(key));\n}\nexport default {\n name: 'Collapse',\n mixins: [BaseMixin],\n model: {\n prop: 'activeKey',\n event: 'change',\n },\n props: initDefaultProps(collapseProps(), {\n prefixCls: 'rc-collapse',\n accordion: false,\n destroyInactivePanel: false,\n }),\n data() {\n const { activeKey, defaultActiveKey, openAnimation, prefixCls } = this.$props;\n let currentActiveKey = defaultActiveKey;\n if (hasProp(this, 'activeKey')) {\n currentActiveKey = activeKey;\n }\n const currentOpenAnimations = openAnimation || openAnimationFactory(prefixCls);\n return {\n currentOpenAnimations,\n stateActiveKey: _toArray(currentActiveKey),\n };\n },\n watch: {\n activeKey(val) {\n this.setState({\n stateActiveKey: _toArray(val),\n });\n },\n openAnimation(val) {\n this.setState({\n currentOpenAnimations: val,\n });\n },\n },\n methods: {\n onClickItem(key) {\n let activeKey = this.stateActiveKey;\n if (this.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 getNewChild(child, index) {\n if (isEmptyElement(child)) return;\n const activeKey = this.stateActiveKey;\n const { prefixCls, accordion, destroyInactivePanel, expandIcon } = this.$props;\n\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 } = getPropsData(child);\n let isActive = false;\n\n if (accordion) {\n isActive = activeKey[0] === key;\n } else {\n isActive = activeKey.indexOf(key) > -1;\n }\n\n let panelEvents = {};\n if (!disabled && disabled !== '') {\n panelEvents = {\n itemClick: this.onClickItem,\n };\n }\n\n const props = {\n key,\n props: {\n panelKey: key,\n header,\n headerClass,\n isActive,\n prefixCls,\n destroyInactivePanel,\n openAnimation: this.currentOpenAnimations,\n accordion,\n expandIcon,\n },\n on: panelEvents,\n };\n\n return cloneElement(child, props);\n },\n getItems() {\n const newChildren = [];\n this.$slots.default &&\n this.$slots.default.forEach((child, index) => {\n newChildren.push(this.getNewChild(child, index));\n });\n return newChildren;\n },\n setActiveKey(activeKey) {\n this.setState({ stateActiveKey: activeKey });\n this.$emit('change', this.accordion ? activeKey[0] : activeKey);\n },\n },\n render() {\n const { prefixCls, accordion } = this.$props;\n const collapseClassName = {\n [prefixCls]: true,\n };\n return (\n <div class={collapseClassName} role={accordion ? 'tablist' : null}>\n {this.getItems()}\n </div>\n );\n },\n};\n","import PanelContent from './PanelContent';\nimport { initDefaultProps, getComponentFromProp } from '../../_util/props-util';\nimport { panelProps } from './commonProps';\n\nexport default {\n name: 'Panel',\n props: initDefaultProps(panelProps(), {\n showArrow: true,\n isActive: false,\n destroyInactivePanel: false,\n headerClass: '',\n forceRender: false,\n }),\n methods: {\n handleItemClick() {\n this.$emit('itemClick', this.panelKey);\n },\n handleKeyPress(e) {\n if (e.key === 'Enter' || e.keyCode === 13 || e.which === 13) {\n this.handleItemClick();\n }\n },\n },\n render() {\n const {\n prefixCls,\n headerClass,\n isActive,\n showArrow,\n destroyInactivePanel,\n disabled,\n openAnimation,\n accordion,\n forceRender,\n expandIcon,\n extra,\n } = this.$props;\n const { $slots } = this;\n\n const transitionProps = {\n props: Object.assign({\n appear: true,\n css: false,\n }),\n on: { ...openAnimation },\n };\n const headerCls = {\n [`${prefixCls}-header`]: true,\n [headerClass]: headerClass,\n };\n const header = getComponentFromProp(this, 'header');\n const itemCls = {\n [`${prefixCls}-item`]: true,\n [`${prefixCls}-item-active`]: isActive,\n [`${prefixCls}-item-disabled`]: disabled,\n };\n let icon = <i class=\"arrow\" />;\n if (showArrow && typeof expandIcon === 'function') {\n icon = expandIcon(this.$props);\n }\n return (\n <div class={itemCls} role=\"tablist\">\n <div\n class={headerCls}\n onClick={this.handleItemClick.bind(this)}\n onKeypress={this.handleKeyPress}\n role={accordion ? 'tab' : 'button'}\n tabIndex={disabled ? -1 : 0}\n aria-expanded={isActive}\n >\n {showArrow && icon}\n {header}\n {extra && <div class={`${prefixCls}-extra`}>{extra}</div>}\n </div>\n <transition {...transitionProps}>\n <PanelContent\n v-show={isActive}\n prefixCls={prefixCls}\n isActive={isActive}\n destroyInactivePanel={destroyInactivePanel}\n forceRender={forceRender}\n role={accordion ? 'tabpanel' : null}\n >\n {$slots.default}\n </PanelContent>\n </transition>\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\n\nexport default {\n name: 'PanelContent',\n props: {\n prefixCls: PropTypes.string,\n isActive: PropTypes.bool,\n destroyInactivePanel: PropTypes.bool,\n forceRender: PropTypes.bool,\n role: PropTypes.any,\n },\n data() {\n return {\n _isActive: undefined,\n };\n },\n render() {\n this._isActive = this.forceRender || this._isActive || this.isActive;\n if (!this._isActive) {\n return null;\n }\n const { prefixCls, isActive, destroyInactivePanel, forceRender, role } = this.$props;\n const { $slots } = this;\n const contentCls = {\n [`${prefixCls}-content`]: true,\n [`${prefixCls}-content-active`]: isActive,\n };\n const child =\n !forceRender && !isActive && destroyInactivePanel ? null : (\n <div class={`${prefixCls}-content-box`}>{$slots.default}</div>\n );\n return (\n <div class={contentCls} role={role}>\n {child}\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\n\nconst collapseProps = () => ({\n prefixCls: PropTypes.string,\n activeKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n ]),\n defaultActiveKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n ]),\n accordion: PropTypes.bool,\n destroyInactivePanel: PropTypes.bool,\n bordered: PropTypes.bool,\n expandIcon: PropTypes.func,\n openAnimation: PropTypes.object,\n expandIconPosition: PropTypes.oneOf(['left', 'right']),\n});\n\nconst panelProps = () => ({\n openAnimation: PropTypes.object,\n prefixCls: PropTypes.string,\n header: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.node]),\n headerClass: PropTypes.string,\n showArrow: PropTypes.bool,\n isActive: PropTypes.bool,\n destroyInactivePanel: PropTypes.bool,\n disabled: PropTypes.bool,\n accordion: PropTypes.bool,\n forceRender: PropTypes.bool,\n expandIcon: PropTypes.func,\n extra: PropTypes.any,\n panelKey: PropTypes.any,\n});\n\nexport { collapseProps, panelProps };\n","import cssAnimation from '../../_util/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 { getComponentFromProp, initDefaultProps } from '../_util/props-util';\nimport KeyCode from '../_util/KeyCode';\nimport contains from '../vc-util/Dom/contains';\nimport LazyRenderBox from './LazyRenderBox';\nimport BaseMixin from '../_util/BaseMixin';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport switchScrollingEffect from '../_util/switchScrollingEffect';\nimport getDialogPropTypes from './IDialogPropTypes';\nconst IDialogPropTypes = getDialogPropTypes();\n\nlet uuid = 0;\n\nfunction noop() {}\nfunction 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 ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction setTransformOrigin(node, value) {\n const style = node.style;\n ['Webkit', 'Moz', 'Ms', 'ms'].forEach(prefix => {\n style[`${prefix}TransformOrigin`] = value;\n });\n style[`transformOrigin`] = value;\n}\n\nfunction offset(el) {\n const rect = el.getBoundingClientRect();\n const pos = {\n left: rect.left,\n top: rect.top,\n };\n const doc = el.ownerDocument;\n const w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n pos.top += getScroll(w, true);\n return pos;\n}\n\nlet cacheOverflow = {};\n\nexport default {\n mixins: [BaseMixin],\n props: initDefaultProps(IDialogPropTypes, {\n mask: true,\n visible: false,\n keyboard: true,\n closable: true,\n maskClosable: true,\n destroyOnClose: false,\n prefixCls: 'rc-dialog',\n getOpenCount: () => null,\n focusTriggerAfterClose: true,\n }),\n data() {\n return {\n destroyPopup: false,\n };\n },\n\n provide() {\n return {\n dialogContext: this,\n };\n },\n\n watch: {\n visible(val) {\n if (val) {\n this.destroyPopup = false;\n }\n this.$nextTick(() => {\n this.updatedCallback(!val);\n });\n },\n },\n\n beforeMount() {\n this.inTransition = false;\n this.titleId = `rcDialogTitle${uuid++}`;\n },\n mounted() {\n this.$nextTick(() => {\n this.updatedCallback(false);\n // if forceRender is true, set element style display to be none;\n if ((this.forceRender || (this.getContainer === false && !this.visible)) && this.$refs.wrap) {\n this.$refs.wrap.style.display = 'none';\n }\n });\n },\n beforeDestroy() {\n const { visible, getOpenCount } = this;\n if ((visible || this.inTransition) && !getOpenCount()) {\n this.switchScrollingEffect();\n }\n clearTimeout(this.timeoutId);\n },\n methods: {\n // 对外暴露的 api 不要更改名称或删除\n getDialogWrap() {\n return this.$refs.wrap;\n },\n updatedCallback(visible) {\n const mousePosition = this.mousePosition;\n const { mask, focusTriggerAfterClose } = this;\n if (this.visible) {\n // first show\n if (!visible) {\n this.openTime = Date.now();\n // this.lastOutSideFocusNode = document.activeElement\n this.switchScrollingEffect();\n // this.$refs.wrap.focus()\n this.tryFocus();\n const dialogNode = this.$refs.dialog.$el;\n if (mousePosition) {\n const elOffset = offset(dialogNode);\n setTransformOrigin(\n dialogNode,\n `${mousePosition.x - elOffset.left}px ${mousePosition.y - elOffset.top}px`,\n );\n } else {\n setTransformOrigin(dialogNode, '');\n }\n }\n } else if (visible) {\n this.inTransition = true;\n if (mask && this.lastOutSideFocusNode && focusTriggerAfterClose) {\n try {\n this.lastOutSideFocusNode.focus();\n } catch (e) {\n this.lastOutSideFocusNode = null;\n }\n this.lastOutSideFocusNode = null;\n }\n }\n },\n tryFocus() {\n if (!contains(this.$refs.wrap, document.activeElement)) {\n this.lastOutSideFocusNode = document.activeElement;\n this.$refs.sentinelStart.focus();\n }\n },\n onAnimateLeave() {\n const { afterClose, destroyOnClose } = this;\n // need demo?\n // https://github.com/react-component/dialog/pull/28\n if (this.$refs.wrap) {\n this.$refs.wrap.style.display = 'none';\n }\n if (destroyOnClose) {\n this.destroyPopup = true;\n }\n this.inTransition = false;\n this.switchScrollingEffect();\n if (afterClose) {\n afterClose();\n }\n },\n onDialogMouseDown() {\n this.dialogMouseDown = true;\n },\n\n onMaskMouseUp() {\n if (this.dialogMouseDown) {\n this.timeoutId = setTimeout(() => {\n this.dialogMouseDown = false;\n }, 0);\n }\n },\n onMaskClick(e) {\n // android trigger click on open (fastclick??)\n if (Date.now() - this.openTime < 300) {\n return;\n }\n if (e.target === e.currentTarget && !this.dialogMouseDown) {\n this.close(e);\n }\n },\n onKeydown(e) {\n const props = this.$props;\n if (props.keyboard && e.keyCode === KeyCode.ESC) {\n e.stopPropagation();\n this.close(e);\n return;\n }\n // keep focus inside dialog\n if (props.visible) {\n if (e.keyCode === KeyCode.TAB) {\n const activeElement = document.activeElement;\n const sentinelStart = this.$refs.sentinelStart;\n if (e.shiftKey) {\n if (activeElement === sentinelStart) {\n this.$refs.sentinelEnd.focus();\n }\n } else if (activeElement === this.$refs.sentinelEnd) {\n sentinelStart.focus();\n }\n }\n }\n },\n getDialogElement() {\n const {\n closable,\n prefixCls,\n width,\n height,\n title,\n footer: tempFooter,\n bodyStyle,\n visible,\n bodyProps,\n forceRender,\n dialogStyle,\n dialogClass,\n } = this;\n const dest = { ...dialogStyle };\n if (width !== undefined) {\n dest.width = typeof width === 'number' ? `${width}px` : width;\n }\n if (height !== undefined) {\n dest.height = typeof height === 'number' ? `${height}px` : height;\n }\n\n let footer;\n if (tempFooter) {\n footer = (\n <div key=\"footer\" class={`${prefixCls}-footer`} ref=\"footer\">\n {tempFooter}\n </div>\n );\n }\n\n let header;\n if (title) {\n header = (\n <div key=\"header\" class={`${prefixCls}-header`} ref=\"header\">\n <div class={`${prefixCls}-title`} id={this.titleId}>\n {title}\n </div>\n </div>\n );\n }\n\n let closer;\n if (closable) {\n const closeIcon = getComponentFromProp(this, 'closeIcon');\n closer = (\n <button\n type=\"button\"\n key=\"close\"\n onClick={this.close || noop}\n aria-label=\"Close\"\n class={`${prefixCls}-close`}\n >\n {closeIcon || <span class={`${prefixCls}-close-x`} />}\n </button>\n );\n }\n\n const style = dest;\n const sentinelStyle = { width: 0, height: 0, overflow: 'hidden' };\n const cls = {\n [prefixCls]: true,\n };\n const transitionName = this.getTransitionName();\n const dialogElement = (\n <LazyRenderBox\n v-show={visible}\n key=\"dialog-element\"\n role=\"document\"\n ref=\"dialog\"\n style={style}\n class={[cls, dialogClass]}\n forceRender={forceRender}\n onMousedown={this.onDialogMouseDown}\n >\n <div tabIndex={0} ref=\"sentinelStart\" style={sentinelStyle} aria-hidden=\"true\" />\n <div class={`${prefixCls}-content`}>\n {closer}\n {header}\n <div key=\"body\" class={`${prefixCls}-body`} style={bodyStyle} ref=\"body\" {...bodyProps}>\n {this.$slots.default}\n </div>\n {footer}\n </div>\n <div tabIndex={0} ref=\"sentinelEnd\" style={sentinelStyle} aria-hidden=\"true\" />\n </LazyRenderBox>\n );\n const dialogTransitionProps = getTransitionProps(transitionName, {\n afterLeave: this.onAnimateLeave,\n });\n return (\n <transition key=\"dialog\" {...dialogTransitionProps}>\n {visible || !this.destroyPopup ? dialogElement : null}\n </transition>\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 getWrapStyle() {\n return { ...this.getZIndexStyle(), ...this.wrapStyle };\n },\n getMaskStyle() {\n return { ...this.getZIndexStyle(), ...this.maskStyle };\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 v-show={props.visible}\n style={this.getMaskStyle()}\n key=\"mask\"\n class={`${props.prefixCls}-mask`}\n {...props.maskProps}\n />\n );\n if (maskTransition) {\n const maskTransitionProps = getTransitionProps(maskTransition);\n maskElement = (\n <transition key=\"mask\" {...maskTransitionProps}>\n {maskElement}\n </transition>\n );\n }\n }\n return maskElement;\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 getTransitionName() {\n const props = this.$props;\n let transitionName = props.transitionName;\n const animation = props.animation;\n if (!transitionName && animation) {\n transitionName = `${props.prefixCls}-${animation}`;\n }\n return transitionName;\n },\n // setScrollbar() {\n // if (this.bodyIsOverflowing && this.scrollbarWidth !== undefined) {\n // document.body.style.paddingRight = `${this.scrollbarWidth}px`;\n // }\n // },\n switchScrollingEffect() {\n const { getOpenCount } = this;\n const openCount = getOpenCount();\n if (openCount === 1) {\n if (cacheOverflow.hasOwnProperty('overflowX')) {\n return;\n }\n cacheOverflow = {\n overflowX: document.body.style.overflowX,\n overflowY: document.body.style.overflowY,\n overflow: document.body.style.overflow,\n };\n switchScrollingEffect();\n // Must be set after switchScrollingEffect\n document.body.style.overflow = 'hidden';\n } else if (!openCount) {\n // IE browser doesn't merge overflow style, need to set it separately\n // https://github.com/ant-design/ant-design/issues/19393\n if (cacheOverflow.overflow !== undefined) {\n document.body.style.overflow = cacheOverflow.overflow;\n }\n if (cacheOverflow.overflowX !== undefined) {\n document.body.style.overflowX = cacheOverflow.overflowX;\n }\n if (cacheOverflow.overflowY !== undefined) {\n document.body.style.overflowY = cacheOverflow.overflowY;\n }\n cacheOverflow = {};\n switchScrollingEffect(true);\n }\n },\n // removeScrollingEffect() {\n // const { getOpenCount } = this;\n // const openCount = getOpenCount();\n // if (openCount !== 0) {\n // return;\n // }\n // document.body.style.overflow = '';\n // switchScrollingEffect(true);\n // // this.resetAdjustments();\n // },\n close(e) {\n this.__emit('close', e);\n },\n },\n render() {\n const { prefixCls, maskClosable, visible, wrapClassName, title, wrapProps } = this;\n const style = this.getWrapStyle();\n // clear hide display\n // and only set display after async anim, not here for hide\n if (visible) {\n style.display = null;\n }\n return (\n <div class={`${prefixCls}-root`}>\n {this.getMaskElement()}\n <div\n tabIndex={-1}\n onKeydown={this.onKeydown}\n class={`${prefixCls}-wrap ${wrapClassName || ''}`}\n ref=\"wrap\"\n onClick={maskClosable ? this.onMaskClick : noop}\n onMouseup={maskClosable ? this.onMaskMouseUp : noop}\n role=\"dialog\"\n aria-labelledby={title ? this.titleId : null}\n style={style}\n {...wrapProps}\n >\n {this.getDialogElement()}\n </div>\n </div>\n );\n },\n};\n","import Dialog from './Dialog';\nimport getDialogPropTypes from './IDialogPropTypes';\nimport { getListeners } from '../_util/props-util';\nimport Portal from '../_util/PortalWrapper';\nconst IDialogPropTypes = getDialogPropTypes();\nconst DialogWrap = {\n inheritAttrs: false,\n props: {\n ...IDialogPropTypes,\n visible: IDialogPropTypes.visible.def(false),\n },\n\n render() {\n const { visible, getContainer, forceRender } = this.$props;\n const dialogProps = {\n props: this.$props,\n attrs: this.$attrs,\n ref: '_component',\n key: 'dialog',\n on: getListeners(this),\n };\n // 渲染在当前 dom 里;\n if (getContainer === false) {\n return (\n <Dialog\n {...dialogProps}\n getOpenCount={() => 2} // 不对 body 做任何操作。。\n >\n {this.$slots.default}\n </Dialog>\n );\n }\n return (\n <Portal\n visible={visible}\n forceRender={forceRender}\n getContainer={getContainer}\n children={childProps => {\n dialogProps.props = { ...dialogProps.props, ...childProps };\n return <Dialog {...dialogProps}>{this.$slots.default}</Dialog>;\n }}\n />\n );\n },\n};\n\nexport default DialogWrap;\n","import PropTypes from '../_util/vue-types';\n\nfunction IDialogPropTypes() {\n return {\n keyboard: PropTypes.bool,\n mask: PropTypes.bool,\n afterClose: PropTypes.func,\n // onClose: PropTypes. (e: SyntheticEvent<HTMLDivElement>) =>any,\n closable: PropTypes.bool,\n maskClosable: PropTypes.bool,\n visible: PropTypes.bool,\n destroyOnClose: PropTypes.bool,\n mousePosition: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }).loose,\n title: PropTypes.any,\n footer: PropTypes.any,\n transitionName: PropTypes.string,\n maskTransitionName: PropTypes.string,\n animation: PropTypes.any,\n maskAnimation: PropTypes.any,\n wrapStyle: PropTypes.object,\n bodyStyle: PropTypes.object,\n maskStyle: PropTypes.object,\n prefixCls: PropTypes.string,\n wrapClassName: PropTypes.string,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n zIndex: PropTypes.number,\n bodyProps: PropTypes.any,\n maskProps: PropTypes.any,\n wrapProps: PropTypes.any,\n getContainer: PropTypes.any,\n dialogStyle: PropTypes.object.def(() => ({})),\n dialogClass: PropTypes.string.def(''),\n closeIcon: PropTypes.any,\n forceRender: PropTypes.bool,\n getOpenCount: PropTypes.func,\n // https://github.com/ant-design/ant-design/issues/19771\n // https://github.com/react-component/dialog/issues/95\n focusTriggerAfterClose: PropTypes.bool,\n };\n}\n\nexport default IDialogPropTypes;\n","import PropTypes from '../_util/vue-types';\nimport { getListeners } from '../_util/props-util';\n\nconst ILazyRenderBoxPropTypes = {\n visible: PropTypes.bool,\n hiddenClassName: PropTypes.string,\n forceRender: PropTypes.bool,\n};\n\nexport default {\n props: ILazyRenderBoxPropTypes,\n render() {\n return <div {...{ on: getListeners(this) }}>{this.$slots.default}</div>;\n },\n};\n","// based on vc-dialog 7.5.14\nimport DialogWrap from './DialogWrap';\nexport default DialogWrap;\n","import classnames from 'classnames';\nimport Vue from 'vue';\nimport ref from 'vue-ref';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { initDefaultProps, getEvents, getListeners } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport getScrollBarSize from '../../_util/getScrollBarSize';\nimport { IDrawerProps } from './IDrawerPropTypes';\nimport KeyCode from '../../_util/KeyCode';\nimport {\n dataToArray,\n transitionEnd,\n transitionStr,\n addEventListener,\n removeEventListener,\n transformArguments,\n isNumeric,\n} from './utils';\nimport Portal from '../../_util/Portal';\n\nfunction noop() {}\n\nconst currentDrawer = {};\nconst windowIsUndefined = !(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nVue.use(ref, { name: 'ant-ref' });\nconst Drawer = {\n mixins: [BaseMixin],\n props: initDefaultProps(IDrawerProps, {\n prefixCls: 'drawer',\n placement: 'left',\n getContainer: 'body',\n level: 'all',\n duration: '.3s',\n ease: 'cubic-bezier(0.78, 0.14, 0.15, 0.86)',\n firstEnter: false, // 记录首次进入.\n showMask: true,\n handler: true,\n maskStyle: {},\n wrapperClassName: '',\n className: '',\n }),\n data() {\n this.levelDom = [];\n this.contentDom = null;\n this.maskDom = null;\n this.handlerdom = null;\n this.mousePos = null;\n this.sFirstEnter = this.firstEnter;\n this.timeout = null;\n this.children = null;\n this.drawerId = Number(\n (Date.now() + Math.random()).toString().replace('.', Math.round(Math.random() * 9)),\n ).toString(16);\n const open = this.open !== undefined ? this.open : !!this.defaultOpen;\n currentDrawer[this.drawerId] = open;\n this.orignalOpen = this.open;\n this.preProps = { ...this.$props };\n return {\n sOpen: open,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (!windowIsUndefined) {\n let passiveSupported = false;\n window.addEventListener(\n 'test',\n null,\n Object.defineProperty({}, 'passive', {\n get: () => {\n passiveSupported = true;\n return null;\n },\n }),\n );\n this.passive = passiveSupported ? { passive: false } : false;\n }\n const open = this.getOpen();\n if (this.handler || open || this.sFirstEnter) {\n this.getDefault(this.$props);\n if (open) {\n this.isOpenChange = true;\n }\n this.$forceUpdate();\n }\n });\n },\n watch: {\n open(val) {\n if (val !== undefined && val !== this.preProps.open) {\n this.isOpenChange = true;\n // 没渲染 dom 时,获取默认数据;\n if (!this.container) {\n this.getDefault(this.$props);\n }\n this.setState({\n sOpen: open,\n });\n }\n this.preProps.open = val;\n },\n placement(val) {\n if (val !== this.preProps.placement) {\n // test 的 bug, 有动画过场,删除 dom\n this.contentDom = null;\n }\n this.preProps.placement = val;\n },\n level(val) {\n if (this.preProps.level !== val) {\n this.getParentAndLevelDom(this.$props);\n }\n this.preProps.level = val;\n },\n },\n updated() {\n this.$nextTick(() => {\n // dom 没渲染时,重走一遍。\n if (!this.sFirstEnter && this.container) {\n this.$forceUpdate();\n this.sFirstEnter = true;\n }\n });\n },\n beforeDestroy() {\n delete currentDrawer[this.drawerId];\n delete this.isOpenChange;\n if (this.container) {\n if (this.sOpen) {\n this.setLevelDomTransform(false, true);\n }\n document.body.style.overflow = '';\n }\n this.sFirstEnter = false;\n clearTimeout(this.timeout);\n },\n methods: {\n onKeyDown(e) {\n if (e.keyCode === KeyCode.ESC) {\n e.stopPropagation();\n this.$emit('close', e);\n }\n },\n onMaskTouchEnd(e) {\n this.$emit('close', e);\n this.onTouchEnd(e, true);\n },\n onIconTouchEnd(e) {\n this.$emit('handleClick', e);\n this.onTouchEnd(e);\n },\n onTouchEnd(e, close) {\n if (this.open !== undefined) {\n return;\n }\n const open = close || this.sOpen;\n this.isOpenChange = true;\n this.setState({\n sOpen: !open,\n });\n },\n onWrapperTransitionEnd(e) {\n if (e.target === this.contentWrapper && e.propertyName.match(/transform$/)) {\n const open = this.getOpen();\n this.dom.style.transition = '';\n if (!open && this.getCurrentDrawerSome()) {\n document.body.style.overflowX = '';\n if (this.maskDom) {\n this.maskDom.style.left = '';\n this.maskDom.style.width = '';\n }\n }\n if (this.afterVisibleChange) {\n this.afterVisibleChange(!!open);\n }\n }\n },\n getDefault(props) {\n this.getParentAndLevelDom(props);\n if (props.getContainer || props.parent) {\n this.container = this.defaultGetContainer();\n }\n },\n getCurrentDrawerSome() {\n return !Object.keys(currentDrawer).some(key => currentDrawer[key]);\n },\n getSelfContainer() {\n return this.container;\n },\n getParentAndLevelDom(props) {\n if (windowIsUndefined) {\n return;\n }\n const { level, getContainer } = props;\n this.levelDom = [];\n if (getContainer) {\n if (typeof getContainer === 'string') {\n const dom = document.querySelectorAll(getContainer)[0];\n this.parent = dom;\n }\n if (typeof getContainer === 'function') {\n this.parent = getContainer();\n }\n if (typeof getContainer === 'object' && getContainer instanceof window.HTMLElement) {\n this.parent = getContainer;\n }\n }\n if (!getContainer && this.container) {\n this.parent = this.container.parentNode;\n }\n if (level === 'all') {\n const children = Array.prototype.slice.call(this.parent.children);\n children.forEach(child => {\n if (\n child.nodeName !== 'SCRIPT' &&\n child.nodeName !== 'STYLE' &&\n child.nodeName !== 'LINK' &&\n child !== this.container\n ) {\n this.levelDom.push(child);\n }\n });\n } else if (level) {\n dataToArray(level).forEach(key => {\n document.querySelectorAll(key).forEach(item => {\n this.levelDom.push(item);\n });\n });\n }\n },\n setLevelDomTransform(open, openTransition, placementName, value) {\n const { placement, levelMove, duration, ease, getContainer } = this.$props;\n if (!windowIsUndefined) {\n this.levelDom.forEach(dom => {\n if (this.isOpenChange || openTransition) {\n /* eslint no-param-reassign: \"error\" */\n dom.style.transition = `transform ${duration} ${ease}`;\n addEventListener(dom, transitionEnd, this.trnasitionEnd);\n let levelValue = open ? value : 0;\n if (levelMove) {\n const $levelMove = transformArguments(levelMove, { target: dom, open });\n levelValue = open ? $levelMove[0] : $levelMove[1] || 0;\n }\n const $value = typeof levelValue === 'number' ? `${levelValue}px` : levelValue;\n const placementPos =\n placement === 'left' || placement === 'top' ? $value : `-${$value}`;\n dom.style.transform = levelValue ? `${placementName}(${placementPos})` : '';\n dom.style.msTransform = levelValue ? `${placementName}(${placementPos})` : '';\n }\n });\n // 处理 body 滚动\n if (getContainer === 'body') {\n const eventArray = ['touchstart'];\n const domArray = [document.body, this.maskDom, this.handlerdom, this.contentDom];\n const right =\n document.body.scrollHeight >\n (window.innerHeight || document.documentElement.clientHeight) &&\n window.innerWidth > document.body.offsetWidth\n ? getScrollBarSize(1)\n : 0;\n let widthTransition = `width ${duration} ${ease}`;\n const trannsformTransition = `transform ${duration} ${ease}`;\n if (open && document.body.style.overflow !== 'hidden') {\n document.body.style.overflow = 'hidden';\n if (right) {\n document.body.style.position = 'relative';\n document.body.style.width = `calc(100% - ${right}px)`;\n this.dom.style.transition = 'none';\n switch (placement) {\n case 'right':\n this.dom.style.transform = `translateX(-${right}px)`;\n this.dom.style.msTransform = `translateX(-${right}px)`;\n break;\n case 'top':\n case 'bottom':\n this.dom.style.width = `calc(100% - ${right}px)`;\n this.dom.style.transform = 'translateZ(0)';\n break;\n default:\n break;\n }\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.dom.style.transition = `${trannsformTransition},${widthTransition}`;\n this.dom.style.width = '';\n this.dom.style.transform = '';\n this.dom.style.msTransform = '';\n });\n }\n // 手机禁滚\n domArray.forEach((item, i) => {\n if (!item) {\n return;\n }\n addEventListener(\n item,\n eventArray[i] || 'touchmove',\n i ? this.removeMoveHandler : this.removeStartHandler,\n this.passive,\n );\n });\n } else if (this.getCurrentDrawerSome()) {\n document.body.style.overflow = '';\n if ((this.isOpenChange || openTransition) && right) {\n document.body.style.position = '';\n document.body.style.width = '';\n if (transitionStr) {\n document.body.style.overflowX = 'hidden';\n }\n this.dom.style.transition = 'none';\n let heightTransition;\n switch (placement) {\n case 'right': {\n this.dom.style.transform = `translateX(${right}px)`;\n this.dom.style.msTransform = `translateX(${right}px)`;\n this.dom.style.width = '100%';\n widthTransition = `width 0s ${ease} ${duration}`;\n if (this.maskDom) {\n this.maskDom.style.left = `-${right}px`;\n this.maskDom.style.width = `calc(100% + ${right}px)`;\n }\n break;\n }\n case 'top':\n case 'bottom': {\n this.dom.style.width = `calc(100% + ${right}px)`;\n this.dom.style.height = '100%';\n this.dom.style.transform = 'translateZ(0)';\n heightTransition = `height 0s ${ease} ${duration}`;\n break;\n }\n default:\n break;\n }\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.dom.style.transition = `${trannsformTransition},${\n heightTransition ? `${heightTransition},` : ''\n }${widthTransition}`;\n this.dom.style.transform = '';\n this.dom.style.msTransform = '';\n this.dom.style.width = '';\n this.dom.style.height = '';\n });\n }\n domArray.forEach((item, i) => {\n if (!item) {\n return;\n }\n removeEventListener(\n item,\n eventArray[i] || 'touchmove',\n i ? this.removeMoveHandler : this.removeStartHandler,\n this.passive,\n );\n });\n }\n }\n }\n const { change } = getListeners(this);\n if (change && this.isOpenChange && this.sFirstEnter) {\n change(open);\n this.isOpenChange = false;\n }\n },\n getChildToRender(open) {\n const {\n className,\n prefixCls,\n placement,\n handler,\n showMask,\n maskStyle,\n width,\n height,\n wrapStyle,\n keyboard,\n maskClosable,\n } = this.$props;\n const children = this.$slots.default;\n const wrapperClassname = classnames(prefixCls, {\n [`${prefixCls}-${placement}`]: true,\n [`${prefixCls}-open`]: open,\n [className]: !!className,\n 'no-mask': !showMask,\n });\n const isOpenChange = this.isOpenChange;\n const isHorizontal = placement === 'left' || placement === 'right';\n const placementName = `translate${isHorizontal ? 'X' : 'Y'}`;\n // 百分比与像素动画不同步,第一次打用后全用像素动画。\n // const defaultValue = !this.contentDom || !level ? '100%' : `${value}px`;\n const placementPos = placement === 'left' || placement === 'top' ? '-100%' : '100%';\n const transform = open ? '' : `${placementName}(${placementPos})`;\n if (isOpenChange === undefined || isOpenChange) {\n const contentValue = this.contentDom\n ? this.contentDom.getBoundingClientRect()[isHorizontal ? 'width' : 'height']\n : 0;\n const value = (isHorizontal ? width : height) || contentValue;\n this.setLevelDomTransform(open, false, placementName, value);\n }\n let handlerChildren;\n if (handler !== false) {\n const handlerDefalut = (\n <div class=\"drawer-handle\">\n <i class=\"drawer-handle-icon\" />\n </div>\n );\n const { handler: handlerSlot } = this;\n const handlerSlotVnode = (handlerSlot && handlerSlot[0]) || handlerDefalut;\n const { click: handleIconClick } = getEvents(handlerSlotVnode);\n handlerChildren = cloneElement(handlerSlotVnode, {\n on: {\n click: e => {\n handleIconClick && handleIconClick();\n this.onIconTouchEnd(e);\n },\n },\n directives: [\n {\n name: 'ant-ref',\n value: c => {\n this.handlerdom = c;\n },\n },\n ],\n });\n }\n const domContProps = {\n class: wrapperClassname,\n directives: [\n {\n name: 'ant-ref',\n value: c => {\n this.dom = c;\n },\n },\n ],\n on: {\n transitionend: this.onWrapperTransitionEnd,\n keydown: open && keyboard ? this.onKeyDown : noop,\n },\n style: wrapStyle,\n };\n const directivesMaskDom = [\n {\n name: 'ant-ref',\n value: c => {\n this.maskDom = c;\n },\n },\n ];\n const directivesContentWrapper = [\n {\n name: 'ant-ref',\n value: c => {\n this.contentWrapper = c;\n },\n },\n ];\n const directivesContentDom = [\n {\n name: 'ant-ref',\n value: c => {\n this.contentDom = c;\n },\n },\n ];\n return (\n <div {...domContProps} tabIndex={-1}>\n {showMask && (\n <div\n key={open} // 第二次渲染时虚拟DOM没有改变,没有出发dom更新,使用key强制更新 https://github.com/vueComponent/ant-design-vue/issues/2407\n class={`${prefixCls}-mask`}\n onClick={maskClosable ? this.onMaskTouchEnd : noop}\n style={maskStyle}\n {...{ directives: directivesMaskDom }}\n />\n )}\n <div\n class={`${prefixCls}-content-wrapper`}\n style={{\n transform,\n msTransform: transform,\n width: isNumeric(width) ? `${width}px` : width,\n height: isNumeric(height) ? `${height}px` : height,\n }}\n {...{ directives: directivesContentWrapper }}\n >\n <div\n class={`${prefixCls}-content`}\n {...{ directives: directivesContentDom }}\n onTouchstart={open ? this.removeStartHandler : noop} // 跑用例用\n onTouchmove={open ? this.removeMoveHandler : noop} // 跑用例用\n >\n {children}\n </div>\n {handlerChildren}\n </div>\n </div>\n );\n },\n getOpen() {\n return this.open !== undefined ? this.open : this.sOpen;\n },\n getTouchParentScroll(root, currentTarget, differX, differY) {\n if (!currentTarget || currentTarget === document) {\n return false;\n }\n // root 为 drawer-content 设定了 overflow, 判断为 root 的 parent 时结束滚动;\n if (currentTarget === root.parentNode) {\n return true;\n }\n\n const isY = Math.max(Math.abs(differX), Math.abs(differY)) === Math.abs(differY);\n const isX = Math.max(Math.abs(differX), Math.abs(differY)) === Math.abs(differX);\n\n const scrollY = currentTarget.scrollHeight - currentTarget.clientHeight;\n const scrollX = currentTarget.scrollWidth - currentTarget.clientWidth;\n /**\n * <div style=\"height: 300px\">\n * <div style=\"height: 900px\"></div>\n * </div>\n * 在没设定 overflow: auto 或 scroll 时,currentTarget 里获取不到 scrollTop 或 scrollLeft,\n * 预先用 scrollTo 来滚动,如果取出的值跟滚动前取出不同,则 currnetTarget 被设定了 overflow; 否则就是上面这种。\n */\n const t = currentTarget.scrollTop;\n const l = currentTarget.scrollLeft;\n if (currentTarget.scrollTo) {\n currentTarget.scrollTo(currentTarget.scrollLeft + 1, currentTarget.scrollTop + 1);\n }\n const currentT = currentTarget.scrollTop;\n const currentL = currentTarget.scrollLeft;\n if (currentTarget.scrollTo) {\n currentTarget.scrollTo(currentTarget.scrollLeft - 1, currentTarget.scrollTop - 1);\n }\n if (\n (isY &&\n (!scrollY ||\n !(currentT - t) ||\n (scrollY &&\n ((currentTarget.scrollTop >= scrollY && differY < 0) ||\n (currentTarget.scrollTop <= 0 && differY > 0))))) ||\n (isX &&\n (!scrollX ||\n !(currentL - l) ||\n (scrollX &&\n ((currentTarget.scrollLeft >= scrollX && differX < 0) ||\n (currentTarget.scrollLeft <= 0 && differX > 0)))))\n ) {\n return this.getTouchParentScroll(root, currentTarget.parentNode, differX, differY);\n }\n return false;\n },\n removeStartHandler(e) {\n if (e.touches.length > 1) {\n return;\n }\n this.startPos = {\n x: e.touches[0].clientX,\n y: e.touches[0].clientY,\n };\n },\n removeMoveHandler(e) {\n if (e.changedTouches.length > 1) {\n return;\n }\n const currentTarget = e.currentTarget;\n const differX = e.changedTouches[0].clientX - this.startPos.x;\n const differY = e.changedTouches[0].clientY - this.startPos.y;\n if (\n currentTarget === this.maskDom ||\n currentTarget === this.handlerdom ||\n (currentTarget === this.contentDom &&\n this.getTouchParentScroll(currentTarget, e.target, differX, differY))\n ) {\n e.preventDefault();\n }\n },\n trnasitionEnd(e) {\n removeEventListener(e.target, transitionEnd, this.trnasitionEnd);\n e.target.style.transition = '';\n },\n defaultGetContainer() {\n if (windowIsUndefined) {\n return null;\n }\n const container = document.createElement('div');\n this.parent.appendChild(container);\n if (this.wrapperClassName) {\n container.className = this.wrapperClassName;\n }\n return container;\n },\n },\n\n render() {\n const { getContainer, wrapperClassName, handler, forceRender } = this.$props;\n const open = this.getOpen();\n let portal = null;\n currentDrawer[this.drawerId] = open ? this.container : open;\n const children = this.getChildToRender(this.sFirstEnter ? open : false);\n if (!getContainer) {\n const directives = [\n {\n name: 'ant-ref',\n value: c => {\n this.container = c;\n },\n },\n ];\n return (\n <div class={wrapperClassName} {...{ directives }}>\n {children}\n </div>\n );\n }\n if (!this.container || (!open && !this.sFirstEnter)) {\n return null;\n }\n // 如果有 handler 为内置强制渲染;\n const $forceRender = !!handler || forceRender;\n if ($forceRender || open || this.dom) {\n portal = <Portal getContainer={this.getSelfContainer} children={children}></Portal>;\n }\n return portal;\n },\n};\n\nexport default Drawer;\n","import PropTypes from '../../_util/vue-types';\n\nconst IProps = {\n width: PropTypes.any,\n height: PropTypes.any,\n defaultOpen: PropTypes.bool,\n firstEnter: PropTypes.bool,\n open: PropTypes.bool,\n prefixCls: PropTypes.string,\n placement: PropTypes.string,\n level: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n levelMove: PropTypes.oneOfType([PropTypes.number, PropTypes.func, PropTypes.array]),\n ease: PropTypes.string,\n duration: PropTypes.string,\n handler: PropTypes.any,\n showMask: PropTypes.bool,\n maskStyle: PropTypes.object,\n className: PropTypes.string,\n wrapStyle: PropTypes.object,\n maskClosable: PropTypes.bool,\n afterVisibleChange: PropTypes.func,\n keyboard: PropTypes.bool,\n};\n\nconst IDrawerProps = {\n ...IProps,\n wrapperClassName: PropTypes.string,\n forceRender: PropTypes.bool,\n getContainer: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.object,\n PropTypes.bool,\n ]),\n};\n\nconst IDrawerChildProps = {\n ...IProps,\n getContainer: PropTypes.func,\n getOpenCount: PropTypes.func,\n switchScrollingEffect: PropTypes.func,\n};\n\nexport { IDrawerProps, IDrawerChildProps };\n","// base in 1.7.7\n// export this package's api\nimport Drawer from './Drawer';\n\nexport default Drawer;\n","export function dataToArray(vars) {\n if (Array.isArray(vars)) {\n return vars;\n }\n return [vars];\n}\nconst transitionEndObject = {\n transition: 'transitionend',\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd otransitionend',\n};\nexport const transitionStr = Object.keys(transitionEndObject).filter(key => {\n if (typeof document === 'undefined') {\n return false;\n }\n const html = document.getElementsByTagName('html')[0];\n return key in (html ? html.style : {});\n})[0];\nexport const transitionEnd = transitionEndObject[transitionStr];\n\nexport function addEventListener(target, eventType, callback, options) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, options);\n } else if (target.attachEvent) {\n target.attachEvent(`on${eventType}`, callback);\n }\n}\n\nexport function removeEventListener(target, eventType, callback, options) {\n if (target.removeEventListener) {\n target.removeEventListener(eventType, callback, options);\n } else if (target.attachEvent) {\n target.detachEvent(`on${eventType}`, callback);\n }\n}\n\nexport function transformArguments(arg, cb) {\n let result;\n if (typeof arg === 'function') {\n result = arg(cb);\n } else {\n result = arg;\n }\n if (Array.isArray(result)) {\n if (result.length === 2) {\n return result;\n }\n return [result[0], result[1]];\n }\n return [result];\n}\n\nexport const isNumeric = value => {\n return !isNaN(parseFloat(value)) && isFinite(value); // eslint-disable-line\n};\n\nexport const windowIsUndefined = !(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nexport const getTouchParentScroll = (root, currentTarget, differX, differY) => {\n if (!currentTarget || currentTarget === document || currentTarget instanceof Document) {\n return false;\n }\n // root 为 drawer-content 设定了 overflow, 判断为 root 的 parent 时结束滚动;\n if (currentTarget === root.parentNode) {\n return true;\n }\n\n const isY = Math.max(Math.abs(differX), Math.abs(differY)) === Math.abs(differY);\n const isX = Math.max(Math.abs(differX), Math.abs(differY)) === Math.abs(differX);\n\n const scrollY = currentTarget.scrollHeight - currentTarget.clientHeight;\n const scrollX = currentTarget.scrollWidth - currentTarget.clientWidth;\n\n const style = document.defaultView.getComputedStyle(currentTarget);\n const overflowY = style.overflowY === 'auto' || style.overflowY === 'scroll';\n const overflowX = style.overflowX === 'auto' || style.overflowX === 'scroll';\n\n const y = scrollY && overflowY;\n const x = scrollX && overflowX;\n\n if (\n (isY &&\n (!y ||\n (y &&\n ((currentTarget.scrollTop >= scrollY && differY < 0) ||\n (currentTarget.scrollTop <= 0 && differY > 0))))) ||\n (isX &&\n (!x ||\n (x &&\n ((currentTarget.scrollLeft >= scrollX && scrollX < 0) ||\n (currentTarget.scrollLeft <= 0 && scrollX > 0)))))\n ) {\n return getTouchParentScroll(root, currentTarget.parentNode, differX, differY);\n }\n return false;\n};\n","import PropTypes from '../../_util/vue-types';\nimport Trigger from '../../vc-trigger';\nimport placements from './placements';\nimport { hasProp, getEvents, getOptionProps } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { cloneElement } from '../../_util/vnode';\n\nexport default {\n mixins: [BaseMixin],\n props: {\n minOverlayWidthMatchTrigger: PropTypes.bool,\n prefixCls: PropTypes.string.def('rc-dropdown'),\n transitionName: PropTypes.string,\n overlayClassName: PropTypes.string.def(''),\n openClassName: PropTypes.string,\n animation: PropTypes.any,\n align: PropTypes.object,\n overlayStyle: PropTypes.object.def(() => ({})),\n placement: PropTypes.string.def('bottomLeft'),\n overlay: PropTypes.any,\n trigger: PropTypes.array.def(['hover']),\n alignPoint: PropTypes.bool,\n showAction: PropTypes.array.def([]),\n hideAction: PropTypes.array.def([]),\n getPopupContainer: PropTypes.func,\n visible: PropTypes.bool,\n defaultVisible: PropTypes.bool.def(false),\n mouseEnterDelay: PropTypes.number.def(0.15),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n },\n data() {\n let sVisible = this.defaultVisible;\n if (hasProp(this, 'visible')) {\n sVisible = this.visible;\n }\n return {\n sVisible,\n };\n },\n watch: {\n visible(val) {\n if (val !== undefined) {\n this.setState({\n sVisible: val,\n });\n }\n },\n },\n methods: {\n onClick(e) {\n // do no call onVisibleChange, if you need click to hide, use onClick and control visible\n if (!hasProp(this, 'visible')) {\n this.setState({\n sVisible: false,\n });\n }\n this.$emit('overlayClick', e);\n if (this.childOriginEvents.click) {\n this.childOriginEvents.click(e);\n }\n },\n\n onVisibleChange(visible) {\n if (!hasProp(this, 'visible')) {\n this.setState({\n sVisible: visible,\n });\n }\n this.__emit('visibleChange', visible);\n },\n\n getMinOverlayWidthMatchTrigger() {\n const props = getOptionProps(this);\n const { minOverlayWidthMatchTrigger, alignPoint } = props;\n if ('minOverlayWidthMatchTrigger' in props) {\n return minOverlayWidthMatchTrigger;\n }\n\n return !alignPoint;\n },\n\n getOverlayElement() {\n const overlay = this.overlay || this.$slots.overlay || this.$scopedSlots.overlay;\n let overlayElement;\n if (typeof overlay === 'function') {\n overlayElement = overlay();\n } else {\n overlayElement = overlay;\n }\n return overlayElement;\n },\n\n getMenuElement() {\n const { onClick, prefixCls, $slots } = this;\n this.childOriginEvents = getEvents($slots.overlay[0]);\n const overlayElement = this.getOverlayElement();\n const extraOverlayProps = {\n props: {\n prefixCls: `${prefixCls}-menu`,\n getPopupContainer: () => this.getPopupDomNode(),\n },\n on: {\n click: onClick,\n },\n };\n if (typeof overlayElement.type === 'string') {\n delete extraOverlayProps.props.prefixCls;\n }\n return cloneElement($slots.overlay[0], extraOverlayProps);\n },\n\n getMenuElementOrLambda() {\n const overlay = this.overlay || this.$slots.overlay || this.$scopedSlots.overlay;\n if (typeof overlay === 'function') {\n return this.getMenuElement;\n }\n return this.getMenuElement();\n },\n\n getPopupDomNode() {\n return this.$refs.trigger.getPopupDomNode();\n },\n\n getOpenClassName() {\n const { openClassName, prefixCls } = this.$props;\n if (openClassName !== undefined) {\n return openClassName;\n }\n return `${prefixCls}-open`;\n },\n\n afterVisibleChange(visible) {\n if (visible && this.getMinOverlayWidthMatchTrigger()) {\n const overlayNode = this.getPopupDomNode();\n const rootNode = this.$el;\n if (rootNode && overlayNode && rootNode.offsetWidth > overlayNode.offsetWidth) {\n overlayNode.style.minWidth = `${rootNode.offsetWidth}px`;\n if (\n this.$refs.trigger &&\n this.$refs.trigger._component &&\n this.$refs.trigger._component.$refs &&\n this.$refs.trigger._component.$refs.alignInstance\n ) {\n this.$refs.trigger._component.$refs.alignInstance.forceAlign();\n }\n }\n }\n },\n\n renderChildren() {\n const children = this.$slots.default && this.$slots.default[0];\n const { sVisible } = this;\n return sVisible && children\n ? cloneElement(children, { class: this.getOpenClassName() })\n : children;\n },\n },\n\n render() {\n const {\n prefixCls,\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 let triggerHideAction = hideAction;\n if (!triggerHideAction && trigger.indexOf('contextmenu') !== -1) {\n triggerHideAction = ['click'];\n }\n\n const triggerProps = {\n props: {\n ...otherProps,\n prefixCls,\n popupClassName: overlayClassName,\n popupStyle: overlayStyle,\n builtinPlacements: placements,\n action: trigger,\n showAction,\n hideAction: triggerHideAction || [],\n popupPlacement: placement,\n popupAlign: align,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupVisible: this.sVisible,\n afterPopupVisibleChange: this.afterVisibleChange,\n getPopupContainer,\n },\n on: {\n popupVisibleChange: this.onVisibleChange,\n },\n ref: 'trigger',\n };\n return (\n <Trigger {...triggerProps}>\n {this.renderChildren()}\n <template slot=\"popup\">{this.$slots.overlay && this.getMenuElement()}</template>\n </Trigger>\n );\n },\n};\n","// base in 2.4.1\nimport Dropdown from './Dropdown';\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', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n topCenter: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n bottomCenter: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n};\n\nexport default placements;\n","import AsyncValidator from 'async-validator';\nimport warning from 'warning';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport eq from 'lodash/eq';\nimport omit from 'lodash/omit';\nimport createFieldsStore from './createFieldsStore';\nimport { cloneElement } from '../../_util/vnode';\nimport BaseMixin from '../../_util/BaseMixin';\nimport {\n getOptionProps,\n getEvents,\n slotHasProp,\n getComponentName,\n getListeners,\n} from '../../_util/props-util';\nimport PropTypes from '../../_util/vue-types';\n\nimport {\n argumentContainer,\n identity,\n normalizeValidateRules,\n getValidateTriggers,\n getValueFromEvent,\n hasRules,\n getParams,\n isEmptyObject,\n flattenArray,\n} from './utils';\n\nconst DEFAULT_TRIGGER = 'change';\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 name: formName,\n props = {},\n templateContext,\n } = option;\n return function decorate(WrappedComponent) {\n let formProps = {};\n if (Array.isArray(props)) {\n props.forEach(prop => {\n formProps[prop] = PropTypes.any;\n });\n } else {\n formProps = props;\n }\n const Form = {\n mixins: [BaseMixin, ...mixins],\n props: {\n ...formProps,\n wrappedComponentRef: PropTypes.func.def(() => {}),\n },\n data() {\n const fields = mapPropsToFields && mapPropsToFields(this.$props);\n this.fieldsStore = createFieldsStore(fields || {});\n this.templateContext = templateContext;\n this.instances = {};\n this.cachedBind = {};\n this.clearedFieldMetaCache = {};\n this.formItems = {};\n this.renderFields = {};\n this.domFields = {};\n\n // HACK: https://github.com/ant-design/ant-design/issues/6406\n [\n 'getFieldsValue',\n 'getFieldValue',\n 'setFieldsInitialValue',\n 'getFieldsError',\n 'getFieldError',\n 'isFieldValidating',\n 'isFieldsValidating',\n 'isFieldsTouched',\n 'isFieldTouched',\n ].forEach(key => {\n this[key] = (...args) => {\n return this.fieldsStore[key](...args);\n };\n });\n\n return {\n submitting: false,\n };\n },\n watch: templateContext\n ? {}\n : {\n $props: {\n handler(nextProps) {\n if (mapPropsToFields) {\n this.fieldsStore.updateFields(mapPropsToFields(nextProps));\n }\n },\n deep: true,\n },\n },\n mounted() {\n this.cleanUpUselessFields();\n },\n updated() {\n // form updated add for template v-decorator\n this.cleanUpUselessFields();\n },\n methods: {\n updateFields(fields = {}) {\n this.fieldsStore.updateFields(mapPropsToFields(fields));\n if (templateContext) {\n templateContext.$forceUpdate();\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\n ? fieldMeta.getValueFromEvent(...args)\n : 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(\n {\n [formPropName]: this.getForm(),\n ...this.$props,\n },\n set({}, name, value),\n valuesAllSet,\n );\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 this.fieldsStore.setFieldsAsDirty();\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.fieldsStore.setFieldsAsDirty();\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] || cache[action].oriFn !== fn) {\n cache[action] = {\n fn: fn.bind(this, name, action),\n oriFn: fn,\n };\n }\n return cache[action].fn;\n },\n\n getFieldDecorator(name, fieldOption, formItem) {\n const { props, ...restProps } = this.getFieldProps(name, fieldOption);\n this.formItems[name] = formItem;\n return fieldElem => {\n // We should put field in record if it is rendered\n this.renderFields[name] = true;\n\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n const originalProps = getOptionProps(fieldElem);\n const originalEvents = getEvents(fieldElem);\n if (process.env.NODE_ENV !== 'production') {\n const valuePropName = fieldMeta.valuePropName;\n warning(\n !slotHasProp(fieldElem, valuePropName),\n `\\`getFieldDecorator\\` will override \\`${valuePropName}\\`, ` +\n `so please don't set \\`${valuePropName} and v-model\\` directly ` +\n `and use \\`setFieldsValue\\` to set it.`,\n );\n warning(\n !(\n !slotHasProp(fieldElem, valuePropName) &&\n valuePropName in originalProps &&\n !(fieldOption && 'initialValue' in fieldOption)\n ),\n `${getComponentName(\n fieldElem.componentOptions,\n )} \\`default value\\` can not collect, ` +\n ` please use \\`option.initialValue\\` to set default value.`,\n );\n const defaultValuePropName = `default${valuePropName[0].toUpperCase()}${valuePropName.slice(\n 1,\n )}`;\n warning(\n !slotHasProp(fieldElem, defaultValuePropName),\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.data && fieldElem.data.ref\n const newProps = {\n props: {\n ...props,\n ...this.fieldsStore.getFieldValuePropValue(fieldMeta),\n },\n ...restProps,\n };\n newProps.domProps.value = newProps.props.value;\n const newEvents = {};\n Object.keys(newProps.on).forEach(key => {\n if (originalEvents[key]) {\n const triggerEvents = newProps.on[key];\n newEvents[key] = (...args) => {\n originalEvents[key](...args);\n triggerEvents(...args);\n };\n } else {\n newEvents[key] = newProps.on[key];\n }\n });\n return cloneElement(fieldElem, { ...newProps, on: newEvents });\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\\`. Check field: ${name}`,\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 { rules, trigger, validateTrigger = trigger, validate } = 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: name,\n };\n const inputListeners = {};\n const inputAttrs = {};\n if (fieldNameProp) {\n inputProps[fieldNameProp] = formName ? `${formName}_${name}` : name;\n }\n\n const validateRules = normalizeValidateRules(validate, rules, validateTrigger);\n const validateTriggers = getValidateTriggers(validateRules);\n validateTriggers.forEach(action => {\n if (inputListeners[action]) return;\n inputListeners[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 inputListeners[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 inputAttrs[fieldMetaProp] = meta;\n }\n\n if (fieldDataProp) {\n inputAttrs[fieldDataProp] = this.fieldsStore.getField(name);\n }\n // This field is rendered, record it\n this.renderFields[name] = true;\n return {\n props: omit(inputProps, ['id']),\n // id: inputProps.id,\n domProps: {\n value: inputProps.value,\n },\n attrs: {\n ...inputAttrs,\n id: inputProps.id,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.getCacheBind(name, `${name}__ref`, this.saveRef),\n },\n ],\n on: inputListeners,\n };\n },\n\n getFieldInstance(name) {\n return this.instances[name];\n },\n\n getRules(fieldMeta, action) {\n const actionRules = fieldMeta.validate\n .filter(item => {\n return !action || item.trigger.indexOf(action) >= 0;\n })\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 const changedFields = Object.keys(fields).reduce(\n (acc, name) => set(acc, name, this.fieldsStore.getField(name)),\n {},\n );\n if (onFieldsChange) {\n const changedFields = Object.keys(fields).reduce(\n (acc, name) => set(acc, name, this.fieldsStore.getField(name)),\n {},\n );\n onFieldsChange(this, changedFields, this.fieldsStore.getNestedAllFields());\n }\n const formContext = templateContext || this;\n let allUpdate = false;\n Object.keys(changedFields).forEach(key => {\n let formItem = this.formItems[key];\n formItem = typeof formItem === 'function' ? formItem() : formItem;\n if (formItem && formItem.itemSelfUpdate) {\n formItem.$forceUpdate();\n } else {\n allUpdate = true;\n }\n });\n if (allUpdate) {\n formContext.$forceUpdate();\n }\n this.$nextTick(() => {\n callback && callback();\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(\n {\n [formPropName]: this.getForm(),\n ...this.$props,\n },\n changedValues,\n allValues,\n );\n }\n },\n\n saveRef(name, _, component) {\n if (!component) {\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n if (!fieldMeta.preserve) {\n // after destroy, delete data\n this.clearedFieldMetaCache[name] = {\n field: this.fieldsStore.getField(name),\n meta: fieldMeta,\n };\n this.clearField(name);\n }\n delete this.domFields[name];\n return;\n }\n this.domFields[name] = true;\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 cleanUpUselessFields() {\n const fieldList = this.fieldsStore.getAllFieldsName();\n const removedList = fieldList.filter(field => {\n const fieldMeta = this.fieldsStore.getFieldMeta(field);\n return !this.renderFields[field] && !this.domFields[field] && !fieldMeta.preserve;\n });\n if (removedList.length) {\n removedList.forEach(this.clearField);\n }\n this.renderFields = {};\n },\n\n clearField(name) {\n this.fieldsStore.clearField(name);\n delete this.instances[name];\n delete this.cachedBind[name];\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 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 validateFieldsInternal(fields, { fieldNames, action, options = {} }, 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(\n isEmptyObject(alreadyErrors) ? null : alreadyErrors,\n this.fieldsStore.getFieldsValue(fieldNames),\n );\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 errorFieldName = e.field;\n let fieldName = errorFieldName;\n\n // Handle using array validation rule.\n // ref: https://github.com/ant-design/ant-design/issues/14275\n Object.keys(allRules).some(ruleFieldName => {\n const rules = allRules[ruleFieldName] || [];\n\n // Exist if match rule\n if (ruleFieldName === errorFieldName) {\n fieldName = ruleFieldName;\n return true;\n }\n\n // Skip if not match array type\n if (\n rules.every(({ type }) => type !== 'array') &&\n errorFieldName.indexOf(ruleFieldName) !== 0\n ) {\n return false;\n }\n\n // Exist if match the field name\n const restPath = errorFieldName.slice(ruleFieldName.length + 1);\n if (/^\\d+$/.test(restPath)) {\n fieldName = ruleFieldName;\n return true;\n }\n\n return false;\n });\n\n const field = get(errorsGroup, fieldName);\n if (typeof field !== 'object' || Array.isArray(field)) {\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 (!eq(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 {\n message: `${name} need to revalidate`,\n field: name,\n },\n ];\n set(errorsGroup, name, {\n expired: true,\n errors: fieldErrors,\n });\n });\n }\n\n callback(\n isEmptyObject(errorsGroup) ? null : errorsGroup,\n this.fieldsStore.getFieldsValue(fieldNames),\n );\n }\n });\n },\n\n validateFields(ns, opt, cb) {\n const pending = new Promise((resolve, reject) => {\n const { names, options } = getParams(ns, opt, cb);\n let { callback } = getParams(ns, opt, cb);\n if (!callback || typeof callback === 'function') {\n const oldCb = callback;\n callback = (errors, values) => {\n if (oldCb) {\n oldCb(errors, values);\n } else if (errors) {\n reject({ errors, values });\n } else {\n resolve(values);\n }\n };\n }\n const fieldNames = names\n ? this.fieldsStore.getValidFieldsFullName(names)\n : this.fieldsStore.getValidFieldsName();\n const fields = fieldNames\n .filter(name => {\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n return hasRules(fieldMeta.validate);\n })\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 callback(null, this.fieldsStore.getFieldsValue(fieldNames));\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(\n fields,\n {\n fieldNames,\n options,\n },\n callback,\n );\n });\n pending.catch(e => {\n if (console.error && process.env.NODE_ENV !== 'production') {\n console.error(e);\n }\n return e;\n });\n return pending;\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.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\n render() {\n const { $slots, $scopedSlots } = this;\n const formProps = {\n [formPropName]: this.getForm(),\n };\n const { wrappedComponentRef, ...restProps } = getOptionProps(this);\n const wrappedComponentProps = {\n props: mapProps.call(this, {\n ...formProps,\n ...restProps,\n }),\n on: getListeners(this),\n ref: 'WrappedComponent',\n directives: [\n {\n name: 'ant-ref',\n value: wrappedComponentRef,\n },\n ],\n };\n if (Object.keys($scopedSlots).length) {\n wrappedComponentProps.scopedSlots = $scopedSlots;\n }\n const slotsKey = Object.keys($slots);\n return WrappedComponent ? (\n <WrappedComponent {...wrappedComponentProps}>\n {slotsKey.length\n ? slotsKey.map(name => {\n return <template slot={name}>{$slots[name]}</template>;\n })\n : null}\n </WrappedComponent>\n ) : null;\n },\n };\n if (!WrappedComponent) return Form;\n if (Array.isArray(WrappedComponent.props)) {\n const newProps = {};\n WrappedComponent.props.forEach(prop => {\n newProps[prop] = PropTypes.any;\n });\n newProps[formPropName] = Object;\n WrappedComponent.props = newProps;\n } else {\n WrappedComponent.props = WrappedComponent.props || {};\n if (!(formPropName in WrappedComponent.props)) {\n WrappedComponent.props[formPropName] = Object;\n }\n }\n return argumentContainer(Form, WrappedComponent);\n };\n}\n\nexport default createBaseForm;\n","import 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 : // Otherwise, we are in IE and use currentStyle\n el.currentStyle;\n if (style) {\n return style[\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 methods: {\n getForm() {\n return {\n ...formMixin.methods.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) => {\n if (error) {\n const validNames = this.fieldsStore.getValidFieldsName();\n let firstNode;\n let firstTop;\n validNames.forEach(name => {\n if (has(error, name)) {\n const instance = this.getFieldInstance(name);\n if (instance) {\n const node = instance.$el || instance.elm;\n const top = node.getBoundingClientRect().top;\n if (node.type !== 'hidden' && (firstTop === undefined || firstTop > top)) {\n firstTop = top;\n firstNode = node;\n }\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);\n }\n };\n\n return this.validateFields(names, options, newCb);\n },\n },\n};\n\nfunction createDOMForm(option) {\n return createBaseForm(\n {\n ...option,\n },\n [mixin],\n );\n}\n\nexport default createDOMForm;\n","import set from 'lodash/set';\nimport createFormField, { isFormField } from './createFormField';\nimport { hasRules, flattenFields, getErrorStrs, startsWith } from './utils';\n\nfunction partOf(a, b) {\n return b.indexOf(a) === 0 && ['.', '['].indexOf(b[a.length]) !== -1;\n}\n\nfunction internalFlattenFields(fields) {\n return flattenFields(\n fields,\n (_, node) => isFormField(node),\n 'You must wrap field data with `createFormField`.',\n );\n}\n\nclass FieldsStore {\n constructor(fields) {\n this.fields = internalFlattenFields(fields);\n this.fieldsMeta = {};\n }\n\n updateFields(fields) {\n this.fields = internalFlattenFields(fields);\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 a form field before rendering a field associated with the value. You can use \\`getFieldDecorator(id, options)\\` instead \\`v-decorator=\"[id, options]\"\\` to register it before render.`,\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).forEach(f => {\n nowValues[f] = this.getValueFromFields(f, nowFields);\n });\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 = fieldMeta.normalize(\n value,\n this.getValueFromFields(f, this.fields),\n nowValues,\n );\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 ? this.getValidFieldsFullName(ns) : 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 setFieldsAsDirty() {\n Object.keys(this.fields).forEach(name => {\n const field = this.fields[name];\n const fieldMeta = this.fieldsMeta[name];\n if (field && fieldMeta && hasRules(fieldMeta.validate)) {\n this.fields[name] = {\n ...field,\n dirty: true,\n };\n }\n });\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).reduce(\n (acc, name) => set(acc, name, this.getValueFromFields(name, fields)),\n {},\n );\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\n : [maybePartialName];\n return this.getValidFieldsName().filter(fullName =>\n maybePartialNames.some(\n 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 ? 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 const fieldsName = this.getValidFieldsName();\n return fieldsName\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).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.reduce(\n (acc, fullName) => set(acc, fullName.slice(suffixNameStartIndex), getter(fullName)),\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(name, fullName =>\n 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\nexport default function createFieldsStore(fields) {\n return new FieldsStore(fields);\n}\n","import createBaseForm from './createBaseForm';\n\nexport const mixin = {\n methods: {\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 };\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","import warning from 'warning';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.name || 'WrappedComponent';\n}\n\nexport function argumentContainer(Container, WrappedComponent) {\n /* eslint no-param-reassign:0 */\n Container.name = `Form_${getDisplayName(WrappedComponent)}`;\n Container.WrappedComponent = WrappedComponent;\n Container.props = { ...Container.props, ...WrappedComponent.props };\n return Container;\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 || tree === null) {\n // Do nothing\n } else if (Array.isArray(tree)) {\n tree.forEach((subTree, index) =>\n treeTraverse(`${path}[${index}]`, subTree, isLeafNode, errorMessage, callback),\n );\n } else {\n // It's object and not a leaf node\n if (typeof tree !== 'object') {\n warning(false, 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 PropTypes from '../../_util/vue-types';\nimport Touchable from '../../vc-m-feedback';\nimport { getListeners } from '../../_util/props-util';\n\nconst InputHandler = {\n name: 'InputHandler',\n props: {\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n },\n render() {\n const { prefixCls, disabled } = this.$props;\n const touchableProps = {\n props: {\n disabled,\n activeClassName: `${prefixCls}-handler-active`,\n },\n on: getListeners(this),\n };\n return (\n <Touchable {...touchableProps}>\n <span>{this.$slots.default}</span>\n </Touchable>\n );\n },\n};\n\nexport default InputHandler;\n","// based on rc-input-number 4.5.5\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { initDefaultProps, hasProp, getOptionProps, getListeners } from '../../_util/props-util';\nimport classNames from 'classnames';\nimport KeyCode from '../../_util/KeyCode';\nimport InputHandler from './InputHandler';\n\nfunction noop() {}\n\nfunction preventDefault(e) {\n e.preventDefault();\n}\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\nconst isValidProps = value => value !== undefined && value !== null;\n\nconst isEqual = (oldValue, newValue) =>\n newValue === oldValue ||\n (typeof newValue === 'number' &&\n typeof oldValue === 'number' &&\n isNaN(newValue) &&\n isNaN(oldValue));\n\nconst inputNumberProps = {\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\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.oneOfType([PropTypes.string, PropTypes.number]),\n placeholder: 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([PropTypes.number, PropTypes.string]),\n upHandler: PropTypes.any,\n downHandler: PropTypes.any,\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 decimalSeparator: PropTypes.string,\n autoComplete: PropTypes.string,\n title: PropTypes.string,\n name: PropTypes.string,\n id: PropTypes.string,\n};\n\nexport default {\n name: 'VCInputNumber',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(inputNumberProps, {\n focusOnUpDown: true,\n useTouch: false,\n prefixCls: 'rc-input-number',\n min: -MAX_SAFE_INTEGER,\n step: 1,\n parser: defaultParser,\n required: false,\n autoComplete: 'off',\n }),\n data() {\n const props = getOptionProps(this);\n this.prevProps = { ...props };\n let value;\n if ('value' in props) {\n value = this.value;\n } else {\n value = this.defaultValue;\n }\n const validValue = this.getValidValue(this.toNumber(value));\n return {\n inputValue: this.toPrecisionAsStep(validValue),\n sValue: validValue,\n focused: this.autoFocus,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus && !this.disabled) {\n this.focus();\n }\n this.updatedFunc();\n });\n },\n updated() {\n const { value, max, min } = this.$props;\n const { focused } = this.$data;\n const { prevProps } = this;\n const props = getOptionProps(this);\n // Don't trigger in componentDidMount\n if (prevProps) {\n if (\n !isEqual(prevProps.value, value) ||\n !isEqual(prevProps.max, max) ||\n !isEqual(prevProps.min, min)\n ) {\n const validValue = focused ? value : this.getValidValue(value);\n let nextInputValue;\n if (this.pressingUpOrDown) {\n nextInputValue = validValue;\n } else if (this.inputting) {\n nextInputValue = this.rawInput;\n } else {\n nextInputValue = this.toPrecisionAsStep(validValue);\n }\n this.setState({\n // eslint-disable-line\n sValue: validValue,\n inputValue: nextInputValue,\n });\n }\n\n // Trigger onChange when max or min change\n // https://github.com/ant-design/ant-design/issues/11574\n const nextValue = 'value' in props ? value : this.sValue;\n // ref: null < 20 === true\n // https://github.com/ant-design/ant-design/issues/14277\n if (\n 'max' in props &&\n prevProps.max !== max &&\n typeof nextValue === 'number' &&\n nextValue > max\n ) {\n this.$emit('change', max);\n }\n if (\n 'min' in props &&\n prevProps.min !== min &&\n typeof nextValue === 'number' &&\n nextValue < min\n ) {\n this.$emit('change', min);\n }\n }\n this.prevProps = { ...props };\n this.$nextTick(() => {\n this.updatedFunc();\n });\n },\n beforeDestroy() {\n this.stop();\n },\n methods: {\n updatedFunc() {\n const inputElem = this.$refs.inputRef;\n // Restore cursor\n try {\n // Firefox set the input cursor after it get focused.\n // This caused that if an input didn't init with the selection,\n // set will cause cursor not correct when first focus.\n // Safari will focus input if set selection. We need skip this.\n if (this.cursorStart !== undefined && this.focused) {\n // In most cases, the string after cursor is stable.\n // We can move the cursor before it\n\n if (\n // If not match full str, try to match part of str\n !this.partRestoreByAfter(this.cursorAfter) &&\n this.sValue !== this.value\n ) {\n // If not match any of then, let's just keep the position\n // TODO: Logic should not reach here, need check if happens\n let pos = this.cursorStart + 1;\n\n // If not have last string, just position to the end\n if (!this.cursorAfter) {\n pos = inputElem.value.length;\n } else if (this.lastKeyCode === KeyCode.BACKSPACE) {\n pos = this.cursorStart - 1;\n } else if (this.lastKeyCode === KeyCode.DELETE) {\n pos = this.cursorStart;\n }\n this.fixCaret(pos, pos);\n } else if (this.currentValue === inputElem.value) {\n // Handle some special key code\n switch (this.lastKeyCode) {\n case KeyCode.BACKSPACE:\n this.fixCaret(this.cursorStart - 1, this.cursorStart - 1);\n break;\n case KeyCode.DELETE:\n this.fixCaret(this.cursorStart + 1, this.cursorStart + 1);\n break;\n default:\n // Do nothing\n }\n }\n }\n } catch (e) {\n // Do nothing\n }\n // Reset last key\n this.lastKeyCode = null;\n\n // pressingUpOrDown is true means that someone just click up or down button\n if (!this.pressingUpOrDown) {\n return;\n }\n if (this.focusOnUpDown && this.focused) {\n if (document.activeElement !== inputElem) {\n this.focus();\n }\n }\n\n this.pressingUpOrDown = false;\n },\n onKeyDown(e, ...args) {\n if (e.keyCode === KeyCode.UP) {\n const ratio = this.getRatio(e);\n this.up(e, ratio);\n this.stop();\n } else if (e.keyCode === KeyCode.DOWN) {\n const ratio = this.getRatio(e);\n this.down(e, ratio);\n this.stop();\n } else if (e.keyCode === KeyCode.ENTER) {\n this.$emit('pressEnter', e);\n }\n // Trigger user key down\n this.recordCursorPosition();\n this.lastKeyCode = e.keyCode;\n this.$emit('keydown', e, ...args);\n },\n onKeyUp(e, ...args) {\n this.stop();\n\n this.recordCursorPosition();\n\n this.$emit('keyup', e, ...args);\n },\n onChange(e) {\n if (this.focused) {\n this.inputting = true;\n }\n this.rawInput = this.parser(this.getValueFromEvent(e));\n this.setState({ inputValue: this.rawInput });\n this.$emit('change', this.toNumber(this.rawInput)); // valid number or invalid string\n },\n onFocus(...args) {\n this.setState({\n focused: true,\n });\n this.$emit('focus', ...args);\n },\n onBlur(...args) {\n this.inputting = false;\n this.setState({\n focused: false,\n });\n const value = this.getCurrentValidValue(this.inputValue);\n const newValue = this.setValue(value);\n if (this.$listeners.blur) {\n const originValue = this.$refs.inputRef.value;\n const inputValue = this.getInputDisplayValue({ focused: false, sValue: newValue });\n this.$refs.inputRef.value = inputValue;\n this.$emit('blur', ...args);\n this.$refs.inputRef.value = originValue;\n }\n },\n getCurrentValidValue(value) {\n let val = value;\n if (val === '') {\n val = '';\n } else if (!this.isNotCompleteNumber(parseFloat(val, 10))) {\n val = this.getValidValue(val);\n } else {\n val = this.sValue;\n }\n return this.toNumber(val);\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 getValueFromEvent(e) {\n // optimize for chinese input expierence\n // https://github.com/ant-design/ant-design/issues/8196\n let value = e.target.value.trim().replace(/。/g, '.');\n\n if (isValidProps(this.decimalSeparator)) {\n value = value.replace(this.decimalSeparator, '.');\n }\n\n return value;\n },\n getValidValue(value, min = this.min, max = this.max) {\n let val = parseFloat(value, 10);\n // https://github.com/ant-design/ant-design/issues/7358\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 setValue(v, callback) {\n // trigger onChange\n const { precision } = this.$props;\n const newValue = this.isNotCompleteNumber(parseFloat(v, 10)) ? null : parseFloat(v, 10);\n const { sValue: value = null, inputValue = null } = this.$data;\n // https://github.com/ant-design/ant-design/issues/7363\n // https://github.com/ant-design/ant-design/issues/16622\n const newValueInString =\n typeof newValue === 'number' ? newValue.toFixed(precision) : `${newValue}`;\n const changed = newValue !== value || newValueInString !== `${inputValue}`;\n if (!hasProp(this, 'value')) {\n this.setState(\n {\n sValue: newValue,\n inputValue: this.toPrecisionAsStep(v),\n },\n callback,\n );\n } else {\n // always set input value same as value\n this.setState(\n {\n inputValue: this.toPrecisionAsStep(this.sValue),\n },\n callback,\n );\n }\n if (changed) {\n this.$emit('change', newValue);\n }\n return newValue;\n },\n getPrecision(value) {\n if (isValidProps(this.precision)) {\n return this.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 // 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 (isValidProps(this.precision)) {\n return this.precision;\n }\n const { step } = this;\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 getPrecisionFactor(currentValue, ratio = 1) {\n const precision = this.getMaxPrecision(currentValue, ratio);\n return Math.pow(10, precision);\n },\n getInputDisplayValue(state) {\n const { focused, inputValue, sValue } = state || this.$data;\n let inputDisplayValue;\n if (focused) {\n inputDisplayValue = inputValue;\n } else {\n inputDisplayValue = this.toPrecisionAsStep(sValue);\n }\n\n if (inputDisplayValue === undefined || inputDisplayValue === null) {\n inputDisplayValue = '';\n }\n\n let inputDisplayValueFormat = this.formatWrapper(inputDisplayValue);\n if (isValidProps(this.$props.decimalSeparator)) {\n inputDisplayValueFormat = inputDisplayValueFormat\n .toString()\n .replace('.', this.$props.decimalSeparator);\n }\n\n return inputDisplayValueFormat;\n },\n recordCursorPosition() {\n // Record position\n try {\n const inputElem = this.$refs.inputRef;\n this.cursorStart = inputElem.selectionStart;\n this.cursorEnd = inputElem.selectionEnd;\n this.currentValue = inputElem.value;\n this.cursorBefore = inputElem.value.substring(0, this.cursorStart);\n this.cursorAfter = inputElem.value.substring(this.cursorEnd);\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 fixCaret(start, end) {\n if (\n start === undefined ||\n end === undefined ||\n !this.$refs.inputRef ||\n !this.$refs.inputRef.value\n ) {\n return;\n }\n\n try {\n const inputElem = this.$refs.inputRef;\n const currentStart = inputElem.selectionStart;\n const currentEnd = inputElem.selectionEnd;\n\n if (start !== currentStart || end !== currentEnd) {\n inputElem.setSelectionRange(start, end);\n }\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 restoreByAfter(str) {\n if (str === undefined) return false;\n\n const fullStr = this.$refs.inputRef.value;\n const index = fullStr.lastIndexOf(str);\n\n if (index === -1) return false;\n\n const prevCursorPos = this.cursorBefore.length;\n if (\n this.lastKeyCode === KeyCode.DELETE &&\n this.cursorBefore.charAt(prevCursorPos - 1) === str[0]\n ) {\n this.fixCaret(prevCursorPos, prevCursorPos);\n return true;\n }\n if (index + str.length === fullStr.length) {\n this.fixCaret(index, index);\n\n return true;\n }\n return false;\n },\n partRestoreByAfter(str) {\n if (str === undefined) return false;\n\n // For loop from full str to the str with last char to map. e.g. 123\n // -> 123\n // -> 23\n // -> 3\n return Array.prototype.some.call(str, (_, start) => {\n const partStr = str.substring(start);\n\n return this.restoreByAfter(partStr);\n });\n },\n focus() {\n this.$refs.inputRef.focus();\n this.recordCursorPosition();\n },\n blur() {\n this.$refs.inputRef.blur();\n },\n formatWrapper(num) {\n // http://2ality.com/2012/03/signedzero.html\n // https://github.com/ant-design/ant-design/issues/9439\n if (this.formatter) {\n return this.formatter(num);\n }\n return num;\n },\n toPrecisionAsStep(num) {\n if (this.isNotCompleteNumber(num) || num === '') {\n return num;\n }\n const precision = Math.abs(this.getMaxPrecision(num));\n if (!isNaN(precision)) {\n return Number(num).toFixed(precision);\n }\n return num.toString();\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 toNumber(num) {\n const { precision, autoFocus } = this.$props;\n const { focused = autoFocus } = this;\n // num.length > 16 => This is to prevent input of large numbers\n const numberIsTooLarge = num && num.length > 16 && focused;\n if (this.isNotCompleteNumber(num) || numberIsTooLarge) {\n return num;\n }\n if (isValidProps(precision)) {\n return Math.round(num * Math.pow(10, precision)) / Math.pow(10, precision);\n }\n return Number(num);\n },\n upStep(val, rat) {\n const { step } = this;\n const precisionFactor = this.getPrecisionFactor(val, rat);\n const precision = Math.abs(this.getMaxPrecision(val, rat));\n const result = (\n (precisionFactor * val + precisionFactor * step * rat) /\n precisionFactor\n ).toFixed(precision);\n return this.toNumber(result);\n },\n downStep(val, rat) {\n const { step } = this;\n const precisionFactor = this.getPrecisionFactor(val, rat);\n const precision = Math.abs(this.getMaxPrecision(val, rat));\n const result = (\n (precisionFactor * val - precisionFactor * step * rat) /\n precisionFactor\n ).toFixed(precision);\n return this.toNumber(result);\n },\n stepFn(type, e, ratio = 1, recursive) {\n this.stop();\n if (e) {\n // e.persist()\n e.preventDefault();\n }\n if (this.disabled) {\n return;\n }\n const { max, min } = this;\n const value = this.getCurrentValidValue(this.inputValue) || 0;\n if (this.isNotCompleteNumber(value)) {\n return;\n }\n let val = this[`${type}Step`](value, ratio);\n const outOfRange = val > max || val < min;\n if (val > max) {\n val = max;\n } else if (val < min) {\n val = min;\n }\n this.setValue(val);\n this.setState({\n focused: true,\n });\n if (outOfRange) {\n return;\n }\n this.autoStepTimer = setTimeout(\n () => {\n this[type](e, ratio, true);\n },\n recursive ? SPEED : DELAY,\n );\n },\n stop() {\n if (this.autoStepTimer) {\n clearTimeout(this.autoStepTimer);\n }\n },\n down(e, ratio, recursive) {\n this.pressingUpOrDown = true;\n this.stepFn('down', e, ratio, recursive);\n },\n up(e, ratio, recursive) {\n this.pressingUpOrDown = true;\n this.stepFn('up', e, ratio, recursive);\n },\n handleInputClick() {\n this.$emit('click');\n },\n },\n render() {\n const {\n prefixCls,\n disabled,\n readOnly,\n useTouch,\n autoComplete,\n upHandler,\n downHandler,\n } = this.$props;\n const classes = classNames({\n [prefixCls]: true,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-focused`]: this.focused,\n });\n let upDisabledClass = '';\n let downDisabledClass = '';\n const { sValue } = this;\n if (sValue || sValue === 0) {\n if (!isNaN(sValue)) {\n const val = Number(sValue);\n if (val >= this.max) {\n upDisabledClass = `${prefixCls}-handler-up-disabled`;\n }\n if (val <= this.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\n const editable = !this.readOnly && !this.disabled;\n\n // focus state, show input value\n // unfocus state, show valid value\n const inputDisplayValue = this.getInputDisplayValue();\n\n let upEvents;\n let downEvents;\n if (useTouch) {\n upEvents = {\n touchstart: editable && !upDisabledClass ? this.up : noop,\n touchend: this.stop,\n };\n downEvents = {\n touchstart: editable && !downDisabledClass ? this.down : noop,\n touchend: this.stop,\n };\n } else {\n upEvents = {\n mousedown: editable && !upDisabledClass ? this.up : noop,\n mouseup: this.stop,\n mouseleave: this.stop,\n };\n downEvents = {\n mousedown: editable && !downDisabledClass ? this.down : noop,\n mouseup: this.stop,\n mouseleave: this.stop,\n };\n }\n const isUpDisabled = !!upDisabledClass || disabled || readOnly;\n const isDownDisabled = !!downDisabledClass || disabled || readOnly;\n const {\n mouseenter = noop,\n mouseleave = noop,\n mouseover = noop,\n mouseout = noop,\n } = getListeners(this);\n const contentProps = {\n on: { mouseenter, mouseleave, mouseover, mouseout },\n class: classes,\n attrs: { title: this.$props.title },\n };\n const upHandlerProps = {\n props: {\n disabled: isUpDisabled,\n prefixCls,\n },\n attrs: {\n unselectable: 'unselectable',\n role: 'button',\n 'aria-label': 'Increase Value',\n 'aria-disabled': !!isUpDisabled,\n },\n class: `${prefixCls}-handler ${prefixCls}-handler-up ${upDisabledClass}`,\n on: upEvents,\n ref: 'up',\n };\n const downHandlerProps = {\n props: {\n disabled: isDownDisabled,\n prefixCls,\n },\n attrs: {\n unselectable: 'unselectable',\n role: 'button',\n 'aria-label': 'Decrease Value',\n 'aria-disabled': !!isDownDisabled,\n },\n class: `${prefixCls}-handler ${prefixCls}-handler-down ${downDisabledClass}`,\n on: downEvents,\n ref: 'down',\n };\n // ref for test\n return (\n <div {...contentProps}>\n <div class={`${prefixCls}-handler-wrap`}>\n <InputHandler {...upHandlerProps}>\n {upHandler || (\n <span\n unselectable=\"unselectable\"\n class={`${prefixCls}-handler-up-inner`}\n onClick={preventDefault}\n />\n )}\n </InputHandler>\n <InputHandler {...downHandlerProps}>\n {downHandler || (\n <span\n unselectable=\"unselectable\"\n class={`${prefixCls}-handler-down-inner`}\n onClick={preventDefault}\n />\n )}\n </InputHandler>\n </div>\n <div class={`${prefixCls}-input-wrap`}>\n <input\n role=\"spinbutton\"\n aria-valuemin={this.min}\n aria-valuemax={this.max}\n aria-valuenow={sValue}\n required={this.required}\n type={this.type}\n placeholder={this.placeholder}\n onClick={this.handleInputClick}\n class={`${prefixCls}-input`}\n tabIndex={this.tabIndex}\n autoComplete={autoComplete}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onKeydown={editable ? this.onKeyDown : noop}\n onKeyup={editable ? this.onKeyUp : noop}\n readOnly={this.readOnly}\n disabled={this.disabled}\n max={this.max}\n min={this.min}\n step={this.step}\n name={this.name}\n title={this.title}\n id={this.id}\n onInput={this.onChange}\n ref=\"inputRef\"\n value={inputDisplayValue}\n pattern={this.pattern}\n />\n </div>\n </div>\n );\n },\n};\n","import LazyLoad from './src/LazyLoad';\nexport default LazyLoad;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport addEventListener from '../../vc-util/Dom/addEventListener';\nimport { initDefaultProps } from '../../_util/props-util';\nimport warning from '../../_util/warning';\nimport debounce from 'lodash/debounce';\nimport throttle from 'lodash/throttle';\nimport parentScroll from './utils/parentScroll';\nimport inViewport from './utils/inViewport';\n\nconst lazyLoadProps = {\n debounce: PropTypes.bool,\n elementType: PropTypes.string,\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n offset: PropTypes.number,\n offsetBottom: PropTypes.number,\n offsetHorizontal: PropTypes.number,\n offsetLeft: PropTypes.number,\n offsetRight: PropTypes.number,\n offsetTop: PropTypes.number,\n offsetVertical: PropTypes.number,\n threshold: PropTypes.number,\n throttle: PropTypes.number,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n _propsSymbol: PropTypes.any,\n};\n\nexport default {\n name: 'LazyLoad',\n mixins: [BaseMixin],\n props: initDefaultProps(lazyLoadProps, {\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 }),\n data() {\n if (this.throttle > 0) {\n if (this.debounce) {\n this.lazyLoadHandler = debounce(this.lazyLoadHandler, this.throttle);\n } else {\n this.lazyLoadHandler = throttle(this.lazyLoadHandler, this.throttle);\n }\n }\n return {\n visible: false,\n };\n },\n watch: {\n _propsSymbol() {\n if (!this.visible) {\n this.lazyLoadHandler();\n }\n },\n },\n mounted() {\n this.$nextTick(() => {\n this._mounted = true;\n const eventNode = this.getEventNode();\n\n this.lazyLoadHandler();\n\n if (this.lazyLoadHandler.flush) {\n this.lazyLoadHandler.flush();\n }\n this.resizeHander = addEventListener(window, 'resize', this.lazyLoadHandler);\n this.scrollHander = addEventListener(eventNode, 'scroll', this.lazyLoadHandler);\n });\n },\n beforeDestroy() {\n this._mounted = false;\n if (this.lazyLoadHandler.cancel) {\n this.lazyLoadHandler.cancel();\n }\n\n this.detachListeners();\n },\n methods: {\n getEventNode() {\n return parentScroll(this.$el);\n },\n getOffset() {\n const {\n offset,\n offsetVertical,\n offsetHorizontal,\n offsetTop,\n offsetBottom,\n offsetLeft,\n offsetRight,\n threshold,\n } = this.$props;\n\n const _offsetAll = threshold || offset;\n const _offsetVertical = offsetVertical || _offsetAll;\n const _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 lazyLoadHandler() {\n if (!this._mounted) {\n return;\n }\n const offset = this.getOffset();\n const node = this.$el;\n const eventNode = this.getEventNode();\n\n if (inViewport(node, eventNode, offset)) {\n this.setState({ visible: true }, () => {\n this.__emit('contentVisible');\n });\n this.detachListeners();\n }\n },\n detachListeners() {\n this.resizeHander && this.resizeHander.remove();\n this.scrollHander && this.scrollHander.remove();\n },\n },\n render(createElement) {\n const children = this.$slots.default;\n if (children.length !== 1) {\n warning(false, 'lazyLoad组件只能包含一个子元素');\n return null;\n }\n const { height, width, elementType } = this.$props;\n const { visible } = this;\n\n const elStyles = {\n height: typeof height === 'number' ? height + 'px' : height,\n width: typeof width === 'number' ? width + 'px' : width,\n };\n const elClasses = {\n LazyLoad: true,\n 'is-visible': visible,\n };\n\n return createElement(\n elementType,\n {\n class: elClasses,\n style: elStyles,\n },\n [visible ? children[0] : null],\n );\n },\n};\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 */\nexport default function getElementPosition(element) {\n const rect = element.getBoundingClientRect();\n\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset,\n };\n}\n","import getElementPosition from './getElementPosition';\n\nconst isHidden = element => element.offsetParent === null;\n\nexport default function inViewport(element, container, customOffset) {\n if (isHidden(element)) {\n return false;\n }\n\n let top;\n let bottom;\n let left;\n let right;\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 const containerPosition = getElementPosition(container);\n\n top = containerPosition.top;\n left = containerPosition.left;\n bottom = top + container.offsetHeight;\n right = left + container.offsetWidth;\n }\n\n const elementPosition = getElementPosition(element);\n\n return (\n top <= elementPosition.top + element.offsetHeight + customOffset.top &&\n bottom >= elementPosition.top - customOffset.bottom &&\n left <= elementPosition.left + element.offsetWidth + customOffset.left &&\n right >= elementPosition.left - customOffset.right\n );\n}\n","const style = (element, prop) => {\n let styleVal = '';\n if (typeof getComputedStyle !== 'undefined') {\n styleVal = window.getComputedStyle(element, null).getPropertyValue(prop);\n } else {\n styleVal = element.style[prop];\n }\n return styleVal;\n};\n\nconst overflow = element =>\n style(element, 'overflow') + style(element, 'overflow-y') + style(element, 'overflow-x');\n\nconst scrollParent = element => {\n if (!(element instanceof window.HTMLElement)) {\n return window;\n }\n\n let 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 if (/(scroll|auto)/.test(overflow(parent))) {\n return parent;\n }\n\n parent = parent.parentNode;\n }\n\n return window;\n};\n\nexport default scrollParent;\n","// based on 2.0.0\nimport TouchFeedback from './src/TouchFeedback';\nexport default TouchFeedback;\n","import PropTypes from '../../_util/vue-types';\n\nexport const ITouchProps = {\n disabled: PropTypes.bool,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.any,\n // onTouchStart: PropTypes.func,\n // onTouchEnd: PropTypes.func,\n // onTouchCancel: PropTypes.func,\n // onMouseDown: PropTypes.func,\n // onMouseUp: PropTypes.func,\n // onMouseLeave: PropTypes.func,\n};\n","import { initDefaultProps } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport warning from '../../_util/warning';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { ITouchProps } from './PropTypes';\n\nexport default {\n name: 'TouchFeedback',\n mixins: [BaseMixin],\n props: initDefaultProps(ITouchProps, {\n disabled: false,\n }),\n data() {\n return {\n active: false,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.disabled && this.active) {\n this.setState({\n active: false,\n });\n }\n });\n },\n methods: {\n triggerEvent(type, isActive, ev) {\n // 暂时仅有input-number用到,事件直接到挂载到Touchable上,不需要像antd那样从子组件触发\n this.$emit(type, ev);\n if (isActive !== this.active) {\n this.setState({\n active: isActive,\n });\n }\n },\n onTouchStart(e) {\n this.triggerEvent('touchstart', true, e);\n },\n onTouchMove(e) {\n this.triggerEvent('touchmove', false, e);\n },\n onTouchEnd(e) {\n this.triggerEvent('touchend', false, e);\n },\n onTouchCancel(e) {\n this.triggerEvent('touchcancel', false, e);\n },\n onMouseDown(e) {\n // pc simulate mobile\n this.triggerEvent('mousedown', true, e);\n },\n onMouseUp(e) {\n this.triggerEvent('mouseup', false, e);\n },\n onMouseLeave(e) {\n this.triggerEvent('mouseleave', false, e);\n },\n },\n render() {\n const { disabled, activeClassName = '', activeStyle = {} } = this.$props;\n\n const child = this.$slots.default;\n if (child.length !== 1) {\n warning(false, 'm-feedback组件只能包含一个子元素');\n return null;\n }\n let childProps = {\n on: disabled\n ? {}\n : {\n touchstart: this.onTouchStart,\n touchmove: this.onTouchMove,\n touchend: this.onTouchEnd,\n touchcancel: this.onTouchCancel,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n mouseleave: this.onMouseLeave,\n },\n };\n\n if (!disabled && this.active) {\n childProps = {\n ...childProps,\n ...{\n style: activeStyle,\n class: activeClassName,\n },\n };\n }\n\n return cloneElement(child, childProps);\n },\n};\n","import Mentions from './src/Mentions';\nimport Option from './src/Option';\n\nMentions.Option = Option;\n\nexport default Mentions;\n","import Menu, { MenuItem } from '../../vc-menu';\nimport PropTypes from '../../_util/vue-types';\nimport { OptionProps } from './Option';\n\nfunction noop() {}\nexport default {\n name: 'DropdownMenu',\n props: {\n prefixCls: PropTypes.string,\n options: PropTypes.arrayOf(OptionProps),\n },\n inject: {\n mentionsContext: { default: {} },\n },\n\n render() {\n const {\n notFoundContent,\n activeIndex,\n setActiveIndex,\n selectOption,\n onFocus = noop,\n onBlur = noop,\n } = this.mentionsContext;\n const { prefixCls, options } = this.$props;\n const activeOption = options[activeIndex] || {};\n\n return (\n <Menu\n {...{\n props: {\n prefixCls: `${prefixCls}-menu`,\n activeKey: activeOption.value,\n },\n on: {\n select: ({ key }) => {\n const option = options.find(({ value }) => value === key);\n selectOption(option);\n },\n focus: onFocus,\n blur: onBlur,\n },\n }}\n >\n {options.map((option, index) => {\n const { value, disabled, children } = option;\n return (\n <MenuItem\n key={value}\n disabled={disabled}\n onMouseenter={() => {\n setActiveIndex(index);\n }}\n >\n {children}\n </MenuItem>\n );\n })}\n {!options.length && <MenuItem disabled>{notFoundContent}</MenuItem>}\n </Menu>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport Trigger from '../../vc-trigger';\nimport DropdownMenu from './DropdownMenu';\nimport { OptionProps } from './Option';\nimport { PlaceMent } from './placement';\n\nconst BUILT_IN_PLACEMENTS = {\n bottomRight: {\n points: ['tl', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n topRight: {\n points: ['bl', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n};\n\nexport default {\n name: 'KeywordTrigger',\n props: {\n loading: PropTypes.bool,\n options: PropTypes.arrayOf(OptionProps),\n prefixCls: PropTypes.string,\n placement: PropTypes.oneOf(PlaceMent),\n visible: PropTypes.bool,\n transitionName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n },\n methods: {\n getDropdownPrefix() {\n return `${this.$props.prefixCls}-dropdown`;\n },\n getDropdownElement() {\n const { options } = this.$props;\n return <DropdownMenu prefixCls={this.getDropdownPrefix()} options={options} />;\n },\n },\n\n render() {\n const { visible, placement, transitionName, getPopupContainer } = this.$props;\n\n const { $slots } = this;\n\n const children = $slots.default;\n\n const popupElement = this.getDropdownElement();\n\n return (\n <Trigger\n prefixCls={this.getDropdownPrefix()}\n popupVisible={visible}\n popup={popupElement}\n popupPlacement={placement === 'top' ? 'topRight' : 'bottomRight'}\n popupTransitionName={transitionName}\n builtinPlacements={BUILT_IN_PLACEMENTS}\n getPopupContainer={getPopupContainer}\n >\n {children}\n </Trigger>\n );\n },\n};\n","import omit from 'omit.js';\nimport KeyCode from '../../_util/KeyCode';\nimport BaseMixin from '../../_util/BaseMixin';\nimport {\n getSlots,\n hasProp,\n getOptionProps,\n getListeners,\n initDefaultProps,\n} from '../../_util/props-util';\nimport warning from 'warning';\nimport {\n getBeforeSelectionText,\n getLastMeasureIndex,\n replaceWithMeasure,\n setInputSelection,\n} from './util';\nimport KeywordTrigger from './KeywordTrigger';\nimport { vcMentionsProps, defaultProps } from './mentionsProps';\n\nfunction noop() {}\n\nconst Mentions = {\n name: 'Mentions',\n mixins: [BaseMixin],\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(vcMentionsProps, defaultProps),\n provide() {\n return {\n mentionsContext: this,\n };\n },\n data() {\n const { value = '', defaultValue = '' } = this.$props;\n warning(this.$props.children, 'please children prop replace slots.default');\n return {\n _value: !hasProp(this, 'value') ? defaultValue : value,\n measuring: false,\n measureLocation: 0,\n measureText: null,\n measurePrefix: '',\n activeIndex: 0,\n isFocus: false,\n };\n },\n watch: {\n value(val) {\n this.$data._value = val;\n },\n },\n updated() {\n this.$nextTick(() => {\n const { measuring } = this.$data;\n\n // Sync measure div top with textarea for rc-trigger usage\n if (measuring) {\n this.$refs.measure.scrollTop = this.$refs.textarea.scrollTop;\n }\n });\n },\n methods: {\n triggerChange(value) {\n const props = getOptionProps(this);\n if (!('value' in props)) {\n this.setState({ _value: value });\n } else {\n this.$forceUpdate();\n }\n this.$emit('change', value);\n },\n onChange({ target: { value, composing }, isComposing }) {\n if (isComposing || composing) return;\n this.triggerChange(value);\n },\n onKeyDown(event) {\n const { which } = event;\n const { activeIndex, measuring } = this.$data;\n // Skip if not measuring\n if (!measuring) {\n return;\n }\n\n if (which === KeyCode.UP || which === KeyCode.DOWN) {\n // Control arrow function\n const optionLen = this.getOptions().length;\n const offset = which === KeyCode.UP ? -1 : 1;\n const newActiveIndex = (activeIndex + offset + optionLen) % optionLen;\n this.setState({\n activeIndex: newActiveIndex,\n });\n event.preventDefault();\n } else if (which === KeyCode.ESC) {\n this.stopMeasure();\n } else if (which === KeyCode.ENTER) {\n // Measure hit\n event.preventDefault();\n const options = this.getOptions();\n if (!options.length) {\n this.stopMeasure();\n return;\n }\n const option = options[activeIndex];\n this.selectOption(option);\n }\n },\n /**\n * When to start measure:\n * 1. When user press `prefix`\n * 2. When measureText !== prevMeasureText\n * - If measure hit\n * - If measuring\n *\n * When to stop measure:\n * 1. Selection is out of range\n * 2. Contains `space`\n * 3. ESC or select one\n */\n onKeyUp(event) {\n const { key, which } = event;\n const { measureText: prevMeasureText, measuring } = this.$data;\n const { prefix = '', validateSearch } = this.$props;\n const target = event.target;\n const selectionStartText = getBeforeSelectionText(target);\n const { location: measureIndex, prefix: measurePrefix } = getLastMeasureIndex(\n selectionStartText,\n prefix,\n );\n\n // Skip if match the white key list\n if ([KeyCode.ESC, KeyCode.UP, KeyCode.DOWN, KeyCode.ENTER].indexOf(which) !== -1) {\n return;\n }\n\n if (measureIndex !== -1) {\n const measureText = selectionStartText.slice(measureIndex + measurePrefix.length);\n const validateMeasure = validateSearch(measureText, this.$props);\n const matchOption = !!this.getOptions(measureText).length;\n\n if (validateMeasure) {\n if (\n key === measurePrefix ||\n measuring ||\n (measureText !== prevMeasureText && matchOption)\n ) {\n this.startMeasure(measureText, measurePrefix, measureIndex);\n }\n } else if (measuring) {\n // Stop if measureText is invalidate\n this.stopMeasure();\n }\n\n /**\n * We will trigger `onSearch` to developer since they may use for async update.\n * If met `space` means user finished searching.\n */\n if (validateMeasure) {\n this.$emit('search', measureText, measurePrefix);\n }\n } else if (measuring) {\n this.stopMeasure();\n }\n },\n onInputFocus(event) {\n this.onFocus(event);\n },\n onInputBlur(event) {\n this.onBlur(event);\n },\n onDropdownFocus() {\n this.onFocus();\n },\n onDropdownBlur() {\n this.onBlur();\n },\n onFocus(event) {\n window.clearTimeout(this.focusId);\n const { isFocus } = this.$data;\n if (!isFocus && event) {\n this.$emit('focus', event);\n }\n this.setState({ isFocus: true });\n },\n onBlur(event) {\n this.focusId = window.setTimeout(() => {\n this.setState({ isFocus: false });\n this.stopMeasure();\n this.$emit('blur', event);\n }, 0);\n },\n selectOption(option) {\n const { _value: value, measureLocation, measurePrefix } = this.$data;\n const { split } = this.$props;\n const { value: mentionValue = '' } = option;\n const { text, selectionLocation } = replaceWithMeasure(value, {\n measureLocation,\n targetText: mentionValue,\n prefix: measurePrefix,\n selectionStart: this.$refs.textarea.selectionStart,\n split,\n });\n this.triggerChange(text);\n this.stopMeasure(() => {\n // We need restore the selection position\n setInputSelection(this.$refs.textarea, selectionLocation);\n });\n\n this.$emit('select', option, measurePrefix);\n },\n setActiveIndex(activeIndex) {\n this.setState({\n activeIndex,\n });\n },\n getOptions(measureText) {\n const targetMeasureText = measureText || this.$data.measureText || '';\n const { filterOption, children = [] } = this.$props;\n const list = (Array.isArray(children) ? children : [children])\n .map(item => {\n const children = getSlots(item).default;\n return { ...getOptionProps(item), children };\n })\n .filter(option => {\n /** Return all result if `filterOption` is false. */\n if (filterOption === false) {\n return true;\n }\n return filterOption(targetMeasureText, option);\n });\n return list;\n },\n startMeasure(measureText, measurePrefix, measureLocation) {\n this.setState({\n measuring: true,\n measureText,\n measurePrefix,\n measureLocation,\n activeIndex: 0,\n });\n },\n stopMeasure(callback) {\n this.setState(\n {\n measuring: false,\n measureLocation: 0,\n measureText: null,\n },\n callback,\n );\n },\n focus() {\n this.$refs.textarea.focus();\n },\n blur() {\n this.$refs.textarea.blur();\n },\n },\n\n render() {\n const { _value: value, measureLocation, measurePrefix, measuring } = this.$data;\n const {\n prefixCls,\n placement,\n transitionName,\n autoFocus,\n notFoundContent,\n getPopupContainer,\n ...restProps\n } = getOptionProps(this);\n\n const inputProps = omit(restProps, [\n 'value',\n 'defaultValue',\n 'prefix',\n 'split',\n 'children',\n 'validateSearch',\n 'filterOption',\n ]);\n\n const options = measuring ? this.getOptions() : [];\n\n return (\n <div class={prefixCls}>\n <textarea\n ref=\"textarea\"\n {...{\n directives: [{ name: 'ant-input' }],\n attrs: { ...inputProps, ...this.$attrs },\n domProps: {\n value,\n },\n on: {\n ...getListeners(this),\n select: noop,\n change: noop,\n input: this.onChange,\n keydown: this.onKeyDown,\n keyup: this.onKeyUp,\n blur: this.onInputBlur,\n },\n }}\n />\n {measuring && (\n <div ref=\"measure\" class={`${prefixCls}-measure`}>\n {value.slice(0, measureLocation)}\n <KeywordTrigger\n prefixCls={prefixCls}\n transitionName={transitionName}\n placement={placement}\n options={options}\n visible\n getPopupContainer={getPopupContainer}\n >\n <span>{measurePrefix}</span>\n </KeywordTrigger>\n {value.slice(measureLocation + measurePrefix.length)}\n </div>\n )}\n </div>\n );\n },\n};\n\nexport default Mentions;\n","import PropTypes from '../../_util/vue-types';\n\nexport const OptionProps = {\n value: PropTypes.string,\n disabled: PropTypes.boolean,\n children: PropTypes.any,\n};\n\nexport default {\n name: 'Option',\n props: OptionProps,\n render() {\n return null;\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport { initDefaultProps } from '../../_util/props-util';\nimport {\n filterOption as defaultFilterOption,\n validateSearch as defaultValidateSearch,\n} from './util';\nimport { PlaceMent } from './placement';\n\nexport const mentionsProps = {\n autoFocus: PropTypes.bool,\n prefix: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n prefixCls: PropTypes.string,\n value: PropTypes.string,\n defaultValue: PropTypes.string,\n disabled: PropTypes.bool,\n notFoundContent: PropTypes.any,\n split: PropTypes.string,\n transitionName: PropTypes.string,\n placement: PropTypes.oneOf(PlaceMent),\n character: PropTypes.any,\n characterRender: PropTypes.func,\n filterOption: PropTypes.func,\n validateSearch: PropTypes.func,\n getPopupContainer: PropTypes.func,\n};\n\nexport const vcMentionsProps = {\n ...mentionsProps,\n children: PropTypes.any,\n};\n\nexport const defaultProps = {\n prefix: '@',\n split: ' ',\n validateSearch: defaultValidateSearch,\n filterOption: defaultFilterOption,\n};\n\nexport default initDefaultProps(vcMentionsProps, defaultProps);\n","export const PlaceMent = ['top', 'bottom'];\n","/**\n * Cut input selection into 2 part and return text before selection start\n */\nexport function getBeforeSelectionText(input) {\n const { selectionStart } = input;\n return input.value.slice(0, selectionStart);\n}\n\nfunction lower(char) {\n return (char || '').toLowerCase();\n}\n\n/**\n * Find the last match prefix index\n */\nexport function getLastMeasureIndex(text, prefix = '') {\n const prefixList = Array.isArray(prefix) ? prefix : [prefix];\n return prefixList.reduce(\n (lastMatch, prefixStr) => {\n const lastIndex = text.lastIndexOf(prefixStr);\n if (lastIndex > lastMatch.location) {\n return {\n location: lastIndex,\n prefix: prefixStr,\n };\n }\n return lastMatch;\n },\n { location: -1, prefix: '' },\n );\n}\n\nfunction reduceText(text, targetText, split) {\n const firstChar = text[0];\n if (!firstChar || firstChar === split) {\n return text;\n }\n\n // Reuse rest text as it can\n let restText = text;\n const targetTextLen = targetText.length;\n for (let i = 0; i < targetTextLen; i += 1) {\n if (lower(restText[i]) !== lower(targetText[i])) {\n restText = restText.slice(i);\n break;\n } else if (i === targetTextLen - 1) {\n restText = restText.slice(targetTextLen);\n }\n }\n\n return restText;\n}\n\n/**\n * Paint targetText into current text:\n * text: little@litest\n * targetText: light\n * => little @light test\n */\nexport function replaceWithMeasure(text, measureConfig) {\n const { measureLocation, prefix, targetText, selectionStart, split } = measureConfig;\n\n // Before text will append one space if have other text\n let beforeMeasureText = text.slice(0, measureLocation);\n if (beforeMeasureText[beforeMeasureText.length - split.length] === split) {\n beforeMeasureText = beforeMeasureText.slice(0, beforeMeasureText.length - split.length);\n }\n if (beforeMeasureText) {\n beforeMeasureText = `${beforeMeasureText}${split}`;\n }\n\n // Cut duplicate string with current targetText\n let restText = reduceText(\n text.slice(selectionStart),\n targetText.slice(selectionStart - measureLocation - prefix.length),\n split,\n );\n if (restText.slice(0, split.length) === split) {\n restText = restText.slice(split.length);\n }\n\n const connectedStartText = `${beforeMeasureText}${prefix}${targetText}${split}`;\n\n return {\n text: `${connectedStartText}${restText}`,\n selectionLocation: connectedStartText.length,\n };\n}\n\nexport function setInputSelection(input, location) {\n input.setSelectionRange(location, location);\n\n /**\n * Reset caret into view.\n * Since this function always called by user control, it's safe to focus element.\n */\n input.blur();\n input.focus();\n}\n\nexport function validateSearch(text = '', props = {}) {\n const { split } = props;\n return !split || text.indexOf(split) === -1;\n}\n\nexport function filterOption(input = '', { value = '' } = {}) {\n const lowerCase = input.toLowerCase();\n return value.toLowerCase().indexOf(lowerCase) !== -1;\n}\n","import PropTypes from '../_util/vue-types';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport SubMenu from './SubMenu';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getWidth, setStyle, menuAllProps } from './util';\nimport { cloneElement } from '../_util/vnode';\nimport { getClass, getPropsData, getEvents, getListeners } from '../_util/props-util';\n\nconst canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nconst MENUITEM_OVERFLOWED_CLASSNAME = 'menuitem-overflowed';\nconst FLOAT_PRECISION_ADJUST = 0.5;\n\n// Fix ssr\nif (canUseDOM) {\n require('mutationobserver-shim');\n}\n\nconst DOMWrap = {\n name: 'DOMWrap',\n mixins: [BaseMixin],\n data() {\n this.resizeObserver = null;\n this.mutationObserver = null;\n\n // original scroll size of the list\n this.originalTotalWidth = 0;\n\n // copy of overflowed items\n this.overflowedItems = [];\n\n // cache item of the original items (so we can track the size and order)\n this.menuItemSizes = [];\n return {\n lastVisibleIndex: undefined,\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n this.setChildrenWidthAndResize();\n if (this.level === 1 && this.mode === 'horizontal') {\n const menuUl = this.$el;\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\n beforeDestroy() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n },\n methods: {\n // get all valid menuItem nodes\n getMenuItemNodes() {\n const { prefixCls } = this.$props;\n const ul = this.$el;\n if (!ul) {\n return [];\n }\n\n // filter out all overflowed indicator placeholder\n return [].slice\n .call(ul.children)\n .filter(node => node.className.split(' ').indexOf(`${prefixCls}-overflowed-submenu`) < 0);\n },\n\n getOverflowedSubMenuItem(keyPrefix, overflowedItems, renderPlaceholder) {\n const { overflowedIndicator, level, mode, prefixCls, theme } = 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.$slots.default[0];\n const { title, ...rest } = getPropsData(copy); // eslint-disable-line no-unused-vars\n const events = getEvents(copy);\n let style = {};\n let key = `${keyPrefix}-overflowed-indicator`;\n let eventKey = `${keyPrefix}-overflowed-indicator`;\n\n if (overflowedItems.length === 0 && renderPlaceholder !== true) {\n style = {\n display: 'none',\n };\n } else if (renderPlaceholder) {\n style = {\n visibility: 'hidden',\n // prevent from taking normal dom space\n position: 'absolute',\n };\n key = `${key}-placeholder`;\n eventKey = `${eventKey}-placeholder`;\n }\n\n const popupClassName = theme ? `${prefixCls}-${theme}` : '';\n const props = {};\n const on = {};\n menuAllProps.props.forEach(k => {\n if (rest[k] !== undefined) {\n props[k] = rest[k];\n }\n });\n menuAllProps.on.forEach(k => {\n if (events[k] !== undefined) {\n on[k] = events[k];\n }\n });\n const subMenuProps = {\n props: {\n title: overflowedIndicator,\n popupClassName,\n ...props,\n eventKey,\n disabled: false,\n },\n class: `${prefixCls}-overflowed-submenu`,\n key,\n style,\n on,\n };\n\n return <SubMenu {...subMenuProps}>{overflowedItems}</SubMenu>;\n },\n\n // memorize rendered menuSize\n setChildrenWidthAndResize() {\n if (this.mode !== 'horizontal') {\n return;\n }\n const ul = this.$el;\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 handleResize() {\n if (this.mode !== 'horizontal') {\n return;\n }\n\n const ul = this.$el;\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;\n\n // float number comparison could be problematic\n // e.g. 0.1 + 0.2 > 0.3 =====> true\n // thus using FLOAT_PRECISION_ADJUST as buffer to help the situation\n if (this.originalTotalWidth > width + FLOAT_PRECISION_ADJUST) {\n lastVisibleIndex = -1;\n\n this.menuItemSizes.forEach(liWidth => {\n currentSumWidth += liWidth;\n if (currentSumWidth + this.overflowedIndicatorWidth <= width) {\n lastVisibleIndex += 1;\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.$data;\n const className = getClass(this);\n return (children || []).reduce((acc, childNode, index) => {\n let item = childNode;\n const eventKey = getPropsData(childNode).eventKey;\n if (this.mode === 'horizontal') {\n let overflowed = this.getOverflowedSubMenuItem(eventKey, []);\n if (lastVisibleIndex !== undefined && className[`${this.prefixCls}-root`] !== -1) {\n if (index > lastVisibleIndex) {\n item = cloneElement(\n childNode,\n // 这里修改 eventKey 是为了防止隐藏状态下还会触发 openkeys 事件\n {\n style: { display: 'none' },\n props: { eventKey: `${eventKey}-hidden` },\n class: 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 {\n key: getPropsData(c).eventKey,\n props: { mode: 'vertical-left' },\n },\n );\n });\n\n overflowed = this.getOverflowedSubMenuItem(eventKey, this.overflowedItems);\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(eventKey, [], true));\n }\n return ret;\n }\n return [...acc, item];\n }, []);\n },\n },\n\n render() {\n const Tag = this.$props.tag;\n const tagProps = {\n on: getListeners(this),\n };\n return <Tag {...tagProps}>{this.renderChildren(this.$slots.default)}</Tag>;\n },\n};\n\nDOMWrap.props = {\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 visible: PropTypes.bool,\n hiddenClassName: PropTypes.string,\n tag: PropTypes.string.def('div'),\n};\n\nexport default DOMWrap;\n","export default {\n name: 'MenuDivider',\n props: {\n disabled: {\n type: Boolean,\n default: true,\n },\n rootPrefixCls: String,\n },\n render() {\n const { rootPrefixCls } = this.$props;\n return <li class={`${rootPrefixCls}-item-divider`} />;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { Provider, create } from '../_util/store';\nimport { default as SubPopupMenu, getActiveKey } from './SubPopupMenu';\nimport BaseMixin from '../_util/BaseMixin';\nimport hasProp, {\n getOptionProps,\n getComponentFromProp,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport commonPropsType from './commonPropsType';\n\nconst Menu = {\n name: 'Menu',\n props: {\n ...commonPropsType,\n selectable: PropTypes.bool.def(true),\n },\n mixins: [BaseMixin],\n\n data() {\n const props = getOptionProps(this);\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: {\n '0-menu-': getActiveKey({ ...props, children: this.$slots.default || [] }, props.activeKey),\n },\n });\n\n // this.isRootMenu = true // 声明在props上\n return {};\n },\n mounted() {\n this.updateMiniStore();\n },\n updated() {\n this.updateMiniStore();\n },\n methods: {\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 (!hasProp(this, 'selectedKeys')) {\n this.store.setState({\n selectedKeys,\n });\n }\n this.__emit('select', {\n ...selectInfo,\n selectedKeys,\n });\n }\n },\n\n onClick(e) {\n this.__emit('click', e);\n },\n // onKeyDown needs to be exposed as a instance method\n // e.g., in rc-select, we need to navigate menu item while\n // current active item is rc-select input box rather than the menu itself\n onKeyDown(e, callback) {\n this.$refs.innerMenu.getWrappedInstance().onKeyDown(e, callback);\n },\n onOpenChange(event) {\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 (!hasProp(this, 'openKeys')) {\n this.store.setState({ openKeys });\n }\n this.__emit('openChange', 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 (!hasProp(this, 'selectedKeys')) {\n this.store.setState({\n selectedKeys,\n });\n }\n this.__emit('deselect', {\n ...selectInfo,\n selectedKeys,\n });\n }\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 updateMiniStore() {\n const props = getOptionProps(this);\n if ('selectedKeys' in props) {\n this.store.setState({\n selectedKeys: props.selectedKeys || [],\n });\n }\n if ('openKeys' in props) {\n this.store.setState({\n openKeys: props.openKeys || [],\n });\n }\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const subPopupMenuProps = {\n props: {\n ...props,\n itemIcon: getComponentFromProp(this, 'itemIcon', props),\n expandIcon: getComponentFromProp(this, 'expandIcon', props),\n overflowedIndicator: getComponentFromProp(this, 'overflowedIndicator', props) || (\n <span>···</span>\n ),\n openTransitionName: this.getOpenTransitionName(),\n parentMenu: this,\n children: filterEmpty(this.$slots.default || []),\n },\n class: `${props.prefixCls}-root`,\n on: {\n ...getListeners(this),\n click: this.onClick,\n openChange: this.onOpenChange,\n deselect: this.onDeselect,\n select: this.onSelect,\n },\n ref: 'innerMenu',\n };\n return (\n <Provider store={this.store}>\n <SubPopupMenu {...subPopupMenuProps} />\n </Provider>\n );\n },\n};\nexport default Menu;\n","import PropTypes from '../_util/vue-types';\nimport KeyCode from '../_util/KeyCode';\nimport BaseMixin from '../_util/BaseMixin';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport { connect } from '../_util/store';\nimport { noop, menuAllProps } from './util';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\n\nconst props = {\n attribute: PropTypes.object,\n rootPrefixCls: PropTypes.string,\n eventKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n active: PropTypes.bool,\n selectedKeys: PropTypes.array,\n disabled: PropTypes.bool,\n title: PropTypes.any,\n index: PropTypes.number,\n inlineIndent: PropTypes.number.def(24),\n level: PropTypes.number.def(1),\n mode: PropTypes.oneOf([\n 'horizontal',\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'inline',\n ]).def('vertical'),\n parentMenu: PropTypes.object,\n multiple: PropTypes.bool,\n value: PropTypes.any,\n isSelected: PropTypes.bool,\n manualRef: PropTypes.func.def(noop),\n role: PropTypes.any,\n subMenuKey: PropTypes.string,\n itemIcon: PropTypes.any,\n // clearSubMenuTimers: PropTypes.func.def(noop),\n};\nconst MenuItem = {\n name: 'MenuItem',\n props,\n mixins: [BaseMixin],\n isMenuItem: true,\n created() {\n this.prevActive = this.active;\n // invoke customized ref to expose component to mixin\n this.callRef();\n },\n updated() {\n this.$nextTick(() => {\n const { active, parentMenu, eventKey } = this.$props;\n if (!this.prevActive && active && (!parentMenu || !parentMenu[`scrolled-${eventKey}`])) {\n scrollIntoView(this.$el, this.parentMenu.$el, {\n onlyScrollIfNeeded: true,\n });\n parentMenu[`scrolled-${eventKey}`] = true;\n } else if (parentMenu && parentMenu[`scrolled-${eventKey}`]) {\n delete parentMenu[`scrolled-${eventKey}`];\n }\n this.prevActive = active;\n });\n this.callRef();\n },\n beforeDestroy() {\n const props = this.$props;\n this.__emit('destroy', props.eventKey);\n },\n methods: {\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 } = this.$props;\n this.__emit('itemHover', {\n key: eventKey,\n hover: false,\n });\n this.__emit('mouseleave', {\n key: eventKey,\n domEvent: e,\n });\n },\n\n onMouseEnter(e) {\n const { eventKey } = this;\n this.__emit('itemHover', {\n key: eventKey,\n hover: true,\n });\n this.__emit('mouseenter', {\n key: eventKey,\n domEvent: e,\n });\n },\n\n onClick(e) {\n const { eventKey, multiple, isSelected } = this.$props;\n const info = {\n key: eventKey,\n keyPath: [eventKey],\n item: this,\n domEvent: e,\n };\n\n this.__emit('click', info);\n if (multiple) {\n if (isSelected) {\n this.__emit('deselect', info);\n } else {\n this.__emit('select', info);\n }\n } else if (!isSelected) {\n this.__emit('select', 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 callRef() {\n if (this.manualRef) {\n this.manualRef(this);\n }\n },\n },\n\n render() {\n const props = { ...this.$props };\n const className = {\n [this.getPrefixCls()]: true,\n [this.getActiveClassName()]: !props.disabled && props.active,\n [this.getSelectedClassName()]: props.isSelected,\n [this.getDisabledClassName()]: props.disabled,\n };\n let attrs = {\n ...props.attribute,\n title: props.title,\n role: props.role || 'menuitem',\n 'aria-disabled': props.disabled,\n };\n if (props.role === 'option') {\n // overwrite to option\n attrs = {\n ...attrs,\n role: 'option',\n 'aria-selected': props.isSelected,\n };\n } else if (props.role === null || props.role === 'none') {\n // sometimes we want to specify role inside <li/> element\n // <li><a role='menuitem'>Link</a></li> would be a good example\n // in this case the role on <li/> should be \"none\" to\n // remove the implied listitem role.\n // https://www.w3.org/TR/wai-aria-practices-1.1/examples/menubar/menubar-1/menubar-1.html\n attrs.role = 'none';\n }\n // In case that onClick/onMouseLeave/onMouseEnter is passed down from owner\n const mouseEvent = {\n click: props.disabled ? noop : this.onClick,\n mouseleave: props.disabled ? noop : this.onMouseLeave,\n mouseenter: props.disabled ? noop : this.onMouseEnter,\n };\n\n const style = {};\n if (props.mode === 'inline') {\n style.paddingLeft = `${props.inlineIndent * props.level}px`;\n }\n const listeners = { ...getListeners(this) };\n menuAllProps.props.forEach(key => delete props[key]);\n menuAllProps.on.forEach(key => delete listeners[key]);\n const liProps = {\n attrs: {\n ...props,\n ...attrs,\n },\n on: {\n ...listeners,\n ...mouseEvent,\n },\n };\n return (\n <li {...liProps} style={style} class={className}>\n {this.$slots.default}\n {getComponentFromProp(this, 'itemIcon', props)}\n </li>\n );\n },\n};\n\nconst connected = connect(({ activeKey, selectedKeys }, { eventKey, subMenuKey }) => ({\n active: activeKey[subMenuKey] === eventKey,\n isSelected: selectedKeys.indexOf(eventKey) !== -1,\n}))(MenuItem);\n\nexport default connected;\nexport { props as menuItemProps };\n","import PropTypes from '../_util/vue-types';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\n\n// import { menuAllProps } from './util'\n\nconst MenuItemGroup = {\n name: 'MenuItemGroup',\n\n props: {\n renderMenuItem: PropTypes.func,\n index: PropTypes.number,\n className: PropTypes.string,\n subMenuKey: PropTypes.string,\n rootPrefixCls: PropTypes.string,\n disabled: PropTypes.bool.def(true),\n title: PropTypes.any,\n },\n isMenuItemGroup: true,\n methods: {\n renderInnerMenuItem(item) {\n const { renderMenuItem, index, subMenuKey } = this.$props;\n return renderMenuItem(item, index, subMenuKey);\n },\n },\n render() {\n const props = { ...this.$props };\n const { rootPrefixCls, title } = props;\n const titleClassName = `${rootPrefixCls}-item-group-title`;\n const listClassName = `${rootPrefixCls}-item-group-list`;\n // menuAllProps.props.forEach(key => delete props[key])\n const listeners = { ...getListeners(this) };\n delete listeners.click;\n\n return (\n <li {...{ on: listeners, class: `${rootPrefixCls}-item-group` }}>\n <div class={titleClassName} title={typeof title === 'string' ? title : undefined}>\n {getComponentFromProp(this, 'title')}\n </div>\n <ul class={listClassName}>\n {this.$slots.default && this.$slots.default.map(this.renderInnerMenuItem)}\n </ul>\n </li>\n );\n },\n};\n\nexport default MenuItemGroup;\n","import omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport Trigger from '../vc-trigger';\nimport KeyCode from '../_util/KeyCode';\nimport { connect } from '../_util/store';\nimport SubPopupMenu from './SubPopupMenu';\nimport placements from './placements';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getComponentFromProp, filterEmpty, getListeners } from '../_util/props-util';\nimport { requestAnimationTimeout, cancelAnimationTimeout } from '../_util/requestAnimationTimeout';\nimport { noop, loopMenuItemRecursively, getMenuIdFromSubMenuEventKey } from './util';\nimport getTransitionProps from '../_util/getTransitionProps';\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\nconst SubMenu = {\n name: 'SubMenu',\n props: {\n parentMenu: PropTypes.object,\n title: PropTypes.any,\n selectedKeys: PropTypes.array.def([]),\n openKeys: PropTypes.array.def([]),\n openChange: PropTypes.func.def(noop),\n rootPrefixCls: PropTypes.string,\n eventKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n multiple: PropTypes.bool,\n active: PropTypes.bool, // TODO: remove\n isRootMenu: PropTypes.bool.def(false),\n index: PropTypes.number,\n triggerSubMenuAction: PropTypes.string,\n popupClassName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n forceSubMenuRender: PropTypes.bool,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n disabled: PropTypes.bool,\n subMenuOpenDelay: PropTypes.number.def(0.1),\n subMenuCloseDelay: PropTypes.number.def(0.1),\n level: PropTypes.number.def(1),\n inlineIndent: PropTypes.number.def(24),\n openTransitionName: PropTypes.string,\n popupOffset: PropTypes.array,\n isOpen: PropTypes.bool,\n store: PropTypes.object,\n mode: PropTypes.oneOf([\n 'horizontal',\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'inline',\n ]).def('vertical'),\n manualRef: PropTypes.func.def(noop),\n builtinPlacements: PropTypes.object.def(() => ({})),\n itemIcon: PropTypes.any,\n expandIcon: PropTypes.any,\n subMenuKey: PropTypes.string,\n },\n mixins: [BaseMixin],\n isSubMenu: true,\n data() {\n const props = this.$props;\n const store = props.store;\n const eventKey = props.eventKey;\n const defaultActiveFirst = store.getState().defaultActiveFirst;\n let value = false;\n\n if (defaultActiveFirst) {\n value = defaultActiveFirst[eventKey];\n }\n\n updateDefaultActiveFirst(store, eventKey, value);\n return {\n // defaultActiveFirst: false,\n };\n },\n mounted() {\n this.$nextTick(() => {\n this.handleUpdated();\n });\n },\n\n updated() {\n this.$nextTick(() => {\n this.handleUpdated();\n });\n },\n\n beforeDestroy() {\n const { eventKey } = this;\n this.__emit('destroy', eventKey);\n\n /* istanbul ignore if */\n if (this.minWidthTimeout) {\n cancelAnimationTimeout(this.minWidthTimeout);\n this.minWidthTimeout = null;\n }\n\n /* istanbul ignore if */\n if (this.mouseenterTimeout) {\n cancelAnimationTimeout(this.mouseenterTimeout);\n this.mouseenterTimeout = null;\n }\n },\n methods: {\n handleUpdated() {\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.isOpen) {\n return;\n }\n\n this.minWidthTimeout = requestAnimationTimeout(() => this.adjustWidth(), 0);\n },\n\n onKeyDown(e) {\n const keyCode = e.keyCode;\n const menu = this.menuInstance;\n const { store, isOpen } = this.$props;\n\n if (keyCode === KeyCode.ENTER) {\n this.onTitleClick(e);\n updateDefaultActiveFirst(store, this.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.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 return undefined;\n },\n\n onPopupVisibleChange(visible) {\n this.triggerOpenChange(visible, visible ? 'mouseenter' : 'mouseleave');\n },\n\n onMouseEnter(e) {\n const { eventKey: key, store } = this.$props;\n updateDefaultActiveFirst(store, key, false);\n this.__emit('mouseenter', {\n key,\n domEvent: e,\n });\n },\n\n onMouseLeave(e) {\n const { eventKey, parentMenu } = this;\n parentMenu.subMenuInstance = this;\n // parentMenu.subMenuLeaveFn = () => {\n // // trigger mouseleave\n // this.__emit('mouseleave', {\n // key: eventKey,\n // domEvent: e,\n // })\n // }\n this.__emit('mouseleave', {\n key: eventKey,\n domEvent: e,\n });\n // prevent popup menu and submenu gap\n // parentMenu.subMenuLeaveTimer = setTimeout(parentMenu.subMenuLeaveFn, 100)\n },\n\n onTitleMouseEnter(domEvent) {\n const { eventKey: key } = this.$props;\n // this.clearSubMenuTitleLeaveTimer()\n this.__emit('itemHover', {\n key,\n hover: true,\n });\n this.__emit('titleMouseenter', {\n key,\n domEvent,\n });\n },\n\n onTitleMouseLeave(e) {\n const { eventKey, parentMenu } = this;\n parentMenu.subMenuInstance = this;\n this.__emit('itemHover', {\n key: eventKey,\n hover: false,\n });\n this.__emit('titleMouseleave', {\n key: eventKey,\n domEvent: e,\n });\n },\n\n onTitleClick(e) {\n const { triggerSubMenuAction, eventKey, isOpen, store } = this.$props;\n this.__emit('titleClick', {\n key: eventKey,\n domEvent: e,\n });\n if (triggerSubMenuAction === 'hover') {\n return;\n }\n this.triggerOpenChange(!isOpen, 'click');\n updateDefaultActiveFirst(store, eventKey, false);\n },\n\n onSubMenuClick(info) {\n this.__emit('click', this.addKeyPath(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 // this.__emit('openChange', {\n // key,\n // item: this,\n // trigger: type,\n // open,\n // })\n // },\n triggerOpenChange(open, type) {\n const key = this.$props.eventKey;\n const openChange = () => {\n this.__emit('openChange', {\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 = requestAnimationTimeout(() => {\n openChange();\n }, 0);\n } else {\n openChange();\n }\n },\n\n isChildrenSelected() {\n const ret = { find: false };\n loopMenuItemRecursively(this.$slots.default, this.$props.selectedKeys, ret);\n return ret.find;\n },\n // isOpen () {\n // return this.$props.openKeys.indexOf(this.$props.eventKey) !== -1\n // },\n\n adjustWidth() {\n /* istanbul ignore if */\n if (!this.$refs.subMenuTitle || !this.menuInstance) {\n return;\n }\n const popupMenu = this.menuInstance.$el;\n if (popupMenu.offsetWidth >= this.$refs.subMenuTitle.offsetWidth) {\n return;\n }\n\n /* istanbul ignore next */\n popupMenu.style.minWidth = `${this.$refs.subMenuTitle.offsetWidth}px`;\n },\n\n renderChildren(children) {\n const props = this.$props;\n const { select, deselect, openChange } = getListeners(this);\n const subPopupMenuProps = {\n props: {\n mode: props.mode === 'horizontal' ? 'vertical' : props.mode,\n visible: props.isOpen,\n level: props.level + 1,\n inlineIndent: props.inlineIndent,\n focusable: false,\n selectedKeys: props.selectedKeys,\n eventKey: `${props.eventKey}-menu-`,\n openKeys: props.openKeys,\n openTransitionName: props.openTransitionName,\n openAnimation: props.openAnimation,\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().defaultActiveFirst[\n getMenuIdFromSubMenuEventKey(props.eventKey)\n ],\n multiple: props.multiple,\n prefixCls: props.rootPrefixCls,\n manualRef: this.saveMenuInstance,\n itemIcon: getComponentFromProp(this, 'itemIcon'),\n expandIcon: getComponentFromProp(this, 'expandIcon'),\n children,\n },\n on: {\n click: this.onSubMenuClick,\n select,\n deselect,\n openChange,\n },\n id: this.internalMenuId,\n };\n const baseProps = subPopupMenuProps.props;\n const haveRendered = this.haveRendered;\n this.haveRendered = true;\n\n this.haveOpened = this.haveOpened || baseProps.visible || 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 not visible (not sure why)\n // show appear transition if it's not inline mode\n const transitionAppear = haveRendered || !baseProps.visible || !baseProps.mode === 'inline';\n subPopupMenuProps.class = ` ${baseProps.prefixCls}-sub`;\n let animProps = { appear: transitionAppear, css: false };\n let transitionProps = {\n props: animProps,\n on: {},\n };\n if (baseProps.openTransitionName) {\n transitionProps = getTransitionProps(baseProps.openTransitionName, {\n appear: transitionAppear,\n });\n } else if (typeof baseProps.openAnimation === 'object') {\n animProps = { ...animProps, ...(baseProps.openAnimation.props || {}) };\n if (!transitionAppear) {\n animProps.appear = false;\n }\n } else if (typeof baseProps.openAnimation === 'string') {\n transitionProps = getTransitionProps(baseProps.openAnimation, { appear: transitionAppear });\n }\n\n if (typeof baseProps.openAnimation === 'object' && baseProps.openAnimation.on) {\n transitionProps.on = baseProps.openAnimation.on;\n }\n return (\n <transition {...transitionProps}>\n <SubPopupMenu v-show={props.isOpen} {...subPopupMenuProps} />\n </transition>\n );\n },\n },\n\n render() {\n const props = this.$props;\n const { rootPrefixCls, parentMenu } = this;\n const isOpen = props.isOpen;\n const prefixCls = this.getPrefixCls();\n const isInlineMode = props.mode === 'inline';\n const className = {\n [prefixCls]: true,\n [`${prefixCls}-${props.mode}`]: true,\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.internalMenuId) {\n if (props.eventKey) {\n this.internalMenuId = `${props.eventKey}$Menu`;\n } else {\n this.internalMenuId = `$__$${++guid}$Menu`;\n }\n }\n\n let mouseEvents = {};\n let titleClickEvents = {};\n let titleMouseEvents = {};\n if (!props.disabled) {\n mouseEvents = {\n mouseleave: this.onMouseLeave,\n mouseenter: this.onMouseEnter,\n };\n\n // only works in title, not outer li\n titleClickEvents = {\n click: this.onTitleClick,\n };\n titleMouseEvents = {\n mouseenter: this.onTitleMouseEnter,\n mouseleave: this.onTitleMouseLeave,\n };\n }\n\n const style = {};\n if (isInlineMode) {\n style.paddingLeft = `${props.inlineIndent * props.level}px`;\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 (isOpen) {\n ariaOwns = {\n 'aria-owns': this.internalMenuId,\n };\n }\n const titleProps = {\n attrs: {\n 'aria-expanded': isOpen,\n ...ariaOwns,\n 'aria-haspopup': 'true',\n title: typeof props.title === 'string' ? props.title : undefined,\n },\n on: {\n ...titleMouseEvents,\n ...titleClickEvents,\n },\n style,\n class: `${prefixCls}-title`,\n ref: 'subMenuTitle',\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 = getComponentFromProp(this, 'expandIcon', props);\n }\n const title = (\n <div {...titleProps}>\n {getComponentFromProp(this, 'title')}\n {icon || <i class={`${prefixCls}-arrow`} />}\n </div>\n );\n const children = this.renderChildren(filterEmpty(this.$slots.default));\n\n const getPopupContainer = this.parentMenu.isRootMenu\n ? this.parentMenu.getPopupContainer\n : 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 liProps = {\n on: { ...omit(getListeners(this), ['click']), ...mouseEvents },\n class: className,\n };\n\n return (\n <li {...liProps} role=\"menuitem\">\n {isInlineMode && title}\n {isInlineMode && children}\n {!isInlineMode && (\n <Trigger\n prefixCls={prefixCls}\n popupClassName={`${prefixCls}-popup ${rootPrefixCls}-${\n parentMenu.theme\n } ${popupClassName || ''}`}\n getPopupContainer={getPopupContainer}\n builtinPlacements={placements}\n builtinPlacements={Object.assign({}, placements, props.builtinPlacements)}\n popupPlacement={popupPlacement}\n popupVisible={isOpen}\n popupAlign={popupAlign}\n action={props.disabled ? [] : [props.triggerSubMenuAction]}\n mouseEnterDelay={props.subMenuOpenDelay}\n mouseLeaveDelay={props.subMenuCloseDelay}\n onPopupVisibleChange={this.onPopupVisibleChange}\n forceRender={props.forceSubMenuRender}\n // popupTransitionName='rc-menu-open-slide-up'\n // popupAnimation={transitionProps}\n >\n <template slot=\"popup\">{children}</template>\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 omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport { connect } from '../_util/store';\nimport BaseMixin from '../_util/BaseMixin';\nimport KeyCode from '../_util/KeyCode';\nimport classNames from 'classnames';\nimport { getKeyFromChildrenIndex, loopMenuItem, noop, isMobileDevice } from './util';\nimport DOMWrap from './DOMWrap';\nimport { cloneElement } from '../_util/vnode';\nimport {\n initDefaultProps,\n getOptionProps,\n getPropsData,\n getEvents,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\n\nfunction allDisabled(arr) {\n if (!arr.length) {\n return true;\n }\n return arr.every(c => {\n return !!c.disabled;\n });\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 saveRef(key, c) {\n if (c) {\n const index = this.instanceArrayKeyIndexMap[key];\n this.instanceArray[index] = c;\n }\n}\nexport function getActiveKey(props, originalActiveKey) {\n let activeKey = originalActiveKey;\n const { eventKey, defaultActiveFirst, children } = props;\n if (activeKey !== undefined && activeKey !== null) {\n let found;\n loopMenuItem(children, (c, i) => {\n const propsData = c.componentOptions.propsData || {};\n if (c && !propsData.disabled && activeKey === getKeyFromChildrenIndex(c, eventKey, i)) {\n found = true;\n }\n });\n if (found) {\n return activeKey;\n }\n }\n activeKey = null;\n if (defaultActiveFirst) {\n loopMenuItem(children, (c, i) => {\n const propsData = c.componentOptions.propsData || {};\n const noActiveKey = activeKey === null || activeKey === undefined;\n if (noActiveKey && c && !propsData.disabled) {\n activeKey = getKeyFromChildrenIndex(c, eventKey, i);\n }\n });\n return activeKey;\n }\n return activeKey;\n}\n\nconst SubPopupMenu = {\n name: 'SubPopupMenu',\n props: initDefaultProps(\n {\n // onSelect: PropTypes.func,\n // onClick: PropTypes.func,\n // onDeselect: PropTypes.func,\n // onOpenChange: PropTypes.func,\n // onDestroy: PropTypes.func,\n prefixCls: PropTypes.string,\n openTransitionName: PropTypes.string,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n openKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n visible: PropTypes.bool,\n parentMenu: PropTypes.object,\n eventKey: PropTypes.string,\n store: PropTypes.object,\n\n // adding in refactor\n focusable: PropTypes.bool,\n multiple: PropTypes.bool,\n defaultActiveFirst: PropTypes.bool,\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectedKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n defaultSelectedKeys: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n ),\n defaultOpenKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n level: PropTypes.number,\n mode: PropTypes.oneOf([\n 'horizontal',\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'inline',\n ]),\n triggerSubMenuAction: PropTypes.oneOf(['click', 'hover']),\n inlineIndent: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n manualRef: PropTypes.func,\n itemIcon: PropTypes.any,\n expandIcon: PropTypes.any,\n overflowedIndicator: PropTypes.any,\n children: PropTypes.any.def([]),\n __propsSymbol__: PropTypes.any, // mock componentWillReceiveProps\n },\n {\n prefixCls: 'rc-menu',\n mode: 'vertical',\n level: 1,\n inlineIndent: 24,\n visible: true,\n focusable: true,\n manualRef: noop,\n },\n ),\n\n mixins: [BaseMixin],\n created() {\n const props = getOptionProps(this);\n this.prevProps = { ...props };\n props.store.setState({\n activeKey: {\n ...props.store.getState().activeKey,\n [props.eventKey]: getActiveKey(props, props.activeKey),\n },\n });\n this.instanceArray = [];\n },\n mounted() {\n // invoke customized ref to expose component to mixin\n if (this.manualRef) {\n this.manualRef(this);\n }\n },\n updated() {\n const props = getOptionProps(this);\n const prevProps = this.prevProps;\n const originalActiveKey =\n '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 } else if ('activeKey' in prevProps) {\n // If prev activeKey is not same as current activeKey,\n // we should set it.\n const prevActiveKey = getActiveKey(prevProps, prevProps.activeKey);\n if (activeKey !== prevActiveKey) {\n updateActiveKey(props.store, getEventKey(props), activeKey);\n }\n }\n this.prevProps = { ...props };\n },\n methods: {\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.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.eventKey);\n\n if (typeof callback === 'function') {\n callback(activeItem);\n }\n\n return 1;\n }\n return undefined;\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.__emit('deselect', selectInfo);\n },\n\n onSelect(selectInfo) {\n this.__emit('select', selectInfo);\n },\n\n onClick(e) {\n this.__emit('click', e);\n },\n\n onOpenChange(e) {\n this.__emit('openChange', e);\n },\n\n onDestroy(key) {\n this.__emit('destroy', 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.eventKey === activeKey) {\n activeIndex = ci;\n return false;\n }\n return true;\n });\n if (\n !this.defaultActiveFirst &&\n activeIndex !== -1 &&\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.disabled) {\n i = (i + 1) % len;\n } else {\n return child;\n }\n } while (i !== start);\n\n return null;\n },\n getIcon(instance, name) {\n if (instance.$createElement) {\n const temp = instance[name];\n if (temp !== undefined) {\n return temp;\n }\n return instance.$slots[name] || instance.$scopedSlots[name];\n } else {\n const temp = getPropsData(instance)[name];\n if (temp !== undefined) {\n return temp;\n }\n const slotsProp = [];\n const componentOptions = instance.componentOptions || {};\n (componentOptions.children || []).forEach(child => {\n if (child.data && child.data.slot === name) {\n if (child.tag === 'template') {\n slotsProp.push(child.children);\n } else {\n slotsProp.push(child);\n }\n }\n });\n return slotsProp.length ? slotsProp : undefined;\n }\n },\n renderCommonMenuItem(child, i, extraProps) {\n if (child.tag === undefined) {\n return child;\n }\n const state = this.$props.store.getState();\n const props = this.$props;\n const key = getKeyFromChildrenIndex(child, props.eventKey, i);\n const childProps = child.componentOptions.propsData || {};\n\n const isActive = key === state.activeKey[getEventKey(this.$props)];\n if (!childProps.disabled) {\n // manualRef的执行顺序不能保证,使用key映射ref在this.instanceArray中的位置\n this.instanceArrayKeyIndexMap[key] = Object.keys(this.instanceArrayKeyIndexMap).length;\n }\n const childListeners = getEvents(child);\n const newChildProps = {\n props: {\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 ? noop : saveRef.bind(this, key),\n eventKey: key,\n active: !childProps.disabled && isActive,\n multiple: props.multiple,\n openTransitionName: this.getOpenTransitionName(),\n openAnimation: props.openAnimation,\n subMenuOpenDelay: props.subMenuOpenDelay,\n subMenuCloseDelay: props.subMenuCloseDelay,\n forceSubMenuRender: props.forceSubMenuRender,\n builtinPlacements: props.builtinPlacements,\n itemIcon: this.getIcon(child, 'itemIcon') || this.getIcon(this, 'itemIcon'),\n expandIcon: this.getIcon(child, 'expandIcon') || this.getIcon(this, 'expandIcon'),\n ...extraProps,\n },\n on: {\n click: e => {\n (childListeners.click || noop)(e);\n this.onClick(e);\n },\n itemHover: this.onItemHover,\n openChange: this.onOpenChange,\n deselect: this.onDeselect,\n // destroy: this.onDestroy,\n select: this.onSelect,\n },\n };\n // ref: https://github.com/ant-design/ant-design/issues/13943\n if (props.mode === 'inline' || isMobileDevice()) {\n newChildProps.props.triggerSubMenuAction = 'click';\n }\n return cloneElement(child, newChildProps);\n },\n\n renderMenuItem(c, i, subMenuKey) {\n if (!c) {\n return null;\n }\n const state = this.$props.store.getState();\n const extraProps = {\n openKeys: state.openKeys,\n selectedKeys: state.selectedKeys,\n triggerSubMenuAction: this.triggerSubMenuAction,\n isRootMenu: false,\n subMenuKey,\n };\n return this.renderCommonMenuItem(c, i, extraProps);\n },\n },\n render() {\n const { ...props } = this.$props;\n const { eventKey, prefixCls, visible, level, mode, theme } = props;\n this.instanceArray = [];\n this.instanceArrayKeyIndexMap = {};\n const className = classNames(props.prefixCls, `${props.prefixCls}-${props.mode}`);\n const domWrapProps = {\n props: {\n tag: 'ul',\n // hiddenClassName: `${prefixCls}-hidden`,\n visible,\n prefixCls,\n level,\n mode,\n theme,\n overflowedIndicator: getComponentFromProp(this, 'overflowedIndicator'),\n },\n attrs: {\n role: props.role || 'menu',\n },\n class: className,\n // Otherwise, the propagated click event will trigger another onClick\n on: omit(getListeners(this), ['click']),\n };\n // if (props.id) {\n // domProps.id = props.id\n // }\n if (props.focusable) {\n domWrapProps.attrs.tabIndex = '0';\n domWrapProps.on.keydown = this.onKeyDown;\n }\n return (\n // ESLint is not smart enough to know that the type of `children` was checked.\n /* eslint-disable */\n <DOMWrap {...domWrapProps}>\n {props.children.map((c, i) => this.renderMenuItem(c, i, eventKey || '0-menu-'))}\n </DOMWrap>\n /*eslint -enable */\n );\n },\n};\n\nexport default connect()(SubPopupMenu);\n","import PropTypes from '../_util/vue-types';\nexport default {\n prefixCls: PropTypes.string.def('rc-menu'),\n focusable: PropTypes.bool.def(true),\n multiple: PropTypes.bool,\n defaultActiveFirst: PropTypes.bool,\n visible: PropTypes.bool.def(true),\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectedKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n defaultSelectedKeys: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n ).def([]),\n defaultOpenKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])).def(\n [],\n ),\n openKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n mode: PropTypes.oneOf([\n 'horizontal',\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'inline',\n ]).def('vertical'),\n triggerSubMenuAction: PropTypes.string.def('hover'),\n subMenuOpenDelay: PropTypes.number.def(0.1),\n subMenuCloseDelay: PropTypes.number.def(0.1),\n level: PropTypes.number.def(1),\n inlineIndent: PropTypes.number.def(24),\n theme: PropTypes.oneOf(['light', 'dark']).def('light'),\n getPopupContainer: PropTypes.func,\n openTransitionName: PropTypes.string,\n forceSubMenuRender: PropTypes.bool,\n selectable: PropTypes.bool,\n isRootMenu: PropTypes.bool.def(true),\n builtinPlacements: PropTypes.object.def(() => ({})),\n itemIcon: PropTypes.any,\n expandIcon: PropTypes.any,\n overflowedIndicator: PropTypes.any,\n};\n","// based on rc-menu 7.5.5\nimport Menu from './Menu';\nimport SubMenu from './SubMenu';\nimport MenuItem, { menuItemProps } from './MenuItem';\nimport MenuItemGroup from './MenuItemGroup';\nimport Divider from './Divider';\n\nexport {\n SubMenu,\n MenuItem as Item,\n menuItemProps as itemProps,\n MenuItem,\n MenuItemGroup,\n MenuItemGroup as ItemGroup,\n Divider,\n};\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 isMobile from './utils/isMobile';\n\nexport function noop() {}\n\nexport function getKeyFromChildrenIndex(child, menuEventKey, index) {\n const prefix = menuEventKey || '';\n return child.key === undefined ? `${prefix}item_${index}` : child.key;\n}\n\nexport function getMenuIdFromSubMenuEventKey(eventKey) {\n return `${eventKey}-menu-`;\n}\n\nexport function loopMenuItem(children, cb) {\n let index = -1;\n children.forEach(c => {\n index++;\n if (c && c.type && c.type.isMenuItemGroup) {\n c.$slots.default.forEach(c2 => {\n index++;\n c.componentOptions && cb(c2, index);\n });\n } else {\n c.componentOptions && cb(c, index);\n }\n });\n}\n\nexport function loopMenuItemRecursively(children, keys, ret) {\n if (!children || ret.find) {\n return;\n }\n children.forEach(c => {\n if (ret.find) {\n return;\n }\n if (c.data && c.data.slot && c.data.slot !== 'default') {\n return;\n }\n if (c && c.componentOptions) {\n const options = c.componentOptions.Ctor.options;\n if (!options || !(options.isSubMenu || options.isMenuItem || options.isMenuItemGroup)) {\n return;\n }\n if (keys.indexOf(c.key) !== -1) {\n ret.find = true;\n } else if (c.componentOptions.children) {\n loopMenuItemRecursively(c.componentOptions.children, keys, ret);\n }\n }\n });\n}\n\nexport const menuAllProps = {\n props: [\n 'defaultSelectedKeys',\n 'selectedKeys',\n 'defaultOpenKeys',\n 'openKeys',\n 'mode',\n 'getPopupContainer',\n 'openTransitionName',\n 'openAnimation',\n 'subMenuOpenDelay',\n 'subMenuCloseDelay',\n 'forceSubMenuRender',\n 'triggerSubMenuAction',\n 'level',\n 'selectable',\n 'multiple',\n 'visible',\n 'focusable',\n 'defaultActiveFirst',\n 'prefixCls',\n 'inlineIndent',\n 'parentMenu',\n 'title',\n 'rootPrefixCls',\n 'eventKey',\n 'active',\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 on: [\n 'select',\n 'deselect',\n 'destroy',\n 'openChange',\n 'itemHover',\n 'titleMouseenter',\n 'titleMouseleave',\n 'titleClick',\n ],\n};\n\n// ref: https://github.com/ant-design/ant-design/issues/14007\n// ref: https://bugs.chromium.org/p/chromium/issues/detail?id=360889\n// getBoundingClientRect return the full precision value, which is\n// not the same behavior as on chrome. Set the precision to 6 to\n// unify their behavior\nexport const getWidth = elem => {\n let width =\n elem && typeof elem.getBoundingClientRect === 'function' && elem.getBoundingClientRect().width;\n if (width) {\n width = +width.toFixed(6);\n }\n return width || 0;\n};\n\nexport const setStyle = (elem, styleProperty, value) => {\n if (elem && typeof elem.style === 'object') {\n elem.style[styleProperty] = value;\n }\n};\n\nexport const isMobileDevice = () => {\n return isMobile.any;\n};\n","// MIT License from https://github.com/kaimallea/isMobile\n\nconst applePhone = /iPhone/i;\nconst appleIpod = /iPod/i;\nconst appleTablet = /iPad/i;\nconst androidPhone = /\\bAndroid(?:.+)Mobile\\b/i; // Match 'Android' AND 'Mobile'\nconst androidTablet = /Android/i;\nconst amazonPhone = /\\bAndroid(?:.+)SD4930UR\\b/i;\nconst amazonTablet = /\\bAndroid(?:.+)(?:KF[A-Z]{2,4})\\b/i;\nconst windowsPhone = /Windows Phone/i;\nconst windowsTablet = /\\bWindows(?:.+)ARM\\b/i; // Match 'Windows' AND 'ARM'\nconst otherBlackberry = /BlackBerry/i;\nconst otherBlackberry10 = /BB10/i;\nconst otherOpera = /Opera Mini/i;\nconst otherChrome = /\\b(CriOS|Chrome)(?:.+)Mobile/i;\nconst otherFirefox = /Mobile(?:.+)Firefox\\b/i; // Match 'Mobile' AND 'Firefox'\n\nfunction match(regex, userAgent) {\n return regex.test(userAgent);\n}\n\nfunction isMobile(userAgent) {\n let ua = userAgent || (typeof navigator !== 'undefined' ? navigator.userAgent : '');\n\n // Facebook mobile app's integrated browser adds a bunch of strings that\n // match everything. Strip it out if it exists.\n let tmp = ua.split('[FBAN');\n if (typeof tmp[1] !== 'undefined') {\n [ua] = tmp;\n }\n\n // Twitter mobile app's integrated browser on iPad adds a \"Twitter for\n // iPhone\" string. Same probably happens on other tablet platforms.\n // This will confuse detection so strip it out if it exists.\n tmp = ua.split('Twitter');\n if (typeof tmp[1] !== 'undefined') {\n [ua] = tmp;\n }\n\n const result = {\n apple: {\n phone: match(applePhone, ua) && !match(windowsPhone, ua),\n ipod: match(appleIpod, ua),\n tablet: !match(applePhone, ua) && match(appleTablet, ua) && !match(windowsPhone, ua),\n device:\n (match(applePhone, ua) || match(appleIpod, ua) || match(appleTablet, ua)) &&\n !match(windowsPhone, ua),\n },\n amazon: {\n phone: match(amazonPhone, ua),\n tablet: !match(amazonPhone, ua) && match(amazonTablet, ua),\n device: match(amazonPhone, ua) || match(amazonTablet, ua),\n },\n android: {\n phone:\n (!match(windowsPhone, ua) && match(amazonPhone, ua)) ||\n (!match(windowsPhone, ua) && match(androidPhone, ua)),\n tablet:\n !match(windowsPhone, ua) &&\n !match(amazonPhone, ua) &&\n !match(androidPhone, ua) &&\n (match(amazonTablet, ua) || match(androidTablet, ua)),\n device:\n (!match(windowsPhone, ua) &&\n (match(amazonPhone, ua) ||\n match(amazonTablet, ua) ||\n match(androidPhone, ua) ||\n match(androidTablet, ua))) ||\n match(/\\bokhttp\\b/i, ua),\n },\n windows: {\n phone: match(windowsPhone, ua),\n tablet: match(windowsTablet, ua),\n device: match(windowsPhone, ua) || match(windowsTablet, ua),\n },\n other: {\n blackberry: match(otherBlackberry, ua),\n blackberry10: match(otherBlackberry10, ua),\n opera: match(otherOpera, ua),\n firefox: match(otherFirefox, ua),\n chrome: match(otherChrome, ua),\n device:\n match(otherBlackberry, ua) ||\n match(otherBlackberry10, ua) ||\n match(otherOpera, ua) ||\n match(otherFirefox, ua) ||\n match(otherChrome, ua),\n },\n\n // Additional\n any: null,\n phone: null,\n tablet: null,\n };\n result.any =\n result.apple.device || result.android.device || result.windows.device || result.other.device;\n\n // excludes 'other' devices and ipods, targeting touchscreen phones\n result.phone = result.apple.phone || result.android.phone || result.windows.phone;\n result.tablet = result.apple.tablet || result.android.tablet || result.windows.tablet;\n\n return result;\n}\n\nconst defaultResult = {\n ...isMobile(),\n isMobile,\n};\n\nexport default defaultResult;\n","import PropTypes from '../_util/vue-types';\nimport { getStyle, getComponentFromProp, getListeners } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\n\nfunction noop() {}\n\nexport default {\n mixins: [BaseMixin],\n props: {\n duration: PropTypes.number.def(1.5),\n closable: PropTypes.bool,\n prefixCls: PropTypes.string,\n update: PropTypes.bool,\n closeIcon: PropTypes.any,\n },\n watch: {\n duration() {\n this.restartCloseTimer();\n },\n },\n\n mounted() {\n this.startCloseTimer();\n },\n updated() {\n if (this.update) {\n this.restartCloseTimer();\n }\n },\n\n beforeDestroy() {\n this.clearCloseTimer();\n this.willDestroy = true; // beforeDestroy调用后依然会触发onMouseleave事件\n },\n methods: {\n close(e) {\n if (e) {\n e.stopPropagation();\n }\n this.clearCloseTimer();\n this.__emit('close');\n },\n\n startCloseTimer() {\n this.clearCloseTimer();\n if (!this.willDestroy && this.duration) {\n this.closeTimer = setTimeout(() => {\n this.close();\n }, this.duration * 1000);\n }\n },\n\n clearCloseTimer() {\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n },\n restartCloseTimer() {\n this.clearCloseTimer();\n this.startCloseTimer();\n },\n },\n\n render() {\n const { prefixCls, closable, clearCloseTimer, startCloseTimer, $slots, close } = this;\n const componentClass = `${prefixCls}-notice`;\n const className = {\n [`${componentClass}`]: 1,\n [`${componentClass}-closable`]: closable,\n };\n const style = getStyle(this);\n const closeIcon = getComponentFromProp(this, 'closeIcon');\n return (\n <div\n class={className}\n style={style || { right: '50%' }}\n onMouseenter={clearCloseTimer}\n onMouseleave={startCloseTimer}\n onClick={getListeners(this).click || noop}\n >\n <div class={`${componentClass}-content`}>{$slots.default}</div>\n {closable ? (\n <a tabIndex=\"0\" onClick={close} class={`${componentClass}-close`}>\n {closeIcon || <span class={`${componentClass}-close-x`} />}\n </a>\n ) : null}\n </div>\n );\n },\n};\n","import Vue from 'vue';\nimport PropTypes from '../_util/vue-types';\nimport { getStyle, getComponentFromProp } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport createChainedFunction from '../_util/createChainedFunction';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport Notice from './Notice';\nimport Base from '../base';\n\nfunction noop() {}\n\nlet seed = 0;\nconst now = Date.now();\n\nfunction getUuid() {\n return `rcNotification_${now}_${seed++}`;\n}\n\nconst Notification = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string.def('rc-notification'),\n transitionName: PropTypes.string,\n animation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).def('fade'),\n maxCount: PropTypes.number,\n closeIcon: PropTypes.any,\n },\n data() {\n return {\n notices: [],\n };\n },\n methods: {\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 const { maxCount } = this.$props;\n this.setState(previousState => {\n const notices = previousState.notices;\n const noticeIndex = notices.map(v => v.key).indexOf(key);\n const updatedNotices = notices.concat();\n if (noticeIndex !== -1) {\n updatedNotices.splice(noticeIndex, 1, notice);\n } else {\n if (maxCount && notices.length >= maxCount) {\n // XXX, use key of first item to update new added (let React to move exsiting\n // instead of remove and mount). Same key was used before for both a) external\n // manual control and b) internal react 'key' prop , which is not that good.\n notice.updateKey = updatedNotices[0].updateKey || updatedNotices[0].key;\n updatedNotices.shift();\n }\n updatedNotices.push(notice);\n }\n return {\n notices: updatedNotices,\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\n render(h) {\n const { prefixCls, notices, remove, getTransitionName } = this;\n const transitionProps = getTransitionProps(getTransitionName());\n const noticeNodes = notices.map((notice, index) => {\n const update = Boolean(index === notices.length - 1 && notice.updateKey);\n const key = notice.updateKey ? notice.updateKey : notice.key;\n\n const { content, duration, closable, onClose, style, class: className } = notice;\n const close = createChainedFunction(remove.bind(this, notice.key), onClose);\n const noticeProps = {\n props: {\n prefixCls,\n duration,\n closable,\n update,\n closeIcon: getComponentFromProp(this, 'closeIcon'),\n },\n on: {\n close,\n click: notice.onClick || noop,\n },\n style,\n class: className,\n key,\n };\n return (\n <Notice {...noticeProps}>{typeof content === 'function' ? content(h) : content}</Notice>\n );\n });\n const className = {\n [prefixCls]: 1,\n };\n const style = getStyle(this);\n return (\n <div\n class={className}\n style={\n style || {\n top: '65px',\n left: '50%',\n }\n }\n >\n <transition-group {...transitionProps}>{noticeNodes}</transition-group>\n </div>\n );\n },\n};\n\nNotification.newInstance = function newNotificationInstance(properties, callback) {\n const { getContainer, style, class: className, ...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 const V = Base.Vue || Vue;\n new V({\n el: div,\n mounted() {\n const self = this;\n this.$nextTick(() => {\n callback({\n notice(noticeProps) {\n self.$refs.notification.add(noticeProps);\n },\n removeNotice(key) {\n self.$refs.notification.remove(key);\n },\n component: self,\n destroy() {\n self.$destroy();\n self.$el.parentNode.removeChild(self.$el);\n },\n });\n });\n },\n render() {\n const p = {\n props,\n ref: 'notification',\n style,\n class: className,\n };\n return <Notification {...p} />;\n },\n });\n};\n\nexport default Notification;\n","// based on rc-notification 3.3.1\nimport Notification from './Notification';\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 PropTypes from '../_util/vue-types';\nimport KEYCODE from './KeyCode';\nimport BaseMixin from '../_util/BaseMixin';\n\nexport default {\n mixins: [BaseMixin],\n props: {\n disabled: PropTypes.bool,\n changeSize: PropTypes.func,\n quickGo: PropTypes.func,\n selectComponentClass: PropTypes.any,\n current: PropTypes.number,\n pageSizeOptions: PropTypes.array.def(['10', '20', '30', '40']),\n pageSize: PropTypes.number,\n buildOptionText: PropTypes.func,\n locale: PropTypes.object,\n rootPrefixCls: PropTypes.string,\n selectPrefixCls: PropTypes.string,\n goButton: PropTypes.any,\n },\n data() {\n return {\n goInputText: '',\n };\n },\n methods: {\n getValidValue() {\n const { goInputText, current } = this;\n return !goInputText || isNaN(goInputText) ? current : Number(goInputText);\n },\n defaultBuildOptionText(opt) {\n return `${opt.value} ${this.locale.items_per_page}`;\n },\n handleChange(e) {\n const { value, composing } = e.target;\n if (e.isComposing || composing || this.goInputText === value) return;\n this.setState({\n goInputText: value,\n });\n },\n handleBlur(e) {\n const { goButton, quickGo, rootPrefixCls } = this.$props;\n if (goButton) {\n return;\n }\n if (\n e.relatedTarget &&\n (e.relatedTarget.className.indexOf(`${rootPrefixCls}-prev`) >= 0 ||\n e.relatedTarget.className.indexOf(`${rootPrefixCls}-next`) >= 0)\n ) {\n return;\n }\n quickGo(this.getValidValue());\n },\n go(e) {\n const { goInputText } = this;\n if (goInputText === '') {\n return;\n }\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n // https://github.com/vueComponent/ant-design-vue/issues/1316\n this.quickGo(this.getValidValue());\n this.setState({\n goInputText: '',\n });\n }\n },\n },\n render() {\n const {\n rootPrefixCls,\n locale,\n changeSize,\n quickGo,\n goButton,\n selectComponentClass: Select,\n defaultBuildOptionText,\n selectPrefixCls,\n pageSize,\n pageSizeOptions,\n goInputText,\n disabled,\n } = this;\n const prefixCls = `${rootPrefixCls}-options`;\n let changeSelect = null;\n let goInput = null;\n let gotoButton = null;\n\n if (!changeSize && !quickGo) {\n return null;\n }\n\n if (changeSize && Select) {\n const buildOptionText = this.buildOptionText || defaultBuildOptionText;\n const options = pageSizeOptions.map((opt, i) => (\n <Select.Option key={i} value={opt}>\n {buildOptionText({ value: opt })}\n </Select.Option>\n ));\n\n changeSelect = (\n <Select\n disabled={disabled}\n prefixCls={selectPrefixCls}\n showSearch={false}\n class={`${prefixCls}-size-changer`}\n optionLabelProp=\"children\"\n dropdownMatchSelectWidth={false}\n value={(pageSize || pageSizeOptions[0]).toString()}\n onChange={value => this.changeSize(Number(value))}\n getPopupContainer={triggerNode => triggerNode.parentNode}\n >\n {options}\n </Select>\n );\n }\n\n if (quickGo) {\n if (goButton) {\n gotoButton =\n typeof goButton === 'boolean' ? (\n <button type=\"button\" onClick={this.go} onKeyup={this.go} disabled={disabled}>\n {locale.jump_to_confirm}\n </button>\n ) : (\n <span onClick={this.go} onKeyup={this.go}>\n {goButton}\n </span>\n );\n }\n goInput = (\n <div class={`${prefixCls}-quick-jumper`}>\n {locale.jump_to}\n <input\n disabled={disabled}\n type=\"text\"\n value={goInputText}\n onInput={this.handleChange}\n onKeyup={this.go}\n onBlur={this.handleBlur}\n {...{\n directives: [\n {\n name: 'ant-input',\n },\n ],\n }}\n />\n {locale.page}\n {gotoButton}\n </div>\n );\n }\n\n return (\n <li class={`${prefixCls}`}>\n {changeSelect}\n {goInput}\n </li>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\n\nexport default {\n name: 'Pager',\n props: {\n rootPrefixCls: PropTypes.string,\n page: PropTypes.number,\n active: PropTypes.bool,\n last: PropTypes.bool,\n locale: PropTypes.object,\n showTitle: PropTypes.bool,\n itemRender: {\n type: Function,\n default: () => {},\n },\n },\n methods: {\n handleClick() {\n this.$emit('click', this.page);\n },\n handleKeyPress(event) {\n this.$emit('keypress', event, this.handleClick, this.page);\n },\n },\n render() {\n const props = this.$props;\n const prefixCls = `${props.rootPrefixCls}-item`;\n const cls = classNames(prefixCls, `${prefixCls}-${props.page}`, {\n [`${prefixCls}-active`]: props.active,\n [`${prefixCls}-disabled`]: !props.page,\n });\n\n return (\n <li\n class={cls}\n onClick={this.handleClick}\n onKeypress={this.handleKeyPress}\n title={this.showTitle ? this.page : null}\n tabIndex=\"0\"\n >\n {this.itemRender(this.page, 'page', <a>{this.page}</a>)}\n </li>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { hasProp, getComponentFromProp, getOptionProps } from '../_util/props-util';\nimport Pager from './Pager';\nimport Options from './Options';\nimport LOCALE from './locale/zh_CN';\nimport KEYCODE from './KeyCode';\n\nfunction noop() {}\n\n// 是否是正整数\nfunction isInteger(value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\n\nfunction defaultItemRender(page, type, element) {\n return element;\n}\n\nfunction calculatePage(p, state, props) {\n let pageSize = p;\n if (typeof pageSize === 'undefined') {\n pageSize = state.statePageSize;\n }\n return Math.floor((props.total - 1) / pageSize) + 1;\n}\n\nexport default {\n name: 'Pagination',\n mixins: [BaseMixin],\n model: {\n prop: 'current',\n event: 'change.current',\n },\n props: {\n disabled: PropTypes.bool,\n prefixCls: PropTypes.string.def('rc-pagination'),\n selectPrefixCls: PropTypes.string.def('rc-select'),\n current: PropTypes.number,\n defaultCurrent: PropTypes.number.def(1),\n total: PropTypes.number.def(0),\n pageSize: PropTypes.number,\n defaultPageSize: PropTypes.number.def(10),\n hideOnSinglePage: PropTypes.bool.def(false),\n showSizeChanger: PropTypes.bool.def(false),\n showLessItems: PropTypes.bool.def(false),\n // showSizeChange: PropTypes.func.def(noop),\n selectComponentClass: PropTypes.any,\n showPrevNextJumpers: PropTypes.bool.def(true),\n showQuickJumper: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]).def(false),\n showTitle: PropTypes.bool.def(true),\n pageSizeOptions: PropTypes.arrayOf(PropTypes.string),\n buildOptionText: PropTypes.func,\n showTotal: PropTypes.func,\n simple: PropTypes.bool,\n locale: PropTypes.object.def(LOCALE),\n itemRender: PropTypes.func.def(defaultItemRender),\n prevIcon: PropTypes.any,\n nextIcon: PropTypes.any,\n jumpPrevIcon: PropTypes.any,\n jumpNextIcon: PropTypes.any,\n },\n data() {\n const props = getOptionProps(this);\n const hasOnChange = this.onChange !== noop;\n const hasCurrent = 'current' in props;\n if (hasCurrent && !hasOnChange) {\n console.warn(\n 'Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.',\n ); // eslint-disable-line\n }\n let current = this.defaultCurrent;\n if ('current' in props) {\n current = this.current;\n }\n\n let pageSize = this.defaultPageSize;\n if ('pageSize' in props) {\n pageSize = this.pageSize;\n }\n\n current = Math.min(current, calculatePage(pageSize, undefined, props));\n\n return {\n stateCurrent: current,\n stateCurrentInputValue: current,\n statePageSize: pageSize,\n };\n },\n watch: {\n current(val) {\n this.setState({\n stateCurrent: val,\n stateCurrentInputValue: val,\n });\n },\n pageSize(val) {\n const newState = {};\n let current = this.stateCurrent;\n const newCurrent = calculatePage(val, this.$data, this.$props);\n current = current > newCurrent ? newCurrent : current;\n if (!hasProp(this, 'current')) {\n newState.stateCurrent = current;\n newState.stateCurrentInputValue = current;\n }\n newState.statePageSize = val;\n this.setState(newState);\n },\n stateCurrent(val, oldValue) {\n // When current page change, fix focused style of prev item\n // A hacky solution of https://github.com/ant-design/ant-design/issues/8948\n this.$nextTick(() => {\n if (this.$refs.paginationNode) {\n const lastCurrentNode = this.$refs.paginationNode.querySelector(\n `.${this.prefixCls}-item-${oldValue}`,\n );\n if (lastCurrentNode && document.activeElement === lastCurrentNode) {\n lastCurrentNode.blur();\n }\n }\n });\n },\n total() {\n const newState = {};\n const newCurrent = calculatePage(this.pageSize, this.$data, this.$props);\n if (hasProp(this, 'current')) {\n const current = Math.min(this.current, newCurrent);\n newState.stateCurrent = current;\n newState.stateCurrentInputValue = current;\n } else {\n let current = this.stateCurrent;\n if (current === 0 && newCurrent > 0) {\n current = 1;\n } else {\n current = Math.min(this.stateCurrent, newCurrent);\n }\n newState.stateCurrent = current;\n }\n this.setState(newState);\n },\n },\n methods: {\n getJumpPrevPage() {\n return Math.max(1, this.stateCurrent - (this.showLessItems ? 3 : 5));\n },\n getJumpNextPage() {\n return Math.min(\n calculatePage(undefined, this.$data, this.$props),\n this.stateCurrent + (this.showLessItems ? 3 : 5),\n );\n },\n getItemIcon(icon) {\n const { prefixCls } = this.$props;\n const iconNode = getComponentFromProp(this, icon, this.$props) || (\n <a class={`${prefixCls}-item-link`} />\n );\n return iconNode;\n },\n getValidValue(e) {\n const inputValue = e.target.value;\n const allPages = calculatePage(undefined, this.$data, this.$props);\n const { stateCurrentInputValue } = this.$data;\n let value;\n if (inputValue === '') {\n value = inputValue;\n } else if (isNaN(Number(inputValue))) {\n value = stateCurrentInputValue;\n } else if (inputValue >= allPages) {\n value = allPages;\n } else {\n value = Number(inputValue);\n }\n return value;\n },\n isValid(page) {\n return isInteger(page) && page !== this.stateCurrent;\n },\n shouldDisplayQuickJumper() {\n const { showQuickJumper, pageSize, total } = this.$props;\n if (total <= pageSize) {\n return false;\n }\n return showQuickJumper;\n },\n // calculatePage (p) {\n // let pageSize = p\n // if (typeof pageSize === 'undefined') {\n // pageSize = this.statePageSize\n // }\n // return Math.floor((this.total - 1) / pageSize) + 1\n // },\n handleKeyDown(event) {\n if (event.keyCode === KEYCODE.ARROW_UP || event.keyCode === KEYCODE.ARROW_DOWN) {\n event.preventDefault();\n }\n },\n handleKeyUp(e) {\n if (e.isComposing || e.target.composing) return;\n const value = this.getValidValue(e);\n const stateCurrentInputValue = this.stateCurrentInputValue;\n\n if (value !== stateCurrentInputValue) {\n this.setState({\n stateCurrentInputValue: 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 changePageSize(size) {\n let current = this.stateCurrent;\n const preCurrent = current;\n const newCurrent = calculatePage(size, this.$data, this.$props);\n current = current > newCurrent ? newCurrent : current;\n // fix the issue:\n // Once 'total' is 0, 'current' in 'onShowSizeChange' is 0, which is not correct.\n if (newCurrent === 0) {\n current = this.stateCurrent;\n }\n if (typeof size === 'number') {\n if (!hasProp(this, 'pageSize')) {\n this.setState({\n statePageSize: size,\n });\n }\n if (!hasProp(this, 'current')) {\n this.setState({\n stateCurrent: current,\n stateCurrentInputValue: current,\n });\n }\n }\n this.$emit('update:pageSize', size);\n this.$emit('showSizeChange', current, size);\n if (current !== preCurrent) {\n this.$emit('change.current', current, size);\n }\n },\n handleChange(p) {\n const { disabled } = this.$props;\n let page = p;\n if (this.isValid(page) && !disabled) {\n const currentPage = calculatePage(undefined, this.$data, this.$props);\n if (page > currentPage) {\n page = currentPage;\n } else if (page < 1) {\n page = 1;\n }\n if (!hasProp(this, 'current')) {\n this.setState({\n stateCurrent: page,\n stateCurrentInputValue: page,\n });\n }\n // this.$emit('input', page)\n this.$emit('change.current', page, this.statePageSize);\n this.$emit('change', page, this.statePageSize);\n return page;\n }\n return this.stateCurrent;\n },\n prev() {\n if (this.hasPrev()) {\n this.handleChange(this.stateCurrent - 1);\n }\n },\n next() {\n if (this.hasNext()) {\n this.handleChange(this.stateCurrent + 1);\n }\n },\n jumpPrev() {\n this.handleChange(this.getJumpPrevPage());\n },\n jumpNext() {\n this.handleChange(this.getJumpNextPage());\n },\n hasPrev() {\n return this.stateCurrent > 1;\n },\n hasNext() {\n return this.stateCurrent < calculatePage(undefined, this.$data, this.$props);\n },\n runIfEnter(event, callback, ...restParams) {\n if (event.key === 'Enter' || event.charCode === 13) {\n callback(...restParams);\n }\n },\n runIfEnterPrev(event) {\n this.runIfEnter(event, this.prev);\n },\n runIfEnterNext(event) {\n this.runIfEnter(event, this.next);\n },\n runIfEnterJumpPrev(event) {\n this.runIfEnter(event, this.jumpPrev);\n },\n runIfEnterJumpNext(event) {\n this.runIfEnter(event, this.jumpNext);\n },\n handleGoTO(event) {\n if (event.keyCode === KEYCODE.ENTER || event.type === 'click') {\n this.handleChange(this.stateCurrentInputValue);\n }\n },\n },\n render() {\n const { prefixCls, disabled } = this.$props;\n\n // When hideOnSinglePage is true and there is only 1 page, hide the pager\n if (this.hideOnSinglePage === true && this.total <= this.statePageSize) {\n return null;\n }\n const props = this.$props;\n const locale = this.locale;\n\n const allPages = calculatePage(undefined, this.$data, this.$props);\n const pagerList = [];\n let jumpPrev = null;\n let jumpNext = null;\n let firstPager = null;\n let lastPager = null;\n let gotoButton = null;\n const goButton = this.showQuickJumper && this.showQuickJumper.goButton;\n const pageBufferSize = this.showLessItems ? 1 : 2;\n const { stateCurrent, statePageSize } = this;\n const prevPage = stateCurrent - 1 > 0 ? stateCurrent - 1 : 0;\n const nextPage = stateCurrent + 1 < allPages ? stateCurrent + 1 : allPages;\n\n if (this.simple) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = (\n <button type=\"button\" onClick={this.handleGoTO} onKeyup={this.handleGoTO}>\n {locale.jump_to_confirm}\n </button>\n );\n } else {\n gotoButton = (\n <span onClick={this.handleGoTO} onKeyup={this.handleGoTO}>\n {goButton}\n </span>\n );\n }\n gotoButton = (\n <li\n title={this.showTitle ? `${locale.jump_to}${this.stateCurrent}/${allPages}` : null}\n class={`${prefixCls}-simple-pager`}\n >\n {gotoButton}\n </li>\n );\n }\n const hasPrev = this.hasPrev();\n const hasNext = this.hasNext();\n return (\n <ul class={`${prefixCls} ${prefixCls}-simple`}>\n <li\n title={this.showTitle ? locale.prev_page : null}\n onClick={this.prev}\n tabIndex={hasPrev ? 0 : null}\n onKeypress={this.runIfEnterPrev}\n class={`${hasPrev ? '' : `${prefixCls}-disabled`} ${prefixCls}-prev`}\n aria-disabled={!this.hasPrev()}\n >\n {this.itemRender(prevPage, 'prev', this.getItemIcon('prevIcon'))}\n </li>\n <li\n title={this.showTitle ? `${stateCurrent}/${allPages}` : null}\n class={`${prefixCls}-simple-pager`}\n >\n <input\n type=\"text\"\n value={this.stateCurrentInputValue}\n onKeydown={this.handleKeyDown}\n onKeyup={this.handleKeyUp}\n onInput={this.handleKeyUp}\n size=\"3\"\n {...{\n directives: [\n {\n name: 'ant-input',\n },\n ],\n }}\n />\n <span class={`${prefixCls}-slash`}>/</span>\n {allPages}\n </li>\n <li\n title={this.showTitle ? locale.next_page : null}\n onClick={this.next}\n tabIndex={this.hasNext ? 0 : null}\n onKeypress={this.runIfEnterNext}\n class={`${hasNext ? '' : `${prefixCls}-disabled`} ${prefixCls}-next`}\n aria-disabled={!this.hasNext()}\n >\n {this.itemRender(nextPage, 'next', this.getItemIcon('nextIcon'))}\n </li>\n {gotoButton}\n </ul>\n );\n }\n if (allPages <= 5 + pageBufferSize * 2) {\n const pagerProps = {\n props: {\n locale,\n rootPrefixCls: prefixCls,\n showTitle: props.showTitle,\n itemRender: props.itemRender,\n },\n on: {\n click: this.handleChange,\n keypress: this.runIfEnter,\n },\n };\n if (!allPages) {\n pagerList.push(\n <Pager {...pagerProps} key=\"noPager\" page={allPages} class={`${prefixCls}-disabled`} />,\n );\n }\n for (let i = 1; i <= allPages; i++) {\n const active = stateCurrent === i;\n pagerList.push(<Pager {...pagerProps} key={i} page={i} active={active} />);\n }\n } else {\n const prevItemTitle = this.showLessItems ? locale.prev_3 : locale.prev_5;\n const nextItemTitle = this.showLessItems ? locale.next_3 : locale.next_5;\n if (this.showPrevNextJumpers) {\n let jumpPrevClassString = `${prefixCls}-jump-prev`;\n if (props.jumpPrevIcon) {\n jumpPrevClassString += ` ${prefixCls}-jump-prev-custom-icon`;\n }\n jumpPrev = (\n <li\n title={this.showTitle ? prevItemTitle : null}\n key=\"prev\"\n onClick={this.jumpPrev}\n tabIndex=\"0\"\n onKeypress={this.runIfEnterJumpPrev}\n class={jumpPrevClassString}\n >\n {this.itemRender(this.getJumpPrevPage(), 'jump-prev', this.getItemIcon('jumpPrevIcon'))}\n </li>\n );\n let jumpNextClassString = `${prefixCls}-jump-next`;\n if (props.jumpNextIcon) {\n jumpNextClassString += ` ${prefixCls}-jump-next-custom-icon`;\n }\n jumpNext = (\n <li\n title={this.showTitle ? nextItemTitle : null}\n key=\"next\"\n tabIndex=\"0\"\n onClick={this.jumpNext}\n onKeypress={this.runIfEnterJumpNext}\n class={jumpNextClassString}\n >\n {this.itemRender(this.getJumpNextPage(), 'jump-next', this.getItemIcon('jumpNextIcon'))}\n </li>\n );\n }\n\n lastPager = (\n <Pager\n locale={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={this.showTitle}\n itemRender={this.itemRender}\n />\n );\n firstPager = (\n <Pager\n locale={locale}\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeypress={this.runIfEnter}\n key={1}\n page={1}\n active={false}\n showTitle={this.showTitle}\n itemRender={this.itemRender}\n />\n );\n\n let left = Math.max(1, stateCurrent - pageBufferSize);\n let right = Math.min(stateCurrent + pageBufferSize, allPages);\n\n if (stateCurrent - 1 <= pageBufferSize) {\n right = 1 + pageBufferSize * 2;\n }\n\n if (allPages - stateCurrent <= pageBufferSize) {\n left = allPages - pageBufferSize * 2;\n }\n\n for (let i = left; i <= right; i++) {\n const active = stateCurrent === i;\n pagerList.push(\n <Pager\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={this.showTitle}\n itemRender={this.itemRender}\n />,\n );\n }\n\n if (stateCurrent - 1 >= pageBufferSize * 2 && stateCurrent !== 1 + 2) {\n pagerList[0] = (\n <Pager\n locale={locale}\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeypress={this.runIfEnter}\n key={left}\n page={left}\n class={`${prefixCls}-item-after-jump-prev`}\n active={false}\n showTitle={this.showTitle}\n itemRender={this.itemRender}\n />\n );\n pagerList.unshift(jumpPrev);\n }\n if (allPages - stateCurrent >= pageBufferSize * 2 && stateCurrent !== allPages - 2) {\n pagerList[pagerList.length - 1] = (\n <Pager\n locale={locale}\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeypress={this.runIfEnter}\n key={right}\n page={right}\n class={`${prefixCls}-item-before-jump-next`}\n active={false}\n showTitle={this.showTitle}\n itemRender={this.itemRender}\n />\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 (this.showTotal) {\n totalText = (\n <li class={`${prefixCls}-total-text`}>\n {this.showTotal(this.total, [\n this.total === 0 ? 0 : (stateCurrent - 1) * statePageSize + 1,\n stateCurrent * statePageSize > this.total ? this.total : stateCurrent * statePageSize,\n ])}\n </li>\n );\n }\n const prevDisabled = !this.hasPrev() || !allPages;\n const nextDisabled = !this.hasNext() || !allPages;\n const buildOptionText = this.buildOptionText || this.$scopedSlots.buildOptionText;\n return (\n <ul\n class={{ [`${prefixCls}`]: true, [`${prefixCls}-disabled`]: disabled }}\n unselectable=\"unselectable\"\n ref=\"paginationNode\"\n >\n {totalText}\n <li\n title={this.showTitle ? locale.prev_page : null}\n onClick={this.prev}\n tabIndex={prevDisabled ? null : 0}\n onKeypress={this.runIfEnterPrev}\n class={`${!prevDisabled ? '' : `${prefixCls}-disabled`} ${prefixCls}-prev`}\n aria-disabled={prevDisabled}\n >\n {this.itemRender(prevPage, 'prev', this.getItemIcon('prevIcon'))}\n </li>\n {pagerList}\n <li\n title={this.showTitle ? locale.next_page : null}\n onClick={this.next}\n tabIndex={nextDisabled ? null : 0}\n onKeypress={this.runIfEnterNext}\n class={`${!nextDisabled ? '' : `${prefixCls}-disabled`} ${prefixCls}-next`}\n aria-disabled={nextDisabled}\n >\n {this.itemRender(nextPage, 'next', this.getItemIcon('nextIcon'))}\n </li>\n <Options\n disabled={disabled}\n locale={locale}\n rootPrefixCls={prefixCls}\n selectComponentClass={this.selectComponentClass}\n selectPrefixCls={this.selectPrefixCls}\n changeSize={this.showSizeChanger ? this.changePageSize : null}\n current={stateCurrent}\n pageSize={statePageSize}\n pageSizeOptions={this.pageSizeOptions}\n buildOptionText={buildOptionText || null}\n quickGo={this.shouldDisplayQuickJumper() ? this.handleChange : null}\n goButton={goButton}\n />\n </ul>\n );\n },\n};\n","// based on rc-pagination 1.20.14\nexport { default } from './Pagination';\n","export default {\n // Options.jsx\n items_per_page: '/ page',\n jump_to: 'Go to',\n jump_to_confirm: 'confirm',\n page: '',\n\n // Pagination.jsx\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: '条/页',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n\n // Pagination.jsx\n prev_page: '上一页',\n next_page: '下一页',\n prev_5: '向前 5 页',\n next_5: '向后 5 页',\n prev_3: '向前 3 页',\n next_3: '向后 3 页',\n};\n","// based on rc-progress 2.5.2\nimport Progress, { Line, Circle } from './src/';\n\nexport { Line, Circle };\n\nexport default Progress;\n","import Vue from 'vue';\nimport ref from 'vue-ref';\nimport PropTypes from '../../_util/vue-types';\nimport { initDefaultProps } from '../../_util/props-util';\nimport enhancer from './enhancer';\nimport { propTypes, defaultProps } from './types';\n\nconst circlePropTypes = {\n ...propTypes,\n gapPosition: PropTypes.oneOf(['top', 'bottom', 'left', 'right']),\n gapDegree: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.bool]),\n};\n\nconst circleDefaultProps = {\n ...defaultProps,\n gapPosition: 'top',\n};\n\nVue.use(ref, { name: 'ant-ref' });\n\nlet gradientSeed = 0;\n\nfunction stripPercentToNumber(percent) {\n return +percent.replace('%', '');\n}\n\nfunction toArray(symArray) {\n return Array.isArray(symArray) ? symArray : [symArray];\n}\n\nfunction getPathStyles(offset, percent, strokeColor, strokeWidth, gapDegree = 0, gapPosition) {\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\n const pathStyle = {\n stroke: strokeColor,\n strokeDasharray: `${(percent / 100) * (len - gapDegree)}px ${len}px`,\n strokeDashoffset: `-${gapDegree / 2 + (offset / 100) * (len - gapDegree)}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\n return {\n pathString,\n pathStyle,\n };\n}\n\nconst Circle = {\n props: initDefaultProps(circlePropTypes, circleDefaultProps),\n created() {\n this.paths = {};\n this.gradientId = gradientSeed;\n gradientSeed += 1;\n },\n methods: {\n getStokeList() {\n const {\n prefixCls,\n percent,\n strokeColor,\n strokeWidth,\n strokeLinecap,\n gapDegree,\n gapPosition,\n } = this.$props;\n const percentList = toArray(percent);\n const strokeColorList = toArray(strokeColor);\n\n let stackPtg = 0;\n return percentList.map((ptg, index) => {\n const color = strokeColorList[index] || strokeColorList[strokeColorList.length - 1];\n const stroke =\n Object.prototype.toString.call(color) === '[object Object]'\n ? `url(#${prefixCls}-gradient-${this.gradientId})`\n : '';\n const { pathString, pathStyle } = getPathStyles(\n stackPtg,\n ptg,\n color,\n strokeWidth,\n gapDegree,\n gapPosition,\n );\n\n stackPtg += ptg;\n\n const pathProps = {\n key: index,\n attrs: {\n d: pathString,\n stroke,\n 'stroke-linecap': strokeLinecap,\n 'stroke-width': ptg === 0 ? 0 : strokeWidth,\n 'fill-opacity': '0',\n },\n class: `${prefixCls}-circle-path`,\n style: pathStyle,\n directives: [\n {\n name: 'ant-ref',\n value: c => {\n this.paths[index] = c;\n },\n },\n ],\n };\n return <path {...pathProps} />;\n });\n },\n },\n\n render() {\n const {\n prefixCls,\n strokeWidth,\n trailWidth,\n gapDegree,\n gapPosition,\n trailColor,\n strokeLinecap,\n strokeColor,\n ...restProps\n } = this.$props;\n const { pathString, pathStyle } = getPathStyles(\n 0,\n 100,\n trailColor,\n strokeWidth,\n gapDegree,\n gapPosition,\n );\n delete restProps.percent;\n const strokeColorList = toArray(strokeColor);\n const gradient = strokeColorList.find(\n color => Object.prototype.toString.call(color) === '[object Object]',\n );\n const pathFirst = {\n attrs: {\n d: pathString,\n stroke: trailColor,\n 'stroke-linecap': strokeLinecap,\n 'stroke-width': trailWidth || strokeWidth,\n 'fill-opacity': '0',\n },\n class: `${prefixCls}-circle-trail`,\n style: pathStyle,\n };\n\n return (\n <svg class={`${prefixCls}-circle`} viewBox=\"0 0 100 100\" {...restProps}>\n {gradient && (\n <defs>\n <linearGradient\n id={`${prefixCls}-gradient-${this.gradientId}`}\n x1=\"100%\"\n y1=\"0%\"\n x2=\"0%\"\n y2=\"0%\"\n >\n {Object.keys(gradient)\n .sort((a, b) => stripPercentToNumber(a) - stripPercentToNumber(b))\n .map((key, index) => (\n <stop key={index} offset={key} stop-color={gradient[key]} />\n ))}\n </linearGradient>\n </defs>\n )}\n <path {...pathFirst} />\n {this.getStokeList().reverse()}\n </svg>\n );\n },\n};\n\nexport default enhancer(Circle);\n","import Vue from 'vue';\nimport ref from 'vue-ref';\nimport { initDefaultProps } from '../../_util/props-util';\nimport enhancer from './enhancer';\nimport { propTypes, defaultProps } from './types';\n\nVue.use(ref, { name: 'ant-ref' });\n\nconst Line = {\n props: initDefaultProps(propTypes, defaultProps),\n created() {\n this.paths = {};\n },\n render() {\n const {\n percent,\n prefixCls,\n strokeColor,\n strokeLinecap,\n strokeWidth,\n trailColor,\n trailWidth,\n transition,\n ...restProps\n } = this.$props;\n\n delete restProps.gapPosition;\n\n const percentList = Array.isArray(percent) ? percent : [percent];\n const strokeColorList = Array.isArray(strokeColor) ? strokeColor : [strokeColor];\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 let stackPtg = 0;\n\n const pathFirst = {\n attrs: {\n d: pathString,\n 'stroke-linecap': strokeLinecap,\n stroke: trailColor,\n 'stroke-width': trailWidth || strokeWidth,\n 'fill-opacity': '0',\n },\n class: `${prefixCls}-line-trail`,\n };\n return (\n <svg\n class={`${prefixCls}-line`}\n viewBox={viewBoxString}\n preserveAspectRatio=\"none\"\n {...restProps}\n >\n <path {...pathFirst} />\n {percentList.map((ptg, index) => {\n const pathStyle = {\n strokeDasharray: `${ptg}px, 100px`,\n strokeDashoffset: `-${stackPtg}px`,\n transition:\n transition ||\n 'stroke-dashoffset 0.3s ease 0s, stroke-dasharray .3s ease 0s, stroke 0.3s linear',\n };\n const color = strokeColorList[index] || strokeColorList[strokeColorList.length - 1];\n\n stackPtg += ptg;\n\n const pathProps = {\n key: index,\n attrs: {\n d: pathString,\n 'stroke-linecap': strokeLinecap,\n stroke: color,\n 'stroke-width': strokeWidth,\n 'fill-opacity': '0',\n },\n class: `${prefixCls}-line-path`,\n style: pathStyle,\n directives: [\n {\n name: 'ant-ref',\n value: c => {\n this.paths[index] = c;\n },\n },\n ],\n };\n\n return <path {...pathProps} />;\n })}\n </svg>\n );\n },\n};\n\nexport default enhancer(Line);\n","function enhancer(Component) {\n return {\n mixins: [Component],\n updated() {\n const now = Date.now();\n let updated = false;\n\n Object.keys(this.paths).forEach(key => {\n const path = this.paths[key];\n\n if (!path) {\n return;\n }\n\n updated = true;\n const pathStyle = path.style;\n pathStyle.transitionDuration = '.3s, .3s, .3s, .06s';\n\n if (this.prevTimeStamp && now - this.prevTimeStamp < 100) {\n pathStyle.transitionDuration = '0s, 0s';\n }\n });\n if (updated) {\n this.prevTimeStamp = Date.now();\n }\n },\n };\n}\n\nexport default enhancer;\n","import Line from './Line';\nimport Circle from './Circle';\n\nexport { Line, Circle };\n\nexport default {\n Line,\n Circle,\n};\n","import PropTypes from '../../_util/vue-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};\nconst mixedType = PropTypes.oneOfType([PropTypes.number, PropTypes.string]);\n\nexport const propTypes = {\n // className: PropTypes.string,\n percent: PropTypes.oneOfType([mixedType, PropTypes.arrayOf(mixedType)]),\n prefixCls: PropTypes.string,\n strokeColor: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.object])),\n PropTypes.object,\n ]),\n strokeLinecap: PropTypes.oneOf(['butt', 'round', 'square']),\n strokeWidth: mixedType,\n // style: PropTypes.object,\n trailColor: PropTypes.string,\n trailWidth: mixedType,\n};\n","// based on rc-rate 2.5.0\nimport Rate from './src/';\nexport default Rate;\n","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport KeyCode from '../../_util/KeyCode';\nimport {\n initDefaultProps,\n hasProp,\n getOptionProps,\n getComponentFromProp,\n} from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOffsetLeft } from './util';\nimport Star from './Star';\n\nconst rateProps = {\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 prefixCls: PropTypes.string,\n character: PropTypes.any,\n characterRender: PropTypes.func,\n tabIndex: PropTypes.number,\n autoFocus: PropTypes.bool,\n};\n\nfunction noop() {}\n\nexport default {\n name: 'Rate',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(rateProps, {\n defaultValue: 0,\n count: 5,\n allowHalf: false,\n allowClear: true,\n prefixCls: 'rc-rate',\n tabIndex: 0,\n character: '★',\n }),\n data() {\n let value = this.value;\n if (!hasProp(this, 'value')) {\n value = this.defaultValue;\n }\n return {\n sValue: value,\n focused: false,\n cleanedValue: null,\n hoverValue: undefined,\n };\n },\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus && !this.disabled) {\n this.focus();\n }\n });\n },\n methods: {\n onHover(event, index) {\n const hoverValue = this.getStarValue(index, event.pageX);\n const { cleanedValue } = this;\n if (hoverValue !== cleanedValue) {\n this.setState({\n hoverValue,\n cleanedValue: null,\n });\n }\n this.$emit('hoverChange', hoverValue);\n },\n onMouseLeave() {\n this.setState({\n hoverValue: undefined,\n cleanedValue: null,\n });\n this.$emit('hoverChange', undefined);\n },\n onClick(event, index) {\n const { allowClear, sValue: value } = this;\n const newValue = this.getStarValue(index, event.pageX);\n let isReset = false;\n if (allowClear) {\n isReset = newValue === value;\n }\n this.onMouseLeave(true);\n this.changeValue(isReset ? 0 : newValue);\n this.setState({\n cleanedValue: isReset ? newValue : null,\n });\n },\n onFocus() {\n this.setState({\n focused: true,\n });\n this.$emit('focus');\n },\n onBlur() {\n this.setState({\n focused: false,\n });\n this.$emit('blur');\n },\n onKeyDown(event) {\n const { keyCode } = event;\n const { count, allowHalf } = this;\n let { sValue } = this;\n if (keyCode === KeyCode.RIGHT && sValue < count) {\n if (allowHalf) {\n sValue += 0.5;\n } else {\n sValue += 1;\n }\n this.changeValue(sValue);\n event.preventDefault();\n } else if (keyCode === KeyCode.LEFT && sValue > 0) {\n if (allowHalf) {\n sValue -= 0.5;\n } else {\n sValue -= 1;\n }\n this.changeValue(sValue);\n event.preventDefault();\n }\n this.$emit('keydown', event);\n },\n getStarDOM(index) {\n return this.$refs['stars' + index].$el;\n },\n getStarValue(index, x) {\n let value = index + 1;\n if (this.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 focus() {\n if (!this.disabled) {\n this.$refs.rateRef.focus();\n }\n },\n blur() {\n if (!this.disabled) {\n this.$refs.rateRef.blur();\n }\n },\n changeValue(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n this.$emit('change', value);\n },\n },\n render() {\n const { count, allowHalf, prefixCls, disabled, tabIndex } = getOptionProps(this);\n const { sValue, hoverValue, focused } = this;\n const stars = [];\n const disabledClass = disabled ? `${prefixCls}-disabled` : '';\n const character = getComponentFromProp(this, 'character');\n const characterRender = this.characterRender || this.$scopedSlots.characterRender;\n for (let index = 0; index < count; index++) {\n const starProps = {\n props: {\n index,\n count,\n disabled,\n prefixCls: `${prefixCls}-star`,\n allowHalf,\n value: hoverValue === undefined ? sValue : hoverValue,\n character,\n characterRender,\n focused,\n },\n on: {\n click: this.onClick,\n hover: this.onHover,\n },\n key: index,\n ref: `stars${index}`,\n };\n stars.push(<Star {...starProps} />);\n }\n return (\n <ul\n class={classNames(prefixCls, disabledClass)}\n onMouseleave={disabled ? noop : this.onMouseLeave}\n tabIndex={disabled ? -1 : tabIndex}\n onFocus={disabled ? noop : this.onFocus}\n onBlur={disabled ? noop : this.onBlur}\n onKeydown={disabled ? noop : this.onKeyDown}\n ref=\"rateRef\"\n role=\"radiogroup\"\n >\n {stars}\n </ul>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getComponentFromProp } from '../../_util/props-util';\nfunction noop() {}\n\nexport default {\n name: 'Star',\n mixins: [BaseMixin],\n props: {\n value: PropTypes.number,\n index: PropTypes.number,\n prefixCls: PropTypes.string,\n allowHalf: PropTypes.bool,\n disabled: PropTypes.bool,\n character: PropTypes.any,\n characterRender: PropTypes.func,\n focused: PropTypes.bool,\n count: PropTypes.number,\n },\n methods: {\n onHover(e) {\n const { index } = this;\n this.$emit('hover', e, index);\n },\n onClick(e) {\n const { index } = this;\n this.$emit('click', e, index);\n },\n onKeyDown(e) {\n const { index } = this.$props;\n if (e.keyCode === 13) {\n this.__emit('click', e, index);\n }\n },\n getClassName() {\n const { prefixCls, index, value, allowHalf, focused } = this;\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 {\n onHover,\n onClick,\n onKeyDown,\n disabled,\n prefixCls,\n characterRender,\n index,\n count,\n value,\n } = this;\n\n const character = getComponentFromProp(this, 'character');\n let star = (\n <li class={this.getClassName()}>\n <div\n onClick={disabled ? noop : onClick}\n onKeydown={disabled ? noop : onKeyDown}\n onMousemove={disabled ? noop : onHover}\n role=\"radio\"\n aria-checked={value > index ? 'true' : 'false'}\n aria-posinset={index + 1}\n aria-setsize={count}\n tabIndex={0}\n >\n <div class={`${prefixCls}-first`}>{character}</div>\n <div class={`${prefixCls}-second`}>{character}</div>\n </div>\n </li>\n );\n if (characterRender) {\n star = characterRender(star, this.$props);\n }\n return star;\n },\n};\n","import Rate from './Rate';\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 x;\n let y;\n const doc = elem.ownerDocument;\n const body = doc.body;\n const docElem = doc && doc.documentElement;\n const 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","// based on rc-resize-observer 0.1.3\nimport ResizeObserver from 'resize-observer-polyfill';\n\n// Still need to be compatible with React 15, we use class component here\nconst VueResizeObserver = {\n name: 'ResizeObserver',\n props: {\n disabled: Boolean,\n },\n data() {\n this.currentElement = null;\n this.resizeObserver = null;\n return {\n width: 0,\n height: 0,\n };\n },\n\n mounted() {\n this.onComponentUpdated();\n },\n\n updated() {\n this.onComponentUpdated();\n },\n beforeDestroy() {\n this.destroyObserver();\n },\n methods: {\n onComponentUpdated() {\n const { disabled } = this.$props;\n\n // Unregister if disabled\n if (disabled) {\n this.destroyObserver();\n return;\n }\n\n // Unregister if element changed\n const element = this.$el;\n const elementChanged = element !== this.currentElement;\n if (elementChanged) {\n this.destroyObserver();\n this.currentElement = element;\n }\n\n if (!this.resizeObserver && element) {\n this.resizeObserver = new ResizeObserver(this.onResize);\n this.resizeObserver.observe(element);\n }\n },\n\n onResize(entries) {\n const { target } = entries[0];\n const { width, height } = target.getBoundingClientRect();\n /**\n * Resize observer trigger when content size changed.\n * In most case we just care about element size,\n * let's use `boundary` instead of `contentRect` here to avoid shaking.\n */\n const fixedWidth = Math.floor(width);\n const fixedHeight = Math.floor(height);\n\n if (this.width !== fixedWidth || this.height !== fixedHeight) {\n const size = { width: fixedWidth, height: fixedHeight };\n this.width = fixedWidth;\n this.height = fixedHeight;\n this.$emit('resize', size);\n }\n },\n\n destroyObserver() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n },\n },\n\n render() {\n return this.$slots.default[0];\n },\n};\n\nexport default VueResizeObserver;\n","import raf from 'raf';\nimport PropTypes from '../_util/vue-types';\nimport Menu from '../vc-menu';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport { getSelectKeys, preventDefaultEvent } from './util';\nimport { cloneElement } from '../_util/vnode';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getSlotOptions, getComponentFromProp, getListeners } from '../_util/props-util';\n\nexport default {\n name: 'DropdownMenu',\n mixins: [BaseMixin],\n props: {\n ariaId: PropTypes.string,\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 prefixCls: PropTypes.string,\n menuItems: PropTypes.any,\n inputValue: PropTypes.string,\n visible: PropTypes.bool,\n backfillValue: PropTypes.any,\n firstActiveValue: PropTypes.string,\n menuItemSelectedIcon: PropTypes.any,\n },\n watch: {\n visible(val) {\n if (!val) {\n this.lastVisible = val;\n } else {\n this.$nextTick(() => {\n this.scrollActiveItemToView();\n });\n }\n },\n },\n\n created() {\n this.rafInstance = null;\n this.lastInputValue = this.$props.inputValue;\n this.lastVisible = false;\n },\n\n mounted() {\n this.$nextTick(() => {\n this.scrollActiveItemToView();\n });\n this.lastVisible = this.$props.visible;\n },\n updated() {\n const props = this.$props;\n // if (!this.prevVisible && props.visible) {\n // this.$nextTick(() => {\n // this.scrollActiveItemToView();\n // });\n // }\n this.lastVisible = props.visible;\n this.lastInputValue = props.inputValue;\n this.prevVisible = this.visible;\n },\n beforeDestroy() {\n if (this.rafInstance) {\n raf.cancel(this.rafInstance);\n }\n },\n methods: {\n scrollActiveItemToView() {\n // scroll into view\n const itemComponent = this.firstActiveItem && this.firstActiveItem.$el;\n const props = this.$props;\n const { value, visible, firstActiveValue } = props;\n if (!itemComponent || !visible) {\n return;\n }\n const scrollIntoViewOpts = {\n onlyScrollIfNeeded: true,\n };\n if ((!value || value.length === 0) && firstActiveValue) {\n scrollIntoViewOpts.alignWithTop = true;\n }\n // Delay to scroll since current frame item position is not ready when pre view is by filter\n // https://github.com/ant-design/ant-design/issues/11268#issuecomment-406634462\n this.rafInstance = raf(() => {\n scrollIntoView(itemComponent, this.$refs.menuRef.$el, scrollIntoViewOpts);\n });\n },\n\n renderMenu() {\n const props = this.$props;\n const {\n menuItems,\n defaultActiveFirstOption,\n value,\n prefixCls,\n multiple,\n inputValue,\n firstActiveValue,\n dropdownMenuStyle,\n backfillValue,\n visible,\n } = props;\n const menuItemSelectedIcon = getComponentFromProp(this, 'menuItemSelectedIcon');\n const { menuDeselect, menuSelect, popupScroll } = getListeners(this);\n if (menuItems && menuItems.length) {\n const selectedKeys = getSelectKeys(menuItems, value);\n const menuProps = {\n props: {\n multiple,\n itemIcon: multiple ? menuItemSelectedIcon : null,\n selectedKeys,\n prefixCls: `${prefixCls}-menu`,\n },\n on: {},\n style: dropdownMenuStyle,\n ref: 'menuRef',\n attrs: {\n role: 'listbox',\n },\n };\n if (popupScroll) {\n menuProps.on.scroll = popupScroll;\n }\n if (multiple) {\n menuProps.on.deselect = menuDeselect;\n menuProps.on.select = menuSelect;\n } else {\n menuProps.on.click = menuSelect;\n }\n const activeKeyProps = {};\n\n let defaultActiveFirst = defaultActiveFirstOption;\n let clonedMenuItems = menuItems;\n if (selectedKeys.length || firstActiveValue) {\n if (props.visible && !this.lastVisible) {\n activeKeyProps.activeKey = selectedKeys[0] || firstActiveValue;\n } else if (!visible) {\n // Do not trigger auto active since we already have selectedKeys\n if (selectedKeys[0]) {\n defaultActiveFirst = false;\n }\n activeKeyProps.activeKey = undefined;\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 && !selectedKeys.length && firstActiveValue.indexOf(item.key) !== -1)\n ) {\n foundFirst = true;\n return cloneElement(item, {\n directives: [\n {\n name: 'ant-ref',\n value: ref => {\n this.firstActiveItem = ref;\n },\n },\n ],\n });\n }\n return item;\n };\n\n clonedMenuItems = menuItems.map(item => {\n if (getSlotOptions(item).isMenuItemGroup) {\n const children = item.componentOptions.children.map(clone);\n return cloneElement(item, { children });\n }\n return clone(item);\n });\n } else {\n // Clear firstActiveItem when dropdown menu items was empty\n // Avoid `Unable to find node on an unmounted component`\n // https://github.com/ant-design/ant-design/issues/10774\n this.firstActiveItem = null;\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 menuProps.props = { ...activeKeyProps, ...menuProps.props, defaultActiveFirst };\n return <Menu {...menuProps}>{clonedMenuItems}</Menu>;\n }\n return null;\n },\n },\n render() {\n const renderMenu = this.renderMenu();\n const { popupFocus, popupScroll } = getListeners(this);\n return renderMenu ? (\n <div\n style={{\n overflow: 'auto',\n transform: 'translateZ(0)',\n }}\n id={this.$props.ariaId}\n tabIndex=\"-1\"\n onFocus={popupFocus}\n onMousedown={preventDefaultEvent}\n onScroll={popupScroll}\n ref=\"menuContainer\"\n >\n {renderMenu}\n </div>\n ) : null;\n },\n};\n","import PropTypes from '../_util/vue-types';\nexport default {\n props: {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n },\n isSelectOptGroup: true,\n};\n","import PropTypes from '../_util/vue-types';\n\nexport default {\n props: {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.bool,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n },\n isSelectOption: true,\n};\n","import PropTypes from '../_util/vue-types';\n\nexport const SelectPropTypes = {\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 open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n // onChange: 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 placeholder: PropTypes.any,\n // onDeselect: PropTypes.func,\n labelInValue: PropTypes.bool,\n loading: PropTypes.bool,\n value: PropTypes.any,\n defaultValue: PropTypes.any,\n dropdownStyle: PropTypes.object,\n dropdownClassName: PropTypes.string,\n maxTagTextLength: PropTypes.number,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n tokenSeparators: PropTypes.arrayOf(PropTypes.string),\n getInputElement: PropTypes.func,\n showAction: PropTypes.arrayOf(PropTypes.string),\n autoFocus: PropTypes.bool,\n getPopupContainer: PropTypes.func,\n clearIcon: PropTypes.any,\n inputIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n menuItemSelectedIcon: PropTypes.any,\n dropdownRender: PropTypes.func,\n mode: PropTypes.oneOf(['multiple', 'tags']),\n backfill: PropTypes.bool,\n dropdownAlign: PropTypes.any,\n dropdownMatchSelectWidth: PropTypes.bool,\n dropdownMenuStyle: PropTypes.object,\n notFoundContent: PropTypes.oneOfType([String, Number]),\n tabIndex: PropTypes.oneOfType([String, Number]),\n};\n","import KeyCode from '../_util/KeyCode';\nimport PropTypes from '../_util/vue-types';\nimport classnames from 'classnames';\nimport classes from 'component-classes';\nimport { Item as MenuItem, ItemGroup as MenuItemGroup } from '../vc-menu';\nimport warning from 'warning';\nimport Vue from 'vue';\nimport Option from './Option';\nimport OptGroup from './OptGroup';\nimport {\n hasProp,\n getSlotOptions,\n getPropsData,\n getValueByProp as getValue,\n getComponentFromProp,\n getEvents,\n getClass,\n getStyle,\n getAttrs,\n getOptionProps,\n getSlots,\n getListeners,\n} from '../_util/props-util';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport { cloneElement } from '../_util/vnode';\nimport BaseMixin from '../_util/BaseMixin';\nimport proxyComponent from '../_util/proxyComponent';\nimport ref from 'vue-ref';\nimport SelectTrigger from './SelectTrigger';\nimport {\n defaultFilterFn,\n findFirstMenuItem,\n findIndexInValueBySingleValue,\n generateUUID,\n getLabelFromPropsValue,\n getMapKey,\n getPropValue,\n getValuePropValue,\n includesSeparators,\n isCombobox,\n isMultipleOrTags,\n isMultipleOrTagsOrCombobox,\n isSingleMode,\n preventDefaultEvent,\n saveRef,\n splitBySeparators,\n toArray,\n toTitle,\n UNSELECTABLE_ATTRIBUTE,\n UNSELECTABLE_STYLE,\n validateOptionValue,\n} from './util';\nimport { SelectPropTypes } from './PropTypes';\nimport contains from '../vc-util/Dom/contains';\nimport { isIE, isEdge } from '../_util/env';\n\nVue.use(ref, { name: 'ant-ref' });\nconst SELECT_EMPTY_VALUE_KEY = 'RC_SELECT_EMPTY_VALUE_KEY';\n\nconst noop = () => null;\n\n// Where el is the DOM element you'd like to test for visibility\nfunction isHidden(node) {\n return !node || node.offsetParent === null;\n}\n\nfunction chaining(...fns) {\n return function(...args) {\n // 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(chaining, args);\n }\n }\n };\n}\nconst Select = {\n inheritAttrs: false,\n Option,\n OptGroup,\n name: 'Select',\n mixins: [BaseMixin],\n props: {\n ...SelectPropTypes,\n prefixCls: SelectPropTypes.prefixCls.def('rc-select'),\n defaultOpen: PropTypes.bool.def(false),\n labelInValue: SelectPropTypes.labelInValue.def(false),\n defaultActiveFirstOption: SelectPropTypes.defaultActiveFirstOption.def(true),\n showSearch: SelectPropTypes.showSearch.def(true),\n allowClear: SelectPropTypes.allowClear.def(false),\n placeholder: SelectPropTypes.placeholder.def(''),\n // showArrow: SelectPropTypes.showArrow.def(true),\n dropdownMatchSelectWidth: PropTypes.bool.def(true),\n dropdownStyle: SelectPropTypes.dropdownStyle.def(() => ({})),\n dropdownMenuStyle: PropTypes.object.def(() => ({})),\n optionFilterProp: SelectPropTypes.optionFilterProp.def('value'),\n optionLabelProp: SelectPropTypes.optionLabelProp.def('value'),\n notFoundContent: PropTypes.any.def('Not Found'),\n backfill: PropTypes.bool.def(false),\n showAction: SelectPropTypes.showAction.def(['click']),\n combobox: PropTypes.bool.def(false),\n tokenSeparators: PropTypes.arrayOf(PropTypes.string).def([]),\n autoClearSearchValue: PropTypes.bool.def(true),\n tabIndex: PropTypes.any.def(0),\n dropdownRender: PropTypes.func.def(menu => menu),\n // onChange: noop,\n // onFocus: noop,\n // onBlur: noop,\n // onSelect: noop,\n // onSearch: noop,\n // onDeselect: noop,\n // onInputKeydown: noop,\n },\n model: {\n prop: 'value',\n event: 'change',\n },\n created() {\n this.saveInputRef = saveRef(this, 'inputRef');\n this.saveInputMirrorRef = saveRef(this, 'inputMirrorRef');\n this.saveTopCtrlRef = saveRef(this, 'topCtrlRef');\n this.saveSelectTriggerRef = saveRef(this, 'selectTriggerRef');\n this.saveRootRef = saveRef(this, 'rootRef');\n this.saveSelectionRef = saveRef(this, 'selectionRef');\n this._focused = false;\n this._mouseDown = false;\n this._options = [];\n this._empty = false;\n },\n data() {\n const props = getOptionProps(this);\n const optionsInfo = this.getOptionsInfoFromProps(props);\n warning(\n this.__propsSymbol__,\n 'Replace slots.default with props.children and pass props.__propsSymbol__',\n );\n if (props.tags && typeof props.filterOption !== 'function') {\n const isDisabledExist = Object.keys(optionsInfo).some(key => optionsInfo[key].disabled);\n warning(\n !isDisabledExist,\n 'Please avoid setting option to disabled in tags mode since user can always type text as tag.',\n );\n }\n const state = {\n _value: this.getValueFromProps(props, true), // true: use default value\n _inputValue: props.combobox\n ? this.getInputValueForCombobox(\n props,\n optionsInfo,\n true, // use default value\n )\n : '',\n _open: props.defaultOpen,\n _optionsInfo: optionsInfo,\n _backfillValue: '',\n // a flag for aviod redundant getOptionsInfoFromProps call\n _skipBuildOptionsInfo: true,\n _ariaId: generateUUID(),\n };\n return {\n ...state,\n _mirrorInputValue: state._inputValue, // https://github.com/vueComponent/ant-design-vue/issues/1458\n ...this.getDerivedState(props, state),\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n // when defaultOpen is true, we should auto focus search input\n // https://github.com/ant-design/ant-design/issues/14254\n if (this.autoFocus || this._open) {\n this.focus();\n }\n // this.setState({\n // _ariaId: generateUUID(),\n // });\n });\n },\n watch: {\n __propsSymbol__() {\n Object.assign(this.$data, this.getDerivedState(getOptionProps(this), this.$data));\n },\n '$data._inputValue'(val) {\n this.$data._mirrorInputValue = val;\n },\n },\n updated() {\n this.$nextTick(() => {\n if (isMultipleOrTags(this.$props)) {\n const inputNode = this.getInputDOMNode();\n const mirrorNode = this.getInputMirrorDOMNode();\n if (inputNode && inputNode.value && mirrorNode) {\n inputNode.style.width = '';\n inputNode.style.width = `${mirrorNode.clientWidth + 10}px`;\n } else if (inputNode) {\n inputNode.style.width = '';\n }\n }\n this.forcePopupAlign();\n });\n },\n beforeDestroy() {\n this.clearFocusTime();\n this.clearBlurTime();\n this.clearComboboxTime();\n if (this.dropdownContainer) {\n document.body.removeChild(this.dropdownContainer);\n this.dropdownContainer = null;\n }\n },\n methods: {\n getDerivedState(nextProps, prevState) {\n const optionsInfo = prevState._skipBuildOptionsInfo\n ? prevState._optionsInfo\n : this.getOptionsInfoFromProps(nextProps, prevState);\n\n const newState = {\n _optionsInfo: optionsInfo,\n _skipBuildOptionsInfo: false,\n };\n\n if ('open' in nextProps) {\n newState._open = nextProps.open;\n }\n\n if ('value' in nextProps) {\n const value = this.getValueFromProps(nextProps);\n newState._value = value;\n if (nextProps.combobox) {\n newState._inputValue = this.getInputValueForCombobox(nextProps, optionsInfo);\n }\n }\n return newState;\n },\n getOptionsFromChildren(children = [], options = []) {\n children.forEach(child => {\n if (!child.data || child.data.slot !== undefined) {\n return;\n }\n if (getSlotOptions(child).isSelectOptGroup) {\n this.getOptionsFromChildren(child.componentOptions.children, options);\n } else {\n options.push(child);\n }\n });\n return options;\n },\n getInputValueForCombobox(props, optionsInfo, useDefaultValue) {\n let value = [];\n if ('value' in props && !useDefaultValue) {\n value = toArray(props.value);\n }\n if ('defaultValue' in props && useDefaultValue) {\n value = toArray(props.defaultValue);\n }\n if (value.length) {\n value = value[0];\n } else {\n return '';\n }\n let label = value;\n if (props.labelInValue) {\n label = value.label;\n } else if (optionsInfo[getMapKey(value)]) {\n label = optionsInfo[getMapKey(value)].label;\n }\n if (label === undefined) {\n label = '';\n }\n return label;\n },\n\n getLabelFromOption(props, option) {\n return getPropValue(option, props.optionLabelProp);\n },\n\n getOptionsInfoFromProps(props, preState) {\n const options = this.getOptionsFromChildren(this.$props.children);\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(props, option),\n title: getValue(option, 'title'),\n disabled: getValue(option, 'disabled'),\n };\n });\n if (preState) {\n // keep option info in pre state value.\n const oldOptionsInfo = preState._optionsInfo;\n const value = preState._value;\n if (value) {\n value.forEach(v => {\n const key = getMapKey(v);\n if (!optionsInfo[key] && oldOptionsInfo[key] !== undefined) {\n optionsInfo[key] = oldOptionsInfo[key];\n }\n });\n }\n }\n return optionsInfo;\n },\n\n getValueFromProps(props, useDefaultValue) {\n let value = [];\n if ('value' in props && !useDefaultValue) {\n value = toArray(props.value);\n }\n if ('defaultValue' in props && useDefaultValue) {\n value = toArray(props.defaultValue);\n }\n if (props.labelInValue) {\n value = value.map(v => {\n return v.key;\n });\n }\n return value;\n },\n\n onInputChange(e) {\n const { value: val, composing } = e.target;\n const { _inputValue = '' } = this.$data;\n if (e.isComposing || composing || _inputValue === val) {\n this.setState({\n _mirrorInputValue: val,\n });\n return;\n }\n const { tokenSeparators } = this.$props;\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, { needFocus: 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 onDropdownVisibleChange(open) {\n if (open && !this._focused) {\n this.clearBlurTime();\n this.timeoutFocus();\n this._focused = true;\n this.updateFocusClassName();\n }\n this.setOpenState(open);\n },\n\n // combobox ignore\n onKeyDown(event) {\n const { _open: open } = this.$data;\n const { disabled } = this.$props;\n if (disabled) {\n return;\n }\n const keyCode = event.keyCode;\n if (open && !this.getInputDOMNode()) {\n this.onInputKeydown(event);\n } else if (keyCode === KeyCode.ENTER || keyCode === KeyCode.DOWN) {\n // vue state是同步更新,onKeyDown在onMenuSelect后会再次调用,单选时不在调用setOpenState\n // https://github.com/vueComponent/ant-design-vue/issues/1142\n if (keyCode === KeyCode.ENTER && !isMultipleOrTags(this.$props)) {\n this.maybeFocus(true);\n } else if (!open) {\n this.setOpenState(true);\n }\n event.preventDefault();\n } else if (keyCode === KeyCode.SPACE) {\n // Not block space if popup is shown\n if (!open) {\n this.setOpenState(true);\n event.preventDefault();\n }\n }\n },\n\n onInputKeydown(event) {\n const { disabled, combobox, defaultActiveFirstOption } = this.$props;\n if (disabled) {\n return;\n }\n const state = this.$data;\n const isRealOpen = this.getRealOpenState(state);\n const keyCode = event.keyCode;\n if (isMultipleOrTags(this.$props) && !event.target.value && keyCode === KeyCode.BACKSPACE) {\n event.preventDefault();\n const { _value: value } = state;\n if (value.length) {\n this.removeSelected(value[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.ENTER && state._open) {\n // Aviod trigger form submit when select item\n // https://github.com/ant-design/ant-design/issues/10861\n // https://github.com/ant-design/ant-design/issues/14544\n if (isRealOpen || !combobox) {\n event.preventDefault();\n }\n // Hard close popup to avoid lock of non option in combobox mode\n if (isRealOpen && combobox && defaultActiveFirstOption === false) {\n this.comboboxTimer = setTimeout(() => {\n this.setOpenState(false);\n });\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 (isRealOpen && this.selectTriggerRef) {\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 if (!item) {\n return;\n }\n let value = this.$data._value;\n const props = this.$props;\n const selectedValue = getValuePropValue(item);\n const lastValue = value[value.length - 1];\n let skipTrigger = false;\n\n if (isMultipleOrTags(props)) {\n if (findIndexInValueBySingleValue(value, selectedValue) !== -1) {\n skipTrigger = true;\n } else {\n value = value.concat([selectedValue]);\n }\n } else {\n if (\n !isCombobox(props) &&\n lastValue !== undefined &&\n lastValue === selectedValue &&\n selectedValue !== this.$data._backfillValue\n ) {\n this.setOpenState(false, { needFocus: true, fireSearch: false });\n skipTrigger = true;\n } else {\n value = [selectedValue];\n this.setOpenState(false, { needFocus: true, fireSearch: false });\n }\n }\n if (!skipTrigger) {\n this.fireChange(value);\n }\n if (!skipTrigger) {\n this.fireSelect(selectedValue);\n const inputValue = isCombobox(props) ? getPropValue(item, props.optionLabelProp) : '';\n\n if (props.autoClearSearchValue) {\n this.setInputValue(inputValue, false);\n }\n }\n },\n\n onMenuDeselect({ item, domEvent }) {\n if (domEvent.type === 'keydown' && domEvent.keyCode === KeyCode.ENTER) {\n const menuItemDomNode = item.$el;\n // https://github.com/ant-design/ant-design/issues/20465#issuecomment-569033796\n if (!isHidden(menuItemDomNode)) {\n this.removeSelected(getValuePropValue(item));\n }\n return;\n }\n if (domEvent.type === 'click') {\n this.removeSelected(getValuePropValue(item));\n }\n if (this.autoClearSearchValue) {\n this.setInputValue('');\n }\n },\n\n onArrowClick(e) {\n e.stopPropagation();\n e.preventDefault();\n this.clearBlurTime();\n if (!this.disabled) {\n this.setOpenState(!this.$data._open, { needFocus: !this.$data._open });\n }\n },\n\n onPlaceholderClick() {\n if (this.getInputDOMNode() && this.getInputDOMNode()) {\n this.getInputDOMNode().focus();\n }\n },\n\n onPopupFocus() {\n // fix ie scrollbar, focus element again\n this.maybeFocus(true, true);\n },\n\n onClearSelection(event) {\n const props = this.$props;\n const state = this.$data;\n if (props.disabled) {\n return;\n }\n const { _inputValue: inputValue, _value: value } = state;\n event.stopPropagation();\n if (inputValue || value.length) {\n if (value.length) {\n this.fireChange([]);\n }\n this.setOpenState(false, { needFocus: true });\n if (inputValue) {\n this.setInputValue('');\n }\n }\n },\n\n onChoiceAnimationLeave() {\n this.forcePopupAlign();\n },\n\n getOptionInfoBySingleValue(value, optionsInfo) {\n let info;\n optionsInfo = optionsInfo || this.$data._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 valueLabel = getLabelFromPropsValue(this.$props.value, value);\n const defaultValueLabel = getLabelFromPropsValue(this.$props.defaultValue, value);\n if (valueLabel !== undefined) {\n defaultLabel = valueLabel;\n } else if (defaultValueLabel !== undefined) {\n defaultLabel = defaultValueLabel;\n }\n }\n const defaultInfo = {\n option: (\n <Option value={value} key={value}>\n {value}\n </Option>\n ),\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 getValueByLabel(label) {\n if (label === undefined) {\n return null;\n }\n let value = null;\n Object.keys(this.$data._optionsInfo).forEach(key => {\n const info = this.$data._optionsInfo[key];\n const { disabled } = info;\n if (disabled) {\n return;\n }\n const oldLable = toArray(info.label);\n if (oldLable && oldLable.join('') === label) {\n value = info.value;\n }\n });\n return value;\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(vlsS) {\n let vls = vlsS;\n if (vls !== undefined) {\n if (!this.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 { $props: props, $data: state } = this;\n let hidden = false;\n if (state._mirrorInputValue) {\n hidden = true;\n }\n const value = state._value;\n if (value.length) {\n hidden = true;\n }\n if (\n !state._mirrorInputValue &&\n isCombobox(props) &&\n value.length === 1 &&\n state._value &&\n !state._value[0]\n ) {\n hidden = false;\n }\n const placeholder = props.placeholder;\n if (placeholder) {\n const p = {\n on: {\n mousedown: preventDefaultEvent,\n click: this.onPlaceholderClick,\n },\n attrs: UNSELECTABLE_ATTRIBUTE,\n style: {\n display: hidden ? 'none' : 'block',\n ...UNSELECTABLE_STYLE,\n },\n class: `${props.prefixCls}-selection__placeholder`,\n };\n return <div {...p}>{placeholder}</div>;\n }\n return null;\n },\n inputClick(e) {\n if (this.$data._open) {\n this.clearBlurTime();\n e.stopPropagation();\n } else {\n this._focused = false;\n }\n },\n inputBlur(e) {\n const target = e.relatedTarget || document.activeElement;\n\n // https://github.com/vueComponent/ant-design-vue/issues/999\n // https://github.com/vueComponent/ant-design-vue/issues/1223\n if (\n (isIE || isEdge) &&\n (e.relatedTarget === this.$refs.arrow ||\n (target &&\n this.selectTriggerRef &&\n this.selectTriggerRef.getInnerMenu() &&\n this.selectTriggerRef.getInnerMenu().$el === target) ||\n contains(e.target, target))\n ) {\n e.target.focus();\n e.preventDefault();\n return;\n }\n this.clearBlurTime();\n if (this.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: value } = this.$data;\n const { _inputValue: inputValue } = this.$data;\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 = [getValuePropValue(firstOption)];\n this.fireChange(value);\n }\n }\n } else if (isMultipleOrTags(props) && inputValue) {\n if (this._mouseDown) {\n // need update dropmenu when not blur\n this.setInputValue('');\n } else {\n // why not use setState?\n this.$data._inputValue = '';\n if (this.getInputDOMNode && this.getInputDOMNode()) {\n this.getInputDOMNode().value = '';\n }\n }\n const tmpValue = this.getValueByInput(inputValue);\n if (tmpValue !== undefined) {\n value = tmpValue;\n this.fireChange(value);\n }\n }\n // if click the rest space of Select in multiple mode\n if (isMultipleOrTags(props) && this._mouseDown) {\n this.maybeFocus(true, true);\n this._mouseDown = false;\n return;\n }\n this.setOpenState(false);\n this.$emit('blur', this.getVLForOnChange(value));\n }, 200);\n },\n inputFocus(e) {\n if (this.$props.disabled) {\n e.preventDefault();\n return;\n }\n this.clearBlurTime();\n\n // In IE11, onOuterFocus will be trigger twice when focus input\n // First one: e.target is div\n // Second one: e.target is input\n // other browser only trigger second one\n // https://github.com/ant-design/ant-design/issues/15942\n // Here we ignore the first one when e.target is div\n const inputNode = this.getInputDOMNode();\n if (inputNode && e.target === this.rootRef) {\n return;\n }\n if (!isMultipleOrTagsOrCombobox(this.$props) && e.target === inputNode) {\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 _getInputElement() {\n const props = this.$props;\n const { _inputValue: inputValue, _mirrorInputValue } = this.$data;\n const attrs = getAttrs(this);\n const defaultInput = <input id={attrs.id} autoComplete=\"off\" />;\n\n const inputElement = props.getInputElement ? props.getInputElement() : defaultInput;\n const inputCls = classnames(getClass(inputElement), {\n [`${props.prefixCls}-search__field`]: true,\n });\n const inputEvents = getEvents(inputElement);\n // https://github.com/ant-design/ant-design/issues/4992#issuecomment-281542159\n // Add space to the end of the inputValue as the width measurement tolerance\n inputElement.data = inputElement.data || {};\n return (\n <div class={`${props.prefixCls}-search__field__wrap`} onClick={this.inputClick}>\n {cloneElement(inputElement, {\n props: {\n disabled: props.disabled,\n value: inputValue,\n },\n attrs: {\n ...(inputElement.data.attrs || {}),\n disabled: props.disabled,\n value: inputValue,\n },\n domProps: {\n value: inputValue,\n },\n class: inputCls,\n directives: [\n {\n name: 'ant-ref',\n value: this.saveInputRef,\n },\n {\n name: 'ant-input',\n },\n ],\n on: {\n input: this.onInputChange,\n keydown: chaining(\n this.onInputKeydown,\n inputEvents.keydown,\n getListeners(this).inputKeydown,\n ),\n focus: chaining(this.inputFocus, inputEvents.focus),\n blur: chaining(this.inputBlur, inputEvents.blur),\n },\n })}\n <span\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveInputMirrorRef,\n },\n ],\n }}\n // ref='inputMirrorRef'\n class={`${props.prefixCls}-search__field__mirror`}\n >\n {_mirrorInputValue}&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 if (this.selectTriggerRef) {\n return this.selectTriggerRef.getPopupDOMNode();\n }\n },\n\n getPopupMenuComponent() {\n if (this.selectTriggerRef) {\n return this.selectTriggerRef.getInnerMenu();\n }\n },\n\n setOpenState(open, config = {}) {\n const { $props: props, $data: state } = this;\n const { needFocus, fireSearch } = config;\n if (state._open === open) {\n this.maybeFocus(open, !!needFocus);\n return;\n }\n this.__emit('dropdownVisibleChange', open);\n const nextState = {\n _open: open,\n _backfillValue: '',\n };\n // clear search input value when open is false in singleMode.\n if (!open && isSingleMode(props) && props.showSearch) {\n this.setInputValue('', fireSearch);\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.$data._inputValue) {\n this.setState(\n {\n _inputValue: inputValue,\n },\n this.forcePopupAlign,\n );\n if (fireSearch) {\n this.$emit('search', inputValue);\n }\n }\n },\n getValueByInput(str) {\n const { multiple, tokenSeparators } = this.$props;\n let nextValue = this.$data._value;\n let hasNewValue = false;\n splitBySeparators(str, 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 if (findIndexInValueBySingleValue(nextValue, label) === -1) {\n nextValue = nextValue.concat(selectedValue);\n hasNewValue = true;\n this.fireSelect(label);\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\n let open = (state || this.$data)._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) && this.selectionRef) {\n this.selectionRef.focus();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().focus();\n }\n },\n\n blur() {\n if (isSingleMode(this.$props) && this.selectionRef) {\n this.selectionRef.blur();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().blur();\n }\n },\n markMouseDown() {\n this._mouseDown = true;\n },\n\n markMouseLeave() {\n this._mouseDown = false;\n },\n\n handleBackfill(item) {\n if (!this.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: value, _backfillValue: backfillValue } = this.$data;\n const lastValue = value[value.length - 1];\n if (!input || (lastValue && lastValue === backfillValue)) {\n return true;\n }\n let filterFn = this.$props.filterOption;\n if (hasProp(this, 'filterOption')) {\n if (filterFn === true) {\n filterFn = defaultFilter.bind(this);\n }\n } else {\n filterFn = defaultFilter.bind(this);\n }\n if (!filterFn) {\n return true;\n } else if (typeof filterFn === 'function') {\n return filterFn.call(this, input, child);\n } else if (getValue(child, 'disabled')) {\n return false;\n }\n return true;\n },\n\n timeoutFocus() {\n if (this.focusTimer) {\n this.clearFocusTime();\n }\n this.focusTimer = window.setTimeout(() => {\n // this._focused = true\n // this.updateFocusClassName()\n this.$emit('focus');\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 clearComboboxTime() {\n if (this.comboboxTimer) {\n clearTimeout(this.comboboxTimer);\n this.comboboxTimer = null;\n }\n },\n\n updateFocusClassName() {\n const { rootRef, prefixCls } = this;\n // avoid setState and its side effect\n if (this._focused) {\n classes(rootRef).add(`${prefixCls}-focused`);\n } else {\n classes(rootRef).remove(`${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 if (activeElement !== this.selectionRef && this.selectionRef) {\n this.selectionRef.focus();\n this._focused = true;\n }\n }\n },\n\n removeSelected(selectedKey, e) {\n const props = this.$props;\n if (props.disabled || this.isChildDisabled(selectedKey)) {\n return;\n }\n // Do not trigger Trigger popup\n if (e && e.stopPropagation) {\n e.stopPropagation();\n }\n const oldValue = this.$data._value;\n const value = oldValue.filter(singleValue => {\n return singleValue !== selectedKey;\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 this.$emit('deselect', event, this.getOptionBySingleValue(selectedKey));\n }\n this.fireChange(value);\n },\n\n openIfHasChildren() {\n const { $props } = this;\n if (($props.children && $props.children.length) || isSingleMode($props)) {\n this.setOpenState(true);\n }\n },\n fireSelect(value) {\n this.$emit('select', this.getVLBySingleValue(value), this.getOptionBySingleValue(value));\n },\n fireChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState(\n {\n _value: value,\n },\n this.forcePopupAlign,\n );\n }\n const vls = this.getVLForOnChange(value);\n const options = this.getOptionsBySingleValue(value);\n this._valueOptions = options;\n this.$emit('change', vls, isMultipleOrTags(this.$props) ? options : options[0]);\n },\n\n isChildDisabled(key) {\n return (this.$props.children || []).some(child => {\n const childValue = getValuePropValue(child);\n return childValue === key && getValue(child, 'disabled');\n });\n },\n forcePopupAlign() {\n if (!this.$data._open) {\n return;\n }\n if (this.selectTriggerRef && this.selectTriggerRef.triggerRef) {\n this.selectTriggerRef.triggerRef.forcePopupAlign();\n }\n },\n renderFilterOptions() {\n const { _inputValue: inputValue } = this.$data;\n const { children, tags, notFoundContent } = this.$props;\n const menuItems = [];\n const childrenKeys = [];\n let empty = false;\n let options = this.renderFilterOptionsFromChildren(children, childrenKeys, menuItems);\n if (tags) {\n // tags value must be string\n let value = this.$data._value;\n value = value.filter(singleValue => {\n return (\n childrenKeys.indexOf(singleValue) === -1 &&\n (!inputValue || String(singleValue).indexOf(String(inputValue)) > -1)\n );\n });\n\n // sort by length\n value.sort((val1, val2) => {\n return val1.length - val2.length;\n });\n\n value.forEach(singleValue => {\n const key = singleValue;\n const attrs = {\n ...UNSELECTABLE_ATTRIBUTE,\n role: 'option',\n };\n const menuItem = (\n <MenuItem style={UNSELECTABLE_STYLE} {...{ attrs }} value={key} key={key}>\n {key}\n </MenuItem>\n );\n options.push(menuItem);\n menuItems.push(menuItem);\n });\n // ref: https://github.com/ant-design/ant-design/issues/14090\n if (inputValue && menuItems.every(option => getValuePropValue(option) !== inputValue)) {\n const p = {\n attrs: UNSELECTABLE_ATTRIBUTE,\n key: inputValue,\n props: {\n value: inputValue,\n role: 'option',\n },\n style: UNSELECTABLE_STYLE,\n };\n options.unshift(<MenuItem {...p}>{inputValue}</MenuItem>);\n }\n }\n\n if (!options.length && notFoundContent) {\n empty = true;\n const p = {\n attrs: UNSELECTABLE_ATTRIBUTE,\n key: 'NOT_FOUND',\n props: {\n value: 'NOT_FOUND',\n disabled: true,\n role: 'option',\n },\n style: UNSELECTABLE_STYLE,\n };\n options = [<MenuItem {...p}>{notFoundContent}</MenuItem>];\n }\n return { empty, options };\n },\n\n renderFilterOptionsFromChildren(children = [], childrenKeys, menuItems) {\n const sel = [];\n const props = this.$props;\n const { _inputValue: inputValue } = this.$data;\n const tags = props.tags;\n children.forEach(child => {\n if (!child.data || child.data.slot !== undefined) {\n return;\n }\n if (getSlotOptions(child).isSelectOptGroup) {\n let label = getComponentFromProp(child, 'label');\n let key = child.key;\n if (!key && typeof label === 'string') {\n key = label;\n } else if (!label && key) {\n label = key;\n }\n let childChildren = getSlots(child).default;\n childChildren = typeof childChildren === 'function' ? childChildren() : childChildren;\n // Match option group label\n if (inputValue && this._filterOption(inputValue, child)) {\n const innerItems = childChildren.map(subChild => {\n const childValueSub = getValuePropValue(subChild) || subChild.key;\n return (\n <MenuItem key={childValueSub} value={childValueSub} {...subChild.data}>\n {subChild.componentOptions.children}\n </MenuItem>\n );\n });\n\n sel.push(\n <MenuItemGroup key={key} title={label} class={getClass(child)}>\n {innerItems}\n </MenuItemGroup>,\n );\n\n // Not match\n } else {\n const innerItems = this.renderFilterOptionsFromChildren(\n childChildren,\n childrenKeys,\n menuItems,\n );\n if (innerItems.length) {\n sel.push(\n <MenuItemGroup key={key} title={label} {...child.data}>\n {innerItems}\n </MenuItemGroup>,\n );\n }\n }\n\n return;\n }\n warning(\n getSlotOptions(child).isSelectOption,\n 'the children of `Select` should be `Select.Option` or `Select.OptGroup`, ' +\n `instead of \\`${getSlotOptions(child).name || getSlotOptions(child)}\\`.`,\n );\n\n const childValue = getValuePropValue(child);\n\n validateOptionValue(childValue, this.$props);\n if (this._filterOption(inputValue, child)) {\n const p = {\n attrs: {\n ...UNSELECTABLE_ATTRIBUTE,\n ...getAttrs(child),\n },\n key: childValue,\n props: {\n value: childValue,\n ...getPropsData(child),\n role: 'option',\n },\n style: UNSELECTABLE_STYLE,\n on: getEvents(child),\n class: getClass(child),\n };\n const menuItem = <MenuItem {...p}>{child.componentOptions.children}</MenuItem>;\n sel.push(menuItem);\n menuItems.push(menuItem);\n }\n if (tags) {\n childrenKeys.push(childValue);\n }\n });\n\n return sel;\n },\n\n renderTopControlNode() {\n const { $props: props } = this;\n const { _value: value, _inputValue: inputValue, _open: open } = this.$data;\n const {\n choiceTransitionName,\n prefixCls,\n maxTagTextLength,\n maxTagCount,\n maxTagPlaceholder,\n showSearch,\n } = props;\n const removeIcon = getComponentFromProp(this, 'removeIcon');\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 if (value.length) {\n let showSelectedValue = false;\n let opacity = 1;\n if (!showSearch) {\n showSelectedValue = true;\n } else if (open) {\n showSelectedValue = !inputValue;\n if (showSelectedValue) {\n opacity = 0.4;\n }\n } else {\n showSelectedValue = true;\n }\n const singleValue = value[0];\n const { label, title } = this.getOptionInfoBySingleValue(singleValue);\n selectedValue = (\n <div\n key=\"value\"\n class={`${prefixCls}-selection-selected-value`}\n title={toTitle(title || label)}\n style={{\n display: showSelectedValue ? 'block' : 'none',\n opacity,\n }}\n >\n {label}\n </div>\n );\n }\n if (!showSearch) {\n innerNode = [selectedValue];\n } else {\n innerNode = [\n selectedValue,\n <div\n class={`${prefixCls}-search ${prefixCls}-search--inline`}\n key=\"input\"\n style={{\n display: open ? 'block' : 'none',\n }}\n >\n {this._getInputElement()}\n </div>,\n ];\n }\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 =\n typeof maxTagPlaceholder === 'function'\n ? maxTagPlaceholder(omittedValues)\n : maxTagPlaceholder;\n }\n const attrs = {\n ...UNSELECTABLE_ATTRIBUTE,\n role: 'presentation',\n title: toTitle(content),\n };\n maxTagPlaceholderEl = (\n <li\n style={UNSELECTABLE_STYLE}\n {...{ attrs }}\n onMousedown={preventDefaultEvent}\n class={`${prefixCls}-selection__choice ${prefixCls}-selection__choice__disabled`}\n key=\"maxTagPlaceholder\"\n >\n <div class={`${prefixCls}-selection__choice__content`}>{content}</div>\n </li>\n );\n }\n if (isMultipleOrTags(props)) {\n selectedValueNodes = limitedCountValue.map(singleValue => {\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 // attrs 放在一起,避免动态title混乱问题,很奇怪的问题 https://github.com/vueComponent/ant-design-vue/issues/588\n const attrs = {\n ...UNSELECTABLE_ATTRIBUTE,\n role: 'presentation',\n title: toTitle(title),\n };\n return (\n <li\n style={UNSELECTABLE_STYLE}\n {...{ attrs }}\n onMousedown={preventDefaultEvent}\n class={choiceClassName}\n key={singleValue || SELECT_EMPTY_VALUE_KEY}\n >\n <div class={`${prefixCls}-selection__choice__content`}>{content}</div>\n {disabled ? null : (\n <span\n onClick={event => {\n this.removeSelected(singleValue, event);\n }}\n class={`${prefixCls}-selection__choice__remove`}\n >\n {removeIcon || <i class={`${prefixCls}-selection__choice__remove-icon`}>×</i>}\n </span>\n )}\n </li>\n );\n });\n }\n if (maxTagPlaceholderEl) {\n selectedValueNodes.push(maxTagPlaceholderEl);\n }\n selectedValueNodes.push(\n <li class={`${prefixCls}-search ${prefixCls}-search--inline`} key=\"__input\">\n {this._getInputElement()}\n </li>,\n );\n\n if (isMultipleOrTags(props) && choiceTransitionName) {\n const transitionProps = getTransitionProps(choiceTransitionName, {\n tag: 'ul',\n afterLeave: this.onChoiceAnimationLeave,\n });\n innerNode = (\n <transition-group {...transitionProps}>{selectedValueNodes}</transition-group>\n );\n } else {\n innerNode = <ul>{selectedValueNodes}</ul>;\n }\n }\n return (\n <div\n class={className}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveTopCtrlRef,\n },\n ],\n }}\n onClick={this.topCtrlContainerClick}\n >\n {this.getPlaceholderElement()}\n {innerNode}\n </div>\n );\n },\n renderArrow(multiple) {\n // showArrow : Set to true if not multiple by default but keep set value.\n const { showArrow = !multiple, loading, prefixCls } = this.$props;\n const inputIcon = getComponentFromProp(this, 'inputIcon');\n if (!showArrow && !loading) {\n return null;\n }\n // if loading have loading icon\n const defaultIcon = loading ? (\n <i class={`${prefixCls}-arrow-loading`} />\n ) : (\n <i class={`${prefixCls}-arrow-icon`} />\n );\n return (\n <span\n key=\"arrow\"\n class={`${prefixCls}-arrow`}\n style={UNSELECTABLE_STYLE}\n {...{ attrs: UNSELECTABLE_ATTRIBUTE }}\n onClick={this.onArrowClick}\n ref=\"arrow\"\n >\n {inputIcon || defaultIcon}\n </span>\n );\n },\n topCtrlContainerClick(e) {\n if (this.$data._open && !isSingleMode(this.$props)) {\n e.stopPropagation();\n }\n },\n renderClear() {\n const { prefixCls, allowClear } = this.$props;\n const { _value: value, _inputValue: inputValue } = this.$data;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const clear = (\n <span\n key=\"clear\"\n class={`${prefixCls}-selection__clear`}\n onMousedown={preventDefaultEvent}\n style={UNSELECTABLE_STYLE}\n {...{ attrs: UNSELECTABLE_ATTRIBUTE }}\n onClick={this.onClearSelection}\n >\n {clearIcon || <i class={`${prefixCls}-selection__clear-icon`}>×</i>}\n </span>\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 selectionRefClick() {\n //e.stopPropagation();\n if (!this.disabled) {\n const input = this.getInputDOMNode();\n if (this._focused && this.$data._open) {\n // this._focused = false;\n this.setOpenState(false, false);\n input && input.blur();\n } else {\n this.clearBlurTime();\n //this._focused = true;\n this.setOpenState(true, true);\n input && input.focus();\n }\n }\n },\n selectionRefFocus(e) {\n if (this._focused || this.disabled || isMultipleOrTagsOrCombobox(this.$props)) {\n e.preventDefault();\n return;\n }\n this._focused = true;\n this.updateFocusClassName();\n this.$emit('focus');\n },\n selectionRefBlur(e) {\n if (isMultipleOrTagsOrCombobox(this.$props)) {\n e.preventDefault();\n return;\n }\n this.inputBlur(e);\n },\n },\n\n render() {\n const props = this.$props;\n const multiple = isMultipleOrTags(props);\n // Default set showArrow to true if not set (not set directly in defaultProps to handle multiple case)\n const { showArrow = true } = props;\n const state = this.$data;\n const { disabled, prefixCls, loading } = props;\n const ctrlNode = this.renderTopControlNode();\n const { _open: open, _inputValue: inputValue, _value: value } = this.$data;\n if (open) {\n const filterOptions = this.renderFilterOptions();\n this._empty = filterOptions.empty;\n this._options = filterOptions.options;\n }\n const realOpen = this.getRealOpenState();\n const empty = this._empty;\n const options = this._options || [];\n const { mouseenter = noop, mouseleave = noop, popupScroll = noop } = getListeners(this);\n const selectionProps = {\n props: {},\n attrs: {\n role: 'combobox',\n 'aria-autocomplete': 'list',\n 'aria-haspopup': 'true',\n 'aria-expanded': realOpen,\n 'aria-controls': this.$data._ariaId,\n },\n on: {\n // click: this.selectionRefClick,\n },\n class: `${prefixCls}-selection ${prefixCls}-selection--${multiple ? 'multiple' : 'single'}`,\n // directives: [\n // {\n // name: 'ant-ref',\n // value: this.saveSelectionRef,\n // },\n // ],\n key: 'selection',\n };\n //if (!isMultipleOrTagsOrCombobox(props)) {\n // selectionProps.on.keydown = this.onKeyDown;\n // selectionProps.on.focus = this.selectionRefFocus;\n // selectionProps.on.blur = this.selectionRefBlur;\n // selectionProps.attrs.tabIndex = props.disabled ? -1 : props.tabIndex;\n //}\n let extraSelectionProps = { attrs: { tabIndex: -1 } };\n if (!isMultipleOrTagsOrCombobox(props)) {\n extraSelectionProps.attrs.tabIndex = props.disabled ? -1 : props.tabIndex;\n }\n const rootCls = {\n [prefixCls]: true,\n [`${prefixCls}-open`]: open,\n [`${prefixCls}-focused`]: open || !!this._focused,\n [`${prefixCls}-combobox`]: isCombobox(props),\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-enabled`]: !disabled,\n [`${prefixCls}-allow-clear`]: !!props.allowClear,\n [`${prefixCls}-no-arrow`]: !showArrow,\n [`${prefixCls}-loading`]: !!loading,\n };\n return (\n <SelectTrigger\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 empty={empty}\n multiple={multiple}\n disabled={disabled}\n visible={realOpen}\n inputValue={inputValue}\n value={value}\n backfillValue={state._backfillValue}\n firstActiveValue={props.firstActiveValue}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n getPopupContainer={props.getPopupContainer}\n onMenuSelect={this.onMenuSelect}\n onMenuDeselect={this.onMenuDeselect}\n onPopupScroll={popupScroll}\n onPopupFocus={this.onPopupFocus}\n onMouseenter={mouseenter}\n onMouseleave={mouseleave}\n showAction={props.showAction}\n menuItemSelectedIcon={getComponentFromProp(this, 'menuItemSelectedIcon')}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveSelectTriggerRef,\n },\n ],\n }}\n dropdownRender={props.dropdownRender}\n ariaId={this.$data._ariaId}\n >\n <div\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: chaining(this.saveRootRef, this.saveSelectionRef),\n },\n ],\n }}\n style={getStyle(this)}\n class={classnames(rootCls)}\n onMousedown={this.markMouseDown}\n onMouseup={this.markMouseLeave}\n onMouseout={this.markMouseLeave}\n {...extraSelectionProps}\n onBlur={this.selectionRefBlur}\n onFocus={this.selectionRefFocus}\n onClick={this.selectionRefClick}\n onKeydown={isMultipleOrTagsOrCombobox(props) ? noop : this.onKeyDown}\n >\n <div {...selectionProps}>\n {ctrlNode}\n {this.renderClear()}\n {this.renderArrow(!!multiple)}\n </div>\n </div>\n </SelectTrigger>\n );\n },\n};\nexport { Select };\nexport default proxyComponent(Select);\n","import classnames from 'classnames';\nimport raf from 'raf';\nimport Trigger from '../vc-trigger';\nimport PropTypes from '../_util/vue-types';\nimport DropdownMenu from './DropdownMenu';\nimport { isSingleMode, saveRef } from './util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getListeners } from '../_util/props-util';\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\nexport default {\n name: 'SelectTrigger',\n mixins: [BaseMixin],\n props: {\n // onPopupFocus: PropTypes.func,\n // onPopupScroll: PropTypes.func,\n dropdownMatchSelectWidth: PropTypes.bool,\n defaultActiveFirstOption: PropTypes.bool,\n dropdownAlign: PropTypes.object,\n visible: PropTypes.bool,\n disabled: PropTypes.bool,\n showSearch: PropTypes.bool,\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.object,\n dropdownMenuStyle: PropTypes.object,\n multiple: PropTypes.bool,\n inputValue: PropTypes.string,\n filterOption: PropTypes.any,\n empty: PropTypes.bool,\n options: PropTypes.any,\n prefixCls: PropTypes.string,\n popupClassName: PropTypes.string,\n value: PropTypes.array,\n // children: PropTypes.any,\n showAction: PropTypes.arrayOf(PropTypes.string),\n combobox: PropTypes.bool,\n animation: PropTypes.string,\n transitionName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n backfillValue: PropTypes.any,\n menuItemSelectedIcon: PropTypes.any,\n dropdownRender: PropTypes.func,\n ariaId: PropTypes.string,\n },\n data() {\n return {\n dropdownWidth: 0,\n };\n },\n created() {\n this.rafInstance = null;\n this.saveDropdownMenuRef = saveRef(this, 'dropdownMenuRef');\n this.saveTriggerRef = saveRef(this, 'triggerRef');\n },\n\n mounted() {\n this.$nextTick(() => {\n this.setDropdownWidth();\n });\n },\n\n updated() {\n this.$nextTick(() => {\n this.setDropdownWidth();\n });\n },\n beforeDestroy() {\n this.cancelRafInstance();\n },\n methods: {\n setDropdownWidth() {\n this.cancelRafInstance();\n this.rafInstance = raf(() => {\n const width = this.$el.offsetWidth;\n if (width !== this.dropdownWidth) {\n this.setState({ dropdownWidth: width });\n }\n });\n },\n cancelRafInstance() {\n if (this.rafInstance) {\n raf.cancel(this.rafInstance);\n }\n },\n getInnerMenu() {\n return this.dropdownMenuRef && this.dropdownMenuRef.$refs.menuRef;\n },\n\n getPopupDOMNode() {\n return this.triggerRef.getPopupDomNode();\n },\n\n getDropdownElement(newProps) {\n const {\n value,\n firstActiveValue,\n defaultActiveFirstOption,\n dropdownMenuStyle,\n getDropdownPrefixCls,\n backfillValue,\n menuItemSelectedIcon,\n } = this;\n const { menuSelect, menuDeselect, popupScroll } = getListeners(this);\n const props = this.$props;\n\n const { dropdownRender, ariaId } = props;\n const dropdownMenuProps = {\n props: {\n ...newProps.props,\n ariaId,\n prefixCls: getDropdownPrefixCls(),\n value,\n firstActiveValue,\n defaultActiveFirstOption,\n dropdownMenuStyle,\n backfillValue,\n menuItemSelectedIcon,\n },\n on: {\n ...newProps.on,\n menuSelect,\n menuDeselect,\n popupScroll,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.saveDropdownMenuRef,\n },\n ],\n };\n const menuNode = <DropdownMenu {...dropdownMenuProps} />;\n\n if (dropdownRender) {\n return dropdownRender(menuNode, props);\n }\n return null;\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.prefixCls}-dropdown`;\n },\n },\n\n render() {\n const { $props, $slots } = this;\n const {\n multiple,\n visible,\n inputValue,\n dropdownAlign,\n disabled,\n showSearch,\n dropdownClassName,\n dropdownStyle,\n dropdownMatchSelectWidth,\n options,\n getPopupContainer,\n showAction,\n empty,\n } = $props;\n const { mouseenter, mouseleave, popupFocus, dropdownVisibleChange } = getListeners(this);\n const dropdownPrefixCls = this.getDropdownPrefixCls();\n const popupClassName = {\n [dropdownClassName]: !!dropdownClassName,\n [`${dropdownPrefixCls}--${multiple ? 'multiple' : 'single'}`]: 1,\n [`${dropdownPrefixCls}--empty`]: empty,\n };\n const popupElement = this.getDropdownElement({\n props: {\n menuItems: options,\n multiple,\n inputValue,\n visible,\n },\n on: {\n popupFocus,\n },\n });\n let hideAction;\n if (disabled) {\n hideAction = [];\n } else if (isSingleMode($props) && !showSearch) {\n hideAction = ['click'];\n } else {\n hideAction = ['blur'];\n }\n const popupStyle = { ...dropdownStyle };\n const widthProp = dropdownMatchSelectWidth ? 'width' : 'minWidth';\n if (this.dropdownWidth) {\n popupStyle[widthProp] = `${this.dropdownWidth}px`;\n }\n const triggerProps = {\n props: {\n ...$props,\n showAction: disabled ? [] : showAction,\n hideAction,\n ref: 'triggerRef',\n popupPlacement: 'bottomLeft',\n builtinPlacements: BUILT_IN_PLACEMENTS,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: this.getDropdownTransitionName(),\n popupAlign: dropdownAlign,\n popupVisible: visible,\n getPopupContainer,\n popupClassName: classnames(popupClassName),\n popupStyle,\n },\n on: {\n popupVisibleChange: dropdownVisibleChange,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.saveTriggerRef,\n },\n ],\n };\n if (mouseenter) {\n triggerProps.on.mouseenter = mouseenter;\n }\n if (mouseleave) {\n triggerProps.on.mouseleave = mouseleave;\n }\n return (\n <Trigger {...triggerProps}>\n {$slots.default}\n <template slot=\"popup\">{popupElement}</template>\n </Trigger>\n );\n },\n};\n","// based on vc-select 9.2.2\nimport ProxySelect, { Select } from './Select';\nimport Option from './Option';\nimport { SelectPropTypes } from './PropTypes';\nimport OptGroup from './OptGroup';\nSelect.Option = Option;\nSelect.OptGroup = OptGroup;\nProxySelect.Option = Option;\nProxySelect.OptGroup = OptGroup;\nexport { Select, Option, OptGroup, SelectPropTypes };\nexport default ProxySelect;\n","import {\n getPropsData,\n getSlotOptions,\n getKey,\n getAttrs,\n getComponentFromProp,\n} from '../_util/props-util';\nimport { cloneVNodes } from '../_util/vnode';\n\nexport function toTitle(title) {\n if (typeof title === 'string') {\n return title.trim();\n }\n return '';\n}\nexport function getValuePropValue(child) {\n if (!child) {\n return null;\n }\n const props = getPropsData(child);\n if ('value' in props) {\n return props.value;\n }\n if (getKey(child) !== undefined) {\n return getKey(child);\n }\n if (getSlotOptions(child).isSelectOptGroup) {\n const label = getComponentFromProp(child, 'label');\n if (label) {\n return label;\n }\n }\n throw new Error(`Need at least a key or a value or a label (only for OptGroup) for ${child}`);\n}\n\nexport function getPropValue(child, prop) {\n if (prop === 'value') {\n return getValuePropValue(child);\n }\n if (prop === 'children') {\n const newChild = child.$slots\n ? cloneVNodes(child.$slots.default, true)\n : cloneVNodes(child.componentOptions.children, true);\n if (newChild.length === 1 && !newChild[0].tag) {\n return newChild[0].text;\n }\n return newChild;\n }\n const data = getPropsData(child);\n if (prop in data) {\n return data[prop];\n } else {\n return getAttrs(child)[prop];\n }\n}\n\nexport function isMultiple(props) {\n return props.multiple;\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 if (value) {\n for (let i = 0; i < value.length; i++) {\n if (value[i] === singleValue) {\n index = i;\n break;\n }\n }\n }\n return index;\n}\n\nexport function getLabelFromPropsValue(value, key) {\n let label;\n value = toArray(value);\n if (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 }\n return label;\n}\n\nexport function getSelectKeys(menuItems, value) {\n if (value === null || value === undefined) {\n return [];\n }\n let selectedKeys = [];\n menuItems.forEach(item => {\n if (getSlotOptions(item).isMenuItemGroup) {\n selectedKeys = selectedKeys.concat(getSelectKeys(item.componentOptions.children, value));\n } else {\n const itemValue = getValuePropValue(item);\n const itemKey = item.key;\n if (findIndexInValueBySingleValue(value, itemValue) !== -1 && itemKey !== undefined) {\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: 'on',\n};\n\nexport function findFirstMenuItem(children) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n const props = getPropsData(child);\n if (getSlotOptions(child).isMenuItemGroup) {\n const found = findFirstMenuItem(child.componentOptions.children);\n if (found) {\n return found;\n }\n } else if (!props.disabled) {\n return child;\n }\n }\n return null;\n}\n\nexport function includesSeparators(str, separators) {\n for (let i = 0; i < separators.length; ++i) {\n if (str.lastIndexOf(separators[i]) > 0) {\n return true;\n }\n }\n return false;\n}\n\nexport function splitBySeparators(str, separators) {\n const reg = new RegExp(`[${separators.join()}]`);\n return str.split(reg).filter(token => token);\n}\n\nexport function defaultFilterFn(input, child) {\n const props = getPropsData(child);\n if (props.disabled) {\n return false;\n }\n let value = getPropValue(child, this.optionFilterProp);\n if (value.length && value[0].text) {\n value = value[0].text;\n } else {\n value = String(value);\n }\n return value.toLowerCase().indexOf(input.toLowerCase()) > -1;\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\nexport function generateUUID() {\n if (process.env.NODE_ENV === 'test') {\n return 'test-uuid';\n }\n let d = new Date().getTime();\n const uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\n const r = (d + Math.random() * 16) % 16 | 0;\n d = Math.floor(d / 16);\n return (c === 'x' ? r : (r & 0x7) | 0x8).toString(16);\n });\n return uuid;\n}\n","import { cloneElement } from '../../_util/vnode';\nimport { canGoNext } from './utils/innerSliderUtils';\n\nfunction noop() {}\n\nexport const PrevArrow = {\n functional: true,\n clickHandler(options, handle, e) {\n if (e) {\n e.preventDefault();\n }\n handle(options, e);\n },\n render(createElement, context) {\n const { props } = context;\n const { clickHandler, infinite, currentSlide, slideCount, slidesToShow } = props;\n const prevClasses = { 'slick-arrow': true, 'slick-prev': true };\n let prevHandler = function(e) {\n if (e) {\n e.preventDefault();\n }\n clickHandler({ message: 'previous' });\n };\n\n if (!infinite && (currentSlide === 0 || slideCount <= slidesToShow)) {\n prevClasses['slick-disabled'] = true;\n prevHandler = noop;\n }\n\n const prevArrowProps = {\n key: '0',\n domProps: {\n 'data-role': 'none',\n },\n class: prevClasses,\n style: { display: 'block' },\n on: {\n click: prevHandler,\n },\n };\n const customProps = {\n currentSlide,\n slideCount,\n };\n let prevArrow;\n\n if (props.prevArrow) {\n prevArrow = cloneElement(\n props.prevArrow({\n ...prevArrowProps,\n ...{\n props: customProps,\n },\n }),\n {\n key: '0',\n class: prevClasses,\n style: { display: 'block' },\n on: {\n click: prevHandler,\n },\n },\n );\n } else {\n prevArrow = (\n <button key=\"0\" type=\"button\" {...prevArrowProps}>\n {' '}\n Previous\n </button>\n );\n }\n\n return prevArrow;\n },\n};\n\nexport const NextArrow = {\n functional: true,\n clickHandler(options, handle, e) {\n if (e) {\n e.preventDefault();\n }\n handle(options, e);\n },\n render(createElement, context) {\n const { props } = context;\n const { clickHandler, currentSlide, slideCount } = props;\n\n const nextClasses = { 'slick-arrow': true, 'slick-next': true };\n let nextHandler = function(e) {\n if (e) {\n e.preventDefault();\n }\n clickHandler({ message: 'next' });\n };\n if (!canGoNext(props)) {\n nextClasses['slick-disabled'] = true;\n nextHandler = noop;\n }\n\n const nextArrowProps = {\n key: '1',\n domProps: {\n 'data-role': 'none',\n },\n class: nextClasses,\n style: { display: 'block' },\n on: {\n click: nextHandler,\n },\n };\n const customProps = {\n currentSlide,\n slideCount,\n };\n let nextArrow;\n\n if (props.nextArrow) {\n nextArrow = cloneElement(\n props.nextArrow({\n ...nextArrowProps,\n ...{\n props: customProps,\n },\n }),\n {\n key: '1',\n class: nextClasses,\n style: { display: 'block' },\n on: {\n click: nextHandler,\n },\n },\n );\n } else {\n nextArrow = (\n <button key=\"1\" type=\"button\" {...nextArrowProps}>\n {' '}\n Next\n </button>\n );\n }\n\n return nextArrow;\n },\n};\n","import PropTypes from '../../_util/vue-types';\n\nconst defaultProps = {\n accessibility: PropTypes.bool.def(true),\n // 自定义高度\n adaptiveHeight: PropTypes.bool.def(false),\n afterChange: PropTypes.any.def(null),\n arrows: PropTypes.bool.def(true),\n autoplay: PropTypes.bool.def(false),\n autoplaySpeed: PropTypes.number.def(3000),\n beforeChange: PropTypes.any.def(null),\n centerMode: PropTypes.bool.def(false),\n centerPadding: PropTypes.string.def('50px'),\n cssEase: PropTypes.string.def('ease'),\n dots: PropTypes.bool.def(false),\n dotsClass: PropTypes.string.def('slick-dots'),\n draggable: PropTypes.bool.def(true),\n unslick: PropTypes.bool.def(false),\n easing: PropTypes.string.def('linear'),\n edgeFriction: PropTypes.number.def(0.35),\n fade: PropTypes.bool.def(false),\n focusOnSelect: PropTypes.bool.def(false),\n infinite: PropTypes.bool.def(true),\n initialSlide: PropTypes.number.def(0),\n lazyLoad: PropTypes.any.def(null),\n verticalSwiping: PropTypes.bool.def(false),\n asNavFor: PropTypes.any.def(null),\n // 圆点hover是否暂停\n pauseOnDotsHover: PropTypes.bool.def(false),\n // focus是否暂停\n pauseOnFocus: PropTypes.bool.def(false),\n // hover是否暂停\n pauseOnHover: PropTypes.bool.def(true),\n responsive: PropTypes.array,\n rows: PropTypes.number.def(1),\n rtl: PropTypes.bool.def(false),\n slide: PropTypes.string.def('div'),\n slidesPerRow: PropTypes.number.def(1),\n slidesToScroll: PropTypes.number.def(1),\n slidesToShow: PropTypes.number.def(1),\n speed: PropTypes.number.def(500),\n swipe: PropTypes.bool.def(true),\n swipeEvent: PropTypes.any.def(null),\n swipeToSlide: PropTypes.bool.def(false),\n touchMove: PropTypes.bool.def(true),\n touchThreshold: PropTypes.number.def(5),\n useCSS: PropTypes.bool.def(true),\n useTransform: PropTypes.bool.def(true),\n variableWidth: PropTypes.bool.def(false),\n vertical: PropTypes.bool.def(false),\n waitForAnimate: PropTypes.bool.def(true),\n children: PropTypes.array,\n __propsSymbol__: PropTypes.any,\n};\n\nexport default defaultProps;\n","import classnames from 'classnames';\nimport { cloneElement } from '../../_util/vnode';\n\nconst getDotCount = function(spec) {\n let 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\nexport default {\n functional: true,\n render(createElement, context) {\n const { props, listeners } = context;\n const {\n slideCount,\n slidesToScroll,\n slidesToShow,\n infinite,\n currentSlide,\n appendDots,\n customPaging,\n clickHandler,\n dotsClass,\n } = props;\n const dotCount = getDotCount({\n slideCount,\n slidesToScroll,\n slidesToShow,\n infinite,\n });\n\n // Apply join & split to Array to pre-fill it for IE8\n //\n // Credit: http://stackoverflow.com/a/13735425/1849458\n const { mouseenter, mouseover, mouseleave } = listeners;\n const mouseEvents = { mouseenter, mouseover, mouseleave };\n const dots = Array.apply(\n null,\n Array(dotCount + 1)\n .join('0')\n .split(''),\n ).map((x, i) => {\n const leftBound = i * slidesToScroll;\n const rightBound = i * slidesToScroll + (slidesToScroll - 1);\n const className = classnames({\n 'slick-active': currentSlide >= leftBound && currentSlide <= rightBound,\n });\n\n const dotOptions = {\n message: 'dots',\n index: i,\n slidesToScroll,\n currentSlide,\n };\n function onClick(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 if (e) {\n e.preventDefault();\n }\n clickHandler(dotOptions);\n }\n return (\n <li key={i} class={className}>\n {cloneElement(customPaging({ i }), {\n on: {\n click: onClick,\n },\n })}\n </li>\n );\n });\n\n return cloneElement(appendDots({ dots }), {\n class: dotsClass,\n on: {\n ...mouseEvents,\n },\n });\n },\n};\n","// base react-slick 0.23.2\nimport Slider from './slider';\n\nexport default Slider;\n","const 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, // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: { startX: 0, startY: 0, curX: 0, curY: 0 },\n trackStyle: {},\n trackWidth: 0,\n};\n\nexport default initialState;\n","import debounce from 'lodash/debounce';\nimport classnames from 'classnames';\nimport Vue from 'vue';\nimport ref from 'vue-ref';\nimport { getStyle, getListeners } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport defaultProps from './default-props';\nimport initialState from './initial-state';\nimport {\n getOnDemandLazySlides,\n extractObject,\n initializedState,\n getHeight,\n canGoNext,\n slideHandler,\n changeSlide,\n keyHandler,\n swipeStart,\n swipeMove,\n swipeEnd,\n getPreClones,\n getPostClones,\n getTrackLeft,\n getTrackCSS,\n} from './utils/innerSliderUtils';\nimport Track from './track';\nimport Dots from './dots';\nimport { PrevArrow, NextArrow } from './arrows';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nVue.use(ref, { name: 'ant-ref' });\n\nfunction noop() {}\n\nexport default {\n props: {\n ...defaultProps,\n },\n mixins: [BaseMixin],\n data() {\n this.preProps = { ...this.$props };\n this.list = null;\n this.track = null;\n this.callbackTimers = [];\n this.clickable = true;\n this.debouncedResize = null;\n return {\n ...initialState,\n currentSlide: this.initialSlide,\n slideCount: this.children.length,\n };\n },\n methods: {\n listRefHandler(ref) {\n this.list = ref;\n },\n trackRefHandler(ref) {\n this.track = ref;\n },\n adaptHeight() {\n if (this.adaptiveHeight && this.list) {\n const elem = this.list.querySelector(`[data-index=\"${this.currentSlide}\"]`);\n this.list.style.height = getHeight(elem) + 'px';\n }\n },\n onWindowResized(setTrackStyle) {\n if (this.debouncedResize) this.debouncedResize.cancel();\n this.debouncedResize = debounce(() => this.resizeWindow(setTrackStyle), 50);\n this.debouncedResize();\n },\n resizeWindow(setTrackStyle = true) {\n if (!this.track) return;\n const spec = {\n listRef: this.list,\n trackRef: this.track,\n children: this.children,\n ...this.$props,\n ...this.$data,\n };\n this.updateState(spec, setTrackStyle, () => {\n if (this.autoplay) {\n this.handleAutoPlay('update');\n } else {\n this.pause('paused');\n }\n });\n // animating state should be cleared while resizing, otherwise autoplay stops working\n this.setState({\n animating: false,\n });\n clearTimeout(this.animationEndCallback);\n delete this.animationEndCallback;\n },\n updateState(spec, setTrackStyle, callback) {\n const updatedState = initializedState(spec);\n spec = { ...spec, ...updatedState, slideIndex: updatedState.currentSlide };\n const targetLeft = getTrackLeft(spec);\n spec = { ...spec, left: targetLeft };\n const trackStyle = getTrackCSS(spec);\n if (setTrackStyle || this.children.length !== spec.children.length) {\n updatedState['trackStyle'] = trackStyle;\n }\n this.setState(updatedState, callback);\n },\n ssrInit() {\n const children = this.children;\n if (this.variableWidth) {\n let trackWidth = 0;\n let trackLeft = 0;\n const childrenWidths = [];\n const preClones = getPreClones({\n ...this.$props,\n ...this.$data,\n slideCount: children.length,\n });\n const postClones = getPostClones({\n ...this.$props,\n ...this.$data,\n slideCount: children.length,\n });\n children.forEach(child => {\n const childWidth = getStyle(child).width.split('px')[0];\n childrenWidths.push(childWidth);\n trackWidth += childWidth;\n });\n for (let i = 0; i < preClones; i++) {\n trackLeft += childrenWidths[childrenWidths.length - 1 - i];\n trackWidth += childrenWidths[childrenWidths.length - 1 - i];\n }\n for (let i = 0; i < postClones; i++) {\n trackWidth += childrenWidths[i];\n }\n for (let i = 0; i < this.currentSlide; i++) {\n trackLeft += childrenWidths[i];\n }\n const trackStyle = {\n width: trackWidth + 'px',\n left: -trackLeft + 'px',\n };\n if (this.centerMode) {\n const currentWidth = `${childrenWidths[this.currentSlide]}px`;\n trackStyle.left = `calc(${trackStyle.left} + (100% - ${currentWidth}) / 2 ) `;\n }\n this.setState({\n trackStyle,\n });\n return;\n }\n const childrenCount = children.length;\n const spec = { ...this.$props, ...this.$data, slideCount: childrenCount };\n const slideCount = getPreClones(spec) + getPostClones(spec) + childrenCount;\n const trackWidth = (100 / this.slidesToShow) * slideCount;\n const slideWidth = 100 / slideCount;\n let trackLeft = (-slideWidth * (getPreClones(spec) + this.currentSlide) * trackWidth) / 100;\n if (this.centerMode) {\n trackLeft += (100 - (slideWidth * trackWidth) / 100) / 2;\n }\n const trackStyle = {\n width: trackWidth + '%',\n left: trackLeft + '%',\n };\n this.setState({\n slideWidth: slideWidth + '%',\n trackStyle,\n });\n },\n checkImagesLoad() {\n const images = document.querySelectorAll('.slick-slide img');\n const imagesCount = images.length;\n let loadedCount = 0;\n Array.prototype.forEach.call(images, image => {\n const handler = () => ++loadedCount && loadedCount >= imagesCount && this.onWindowResized();\n if (!image.onclick) {\n image.onclick = () => image.parentNode.focus();\n } else {\n const prevClickHandler = image.onclick;\n image.onclick = () => {\n prevClickHandler();\n image.parentNode.focus();\n };\n }\n if (!image.onload) {\n if (this.$props.lazyLoad) {\n image.onload = () => {\n this.adaptHeight();\n this.callbackTimers.push(setTimeout(this.onWindowResized, this.speed));\n };\n } else {\n image.onload = handler;\n image.onerror = () => {\n handler();\n this.$emit('lazyLoadError');\n };\n }\n }\n });\n },\n progressiveLazyLoad() {\n const slidesToLoad = [];\n const spec = { ...this.$props, ...this.$data };\n for (let index = this.currentSlide; index < this.slideCount + getPostClones(spec); index++) {\n if (this.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n for (let index = this.currentSlide - 1; index >= -getPreClones(spec); index--) {\n if (this.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n if (slidesToLoad.length > 0) {\n this.setState(state => ({\n lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad),\n }));\n this.$emit('lazyLoad', slidesToLoad);\n } else {\n if (this.lazyLoadTimer) {\n clearInterval(this.lazyLoadTimer);\n delete this.lazyLoadTimer;\n }\n }\n },\n slideHandler(index, dontAnimate = false) {\n const { asNavFor, currentSlide, beforeChange, speed, afterChange } = this.$props;\n const { state, nextState } = slideHandler({\n index,\n ...this.$props,\n ...this.$data,\n trackRef: this.track,\n useCSS: this.useCSS && !dontAnimate,\n });\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n const slidesToLoad = state.lazyLoadedList.filter(\n value => this.lazyLoadedList.indexOf(value) < 0,\n );\n if (getListeners(this).lazyLoad && slidesToLoad.length > 0) {\n this.$emit('lazyLoad', slidesToLoad);\n }\n this.setState(state, () => {\n asNavFor &&\n asNavFor.innerSlider.currentSlide !== currentSlide &&\n asNavFor.innerSlider.slideHandler(index);\n if (!nextState) return;\n this.animationEndCallback = setTimeout(() => {\n const { animating, ...firstBatch } = nextState;\n this.setState(firstBatch, () => {\n this.callbackTimers.push(setTimeout(() => this.setState({ animating }), 10));\n afterChange && afterChange(state.currentSlide);\n delete this.animationEndCallback;\n });\n }, speed);\n });\n },\n changeSlide(options, dontAnimate = false) {\n const spec = { ...this.$props, ...this.$data };\n const targetSlide = changeSlide(spec, options);\n if (targetSlide !== 0 && !targetSlide) return;\n if (dontAnimate === true) {\n this.slideHandler(targetSlide, dontAnimate);\n } else {\n this.slideHandler(targetSlide);\n }\n },\n clickHandler(e) {\n if (this.clickable === false) {\n e.stopPropagation();\n e.preventDefault();\n }\n this.clickable = true;\n },\n keyHandler(e) {\n const dir = keyHandler(e, this.accessibility, this.rtl);\n dir !== '' && this.changeSlide({ message: dir });\n },\n selectHandler(options) {\n this.changeSlide(options);\n },\n disableBodyScroll() {\n const preventDefault = e => {\n e = e || window.event;\n if (e.preventDefault) e.preventDefault();\n e.returnValue = false;\n };\n window.ontouchmove = preventDefault;\n },\n enableBodyScroll() {\n window.ontouchmove = null;\n },\n swipeStart(e) {\n if (this.verticalSwiping) {\n this.disableBodyScroll();\n }\n const state = swipeStart(e, this.swipe, this.draggable);\n state !== '' && this.setState(state);\n },\n swipeMove(e) {\n const state = swipeMove(e, {\n ...this.$props,\n ...this.$data,\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.currentSlide,\n });\n if (!state) return;\n if (state['swiping']) {\n this.clickable = false;\n }\n this.setState(state);\n },\n swipeEnd(e) {\n const state = swipeEnd(e, {\n ...this.$props,\n ...this.$data,\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.currentSlide,\n });\n if (!state) return;\n const triggerSlideHandler = state['triggerSlideHandler'];\n delete state['triggerSlideHandler'];\n this.setState(state);\n if (triggerSlideHandler === undefined) return;\n this.slideHandler(triggerSlideHandler);\n if (this.$props.verticalSwiping) {\n this.enableBodyScroll();\n }\n },\n slickPrev() {\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(() => this.changeSlide({ message: 'previous' }), 0));\n },\n slickNext() {\n this.callbackTimers.push(setTimeout(() => this.changeSlide({ message: 'next' }), 0));\n },\n slickGoTo(slide, dontAnimate = false) {\n slide = Number(slide);\n if (isNaN(slide)) return '';\n this.callbackTimers.push(\n setTimeout(\n () =>\n this.changeSlide(\n {\n message: 'index',\n index: slide,\n currentSlide: this.currentSlide,\n },\n dontAnimate,\n ),\n 0,\n ),\n );\n },\n play() {\n let nextIndex;\n if (this.rtl) {\n nextIndex = this.currentSlide - this.slidesToScroll;\n } else {\n if (canGoNext({ ...this.$props, ...this.$data })) {\n nextIndex = this.currentSlide + this.slidesToScroll;\n } else {\n return false;\n }\n }\n\n this.slideHandler(nextIndex);\n },\n handleAutoPlay(playType) {\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n }\n const autoplaying = this.autoplaying;\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 this.autoplayTimer = setInterval(this.play, this.autoplaySpeed + 50);\n this.setState({ autoplaying: 'playing' });\n },\n pause(pauseType) {\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n this.autoplayTimer = null;\n }\n const autoplaying = this.autoplaying;\n if (pauseType === 'paused') {\n this.setState({ autoplaying: 'paused' });\n } else if (pauseType === 'focused') {\n if (autoplaying === 'hovered' || autoplaying === 'playing') {\n this.setState({ autoplaying: 'focused' });\n }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === 'playing') {\n this.setState({ autoplaying: 'hovered' });\n }\n }\n },\n onDotsOver() {\n this.autoplay && this.pause('hovered');\n },\n onDotsLeave() {\n this.autoplay && this.autoplaying === 'hovered' && this.handleAutoPlay('leave');\n },\n onTrackOver() {\n this.autoplay && this.pause('hovered');\n },\n onTrackLeave() {\n this.autoplay && this.autoplaying === 'hovered' && this.handleAutoPlay('leave');\n },\n onSlideFocus() {\n this.autoplay && this.pause('focused');\n },\n onSlideBlur() {\n this.autoplay && this.autoplaying === 'focused' && this.handleAutoPlay('blur');\n },\n customPaging({ i }) {\n return <button>{i + 1}</button>;\n },\n appendDots({ dots }) {\n return <ul style={{ display: 'block' }}>{dots}</ul>;\n },\n },\n beforeMount() {\n this.ssrInit();\n this.$emit('init');\n if (this.lazyLoad) {\n const slidesToLoad = getOnDemandLazySlides({\n ...this.$props,\n ...this.$data,\n });\n if (slidesToLoad.length > 0) {\n this.setState(prevState => ({\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad),\n }));\n this.$emit('lazyLoad', slidesToLoad);\n }\n }\n },\n mounted() {\n this.$nextTick(() => {\n const spec = {\n listRef: this.list,\n trackRef: this.track,\n children: this.children,\n ...this.$props,\n };\n this.updateState(spec, true, () => {\n this.adaptHeight();\n this.autoplay && this.handleAutoPlay('update');\n });\n if (this.lazyLoad === 'progressive') {\n this.lazyLoadTimer = setInterval(this.progressiveLazyLoad, 1000);\n }\n this.ro = new ResizeObserver(() => {\n if (this.animating) {\n this.onWindowResized(false); // don't set trackStyle hence don't break animation\n this.callbackTimers.push(setTimeout(() => this.onWindowResized(), this.speed));\n } else {\n this.onWindowResized();\n }\n });\n this.ro.observe(this.list);\n Array.prototype.forEach.call(document.querySelectorAll('.slick-slide'), slide => {\n slide.onfocus = this.$props.pauseOnFocus ? this.onSlideFocus : null;\n slide.onblur = this.$props.pauseOnFocus ? this.onSlideBlur : null;\n });\n // To support server-side rendering\n if (!window) {\n return;\n }\n if (window.addEventListener) {\n window.addEventListener('resize', this.onWindowResized);\n } else {\n window.attachEvent('onresize', this.onWindowResized);\n }\n });\n },\n beforeDestroy() {\n if (this.animationEndCallback) {\n clearTimeout(this.animationEndCallback);\n }\n if (this.lazyLoadTimer) {\n clearInterval(this.lazyLoadTimer);\n }\n if (this.callbackTimers.length) {\n this.callbackTimers.forEach(timer => clearTimeout(timer));\n this.callbackTimers = [];\n }\n if (window.addEventListener) {\n window.removeEventListener('resize', this.onWindowResized);\n } else {\n window.detachEvent('onresize', this.onWindowResized);\n }\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n }\n },\n updated() {\n this.checkImagesLoad();\n this.$emit('reInit');\n if (this.lazyLoad) {\n const slidesToLoad = getOnDemandLazySlides({\n ...this.$props,\n ...this.$data,\n });\n if (slidesToLoad.length > 0) {\n this.setState(prevState => ({\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad),\n }));\n this.$emit('lazyLoad');\n }\n }\n // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n this.adaptHeight();\n },\n watch: {\n __propsSymbol__() {\n const nextProps = this.$props;\n const spec = {\n listRef: this.list,\n trackRef: this.track,\n ...nextProps,\n ...this.$data,\n };\n let setTrackStyle = false;\n for (const key of Object.keys(this.preProps)) {\n if (!nextProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n if (\n typeof nextProps[key] === 'object' ||\n typeof nextProps[key] === 'function' ||\n typeof nextProps[key] === 'symbol'\n ) {\n continue;\n }\n if (nextProps[key] !== this.preProps[key]) {\n setTrackStyle = true;\n break;\n }\n }\n this.updateState(spec, setTrackStyle, () => {\n if (this.currentSlide >= nextProps.children.length) {\n this.changeSlide({\n message: 'index',\n index: nextProps.children.length - nextProps.slidesToShow,\n currentSlide: this.currentSlide,\n });\n }\n if (nextProps.autoplay) {\n this.handleAutoPlay('update');\n } else {\n this.pause('paused');\n }\n });\n this.preProps = { ...nextProps };\n },\n },\n render() {\n const className = classnames('slick-slider', {\n 'slick-vertical': this.vertical,\n 'slick-initialized': true,\n });\n const spec = { ...this.$props, ...this.$data };\n let trackProps = extractObject(spec, [\n 'fade',\n 'cssEase',\n 'speed',\n 'infinite',\n 'centerMode',\n 'focusOnSelect',\n 'currentSlide',\n 'lazyLoad',\n 'lazyLoadedList',\n 'rtl',\n 'slideWidth',\n 'slideHeight',\n 'listHeight',\n 'vertical',\n 'slidesToShow',\n 'slidesToScroll',\n 'slideCount',\n 'trackStyle',\n 'variableWidth',\n 'unslick',\n 'centerPadding',\n ]);\n const { pauseOnHover } = this.$props;\n trackProps = {\n props: {\n ...trackProps,\n focusOnSelect: this.focusOnSelect ? this.selectHandler : null,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.trackRefHandler,\n },\n ],\n on: {\n mouseenter: pauseOnHover ? this.onTrackOver : noop,\n mouseleave: pauseOnHover ? this.onTrackLeave : noop,\n mouseover: pauseOnHover ? this.onTrackOver : noop,\n },\n };\n\n let dots;\n if (this.dots === true && this.slideCount >= this.slidesToShow) {\n let dotProps = extractObject(spec, [\n 'dotsClass',\n 'slideCount',\n 'slidesToShow',\n 'currentSlide',\n 'slidesToScroll',\n 'clickHandler',\n 'children',\n 'infinite',\n 'appendDots',\n ]);\n dotProps.customPaging = this.customPaging;\n dotProps.appendDots = this.appendDots;\n const { customPaging, appendDots } = this.$scopedSlots;\n if (customPaging) {\n dotProps.customPaging = customPaging;\n }\n if (appendDots) {\n dotProps.appendDots = appendDots;\n }\n const { pauseOnDotsHover } = this.$props;\n dotProps = {\n props: {\n ...dotProps,\n clickHandler: this.changeSlide,\n },\n on: {\n mouseenter: pauseOnDotsHover ? this.onDotsLeave : noop,\n mouseover: pauseOnDotsHover ? this.onDotsOver : noop,\n mouseleave: pauseOnDotsHover ? this.onDotsLeave : noop,\n },\n };\n dots = <Dots {...dotProps} />;\n }\n\n let prevArrow, nextArrow;\n const arrowProps = extractObject(spec, [\n 'infinite',\n 'centerMode',\n 'currentSlide',\n 'slideCount',\n 'slidesToShow',\n ]);\n arrowProps.clickHandler = this.changeSlide;\n const { prevArrow: prevArrowCustom, nextArrow: nextArrowCustom } = this.$scopedSlots;\n if (prevArrowCustom) {\n arrowProps.prevArrow = prevArrowCustom;\n }\n if (nextArrowCustom) {\n arrowProps.nextArrow = nextArrowCustom;\n }\n if (this.arrows) {\n prevArrow = <PrevArrow {...{ props: arrowProps }} />;\n nextArrow = <NextArrow {...{ props: arrowProps }} />;\n }\n let verticalHeightStyle = null;\n\n if (this.vertical) {\n verticalHeightStyle = {\n height: typeof this.listHeight === 'number' ? `${this.listHeight}px` : this.listHeight,\n };\n }\n\n let centerPaddingStyle = null;\n\n if (this.vertical === false) {\n if (this.centerMode === true) {\n centerPaddingStyle = {\n padding: '0px ' + this.centerPadding,\n };\n }\n } else {\n if (this.centerMode === true) {\n centerPaddingStyle = {\n padding: this.centerPadding + ' 0px',\n };\n }\n }\n\n const listStyle = { ...verticalHeightStyle, ...centerPaddingStyle };\n const touchMove = this.touchMove;\n let listProps = {\n directives: [\n {\n name: 'ant-ref',\n value: this.listRefHandler,\n },\n ],\n class: 'slick-list',\n style: listStyle,\n on: {\n click: this.clickHandler,\n mousedown: touchMove ? this.swipeStart : noop,\n mousemove: this.dragging && touchMove ? this.swipeMove : noop,\n mouseup: touchMove ? this.swipeEnd : noop,\n mouseleave: this.dragging && touchMove ? this.swipeEnd : noop,\n touchstart: touchMove ? this.swipeStart : noop,\n touchmove: this.dragging && touchMove ? this.swipeMove : noop,\n touchend: touchMove ? this.swipeEnd : noop,\n touchcancel: this.dragging && touchMove ? this.swipeEnd : noop,\n keydown: this.accessibility ? this.keyHandler : noop,\n },\n };\n\n let innerSliderProps = {\n class: className,\n props: {\n dir: 'ltr',\n },\n };\n\n if (this.unslick) {\n listProps = {\n class: 'slick-list',\n directives: [\n {\n name: 'ant-ref',\n value: this.listRefHandler,\n },\n ],\n };\n innerSliderProps = { class: className };\n }\n return (\n <div {...innerSliderProps}>\n {!this.unslick ? prevArrow : ''}\n <div {...listProps}>\n <Track {...trackProps}>{this.children}</Track>\n </div>\n {!this.unslick ? nextArrow : ''}\n {!this.unslick ? dots : ''}\n </div>\n );\n },\n};\n","import json2mq from 'json2mq';\nimport Vue from 'vue';\nimport ref from 'vue-ref';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { cloneElement } from '../../_util/vnode';\nimport { getStyle, getListeners } from '../../_util/props-util';\nimport InnerSlider from './inner-slider';\nimport defaultProps from './default-props';\nimport { canUseDOM } from './utils/innerSliderUtils';\nconst enquire = canUseDOM() && require('enquire.js');\n\nVue.use(ref, { name: 'ant-ref' });\n\nexport default {\n props: {\n ...defaultProps,\n },\n mixins: [BaseMixin],\n data() {\n this._responsiveMediaHandlers = [];\n return {\n breakpoint: null,\n };\n },\n methods: {\n innerSliderRefHandler(ref) {\n this.innerSlider = ref;\n },\n media(query, handler) {\n // javascript handler for css media query\n enquire.register(query, handler);\n this._responsiveMediaHandlers.push({ query, handler });\n },\n slickPrev() {\n this.innerSlider.slickPrev();\n },\n slickNext() {\n this.innerSlider.slickNext();\n },\n slickGoTo(slide, dontAnimate = false) {\n this.innerSlider.slickGoTo(slide, dontAnimate);\n },\n slickPause() {\n this.innerSlider.pause('paused');\n },\n slickPlay() {\n this.innerSlider.handleAutoPlay('play');\n },\n },\n // handles responsive breakpoints\n beforeMount() {\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.responsive) {\n const breakpoints = this.responsive.map(breakpt => breakpt.breakpoint);\n // sort them in increasing order of their numerical value\n breakpoints.sort((x, y) => x - y);\n\n breakpoints.forEach((breakpoint, index) => {\n // media query for each breakpoint\n let bQuery;\n if (index === 0) {\n bQuery = json2mq({ minWidth: 0, maxWidth: breakpoint });\n } else {\n bQuery = json2mq({\n minWidth: breakpoints[index - 1] + 1,\n maxWidth: breakpoint,\n });\n }\n // when not using server side rendering\n canUseDOM() &&\n this.media(bQuery, () => {\n this.setState({ breakpoint });\n });\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 const query = json2mq({ minWidth: breakpoints.slice(-1)[0] });\n\n canUseDOM() &&\n this.media(query, () => {\n this.setState({ breakpoint: null });\n });\n }\n },\n beforeDestroy() {\n this._responsiveMediaHandlers.forEach(function(obj) {\n enquire.unregister(obj.query, obj.handler);\n });\n },\n\n render() {\n let settings;\n let newProps;\n if (this.breakpoint) {\n newProps = this.responsive.filter(resp => resp.breakpoint === this.breakpoint);\n settings =\n newProps[0].settings === 'unslick'\n ? 'unslick'\n : { ...this.$props, ...newProps[0].settings };\n } else {\n settings = { ...this.$props };\n }\n\n // force scrolling by one if centerMode is on\n if (settings.centerMode) {\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== 'production') {\n console.warn(\n `slidesToScroll should be equal to 1 in centerMode, you are using ${settings.slidesToScroll}`,\n );\n }\n settings.slidesToScroll = 1;\n }\n // force showing one slide and scrolling by one if the fade mode is on\n if (settings.fade) {\n if (settings.slidesToShow > 1 && process.env.NODE_ENV !== 'production') {\n console.warn(\n `slidesToShow should be equal to 1 when fade is true, you're using ${settings.slidesToShow}`,\n );\n }\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== 'production') {\n console.warn(\n `slidesToScroll should be equal to 1 when fade is true, you're using ${settings.slidesToScroll}`,\n );\n }\n settings.slidesToShow = 1;\n settings.slidesToScroll = 1;\n }\n\n // makes sure that children is an array, even when there is only 1 child\n let children = this.$slots.default || [];\n\n // 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 children = children.filter(child => {\n if (typeof child === 'string') {\n return !!child.trim();\n }\n return !!child;\n });\n\n // rows and slidesPerRow logic is handled here\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 const newChildren = [];\n let currentWidth = null;\n for (let i = 0; i < children.length; i += settings.rows * settings.slidesPerRow) {\n const newSlide = [];\n for (let j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow) {\n const row = [];\n for (let k = j; k < j + settings.slidesPerRow; k += 1) {\n if (settings.variableWidth && getStyle(children[k])) {\n currentWidth = getStyle(children[k]).width;\n }\n if (k >= children.length) break;\n row.push(\n cloneElement(children[k], {\n key: 100 * i + 10 * j + k,\n attrs: {\n tabIndex: -1,\n },\n style: {\n width: `${100 / settings.slidesPerRow}%`,\n display: 'inline-block',\n },\n }),\n );\n }\n newSlide.push(<div key={10 * i + j}>{row}</div>);\n }\n if (settings.variableWidth) {\n newChildren.push(\n <div key={i} style={{ width: currentWidth }}>\n {newSlide}\n </div>,\n );\n } else {\n newChildren.push(<div key={i}>{newSlide}</div>);\n }\n }\n\n if (settings === 'unslick') {\n const className = 'regular slider ' + (this.className || '');\n return <div class={className}>{newChildren}</div>;\n } else if (newChildren.length <= settings.slidesToShow) {\n settings.unslick = true;\n }\n const sliderProps = {\n props: {\n ...settings,\n children: newChildren,\n __propsSymbol__: Symbol(),\n },\n on: getListeners(this),\n directives: [\n {\n name: 'ant-ref',\n value: this.innerSliderRefHandler,\n },\n ],\n scopedSlots: this.$scopedSlots,\n };\n return <InnerSlider {...sliderProps} />;\n },\n};\n","import classnames from 'classnames';\nimport { cloneElement } from '../../_util/vnode';\nimport { getStyle, getClass } from '../../_util/props-util';\nimport { lazyStartIndex, lazyEndIndex, getPreClones } from './utils/innerSliderUtils';\n\n// given specifications/props for a slide, fetch all the classes that need to be applied to the slide\nconst getSlideClasses = spec => {\n let slickActive, slickCenter;\n let centerOffset, index;\n\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n const slickCloned = index < 0 || index >= spec.slideCount;\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\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 const 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\nconst getSlideStyle = function(spec) {\n const style = {};\n\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth + (typeof spec.slideWidth === 'number' ? 'px' : '');\n }\n\n if (spec.fade) {\n style.position = 'relative';\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight) + 'px';\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth) + 'px';\n }\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n style.transition =\n 'opacity ' +\n spec.speed +\n 'ms ' +\n spec.cssEase +\n ', ' +\n 'visibility ' +\n spec.speed +\n 'ms ' +\n spec.cssEase;\n style.WebkitTransition =\n 'opacity ' +\n spec.speed +\n 'ms ' +\n spec.cssEase +\n ', ' +\n 'visibility ' +\n spec.speed +\n 'ms ' +\n spec.cssEase;\n }\n\n return style;\n};\n\nconst getKey = (child, fallbackKey) => child.key || (child.key === 0 && '0') || fallbackKey;\n\nconst renderSlides = function(spec, children, createElement) {\n let key;\n const slides = [];\n const preCloneSlides = [];\n const postCloneSlides = [];\n const childrenCount = children.length;\n const startIndex = lazyStartIndex(spec);\n const endIndex = lazyEndIndex(spec);\n\n children.forEach((elem, index) => {\n let child;\n const childOnClickOptions = {\n message: 'children',\n index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide,\n };\n\n // in case of lazyLoad, whether or not we want to fetch the slide\n if (!spec.lazyLoad || (spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0)) {\n child = elem;\n } else {\n child = createElement('div');\n }\n const childStyle = getSlideStyle({ ...spec, index });\n const slideClass = getClass(child.context) || '';\n let slideClasses = getSlideClasses({ ...spec, index });\n // push a cloned element of the desired slide\n slides.push(\n cloneElement(\n child,\n {\n key: 'original' + getKey(child, index),\n attrs: {\n tabIndex: '-1',\n 'data-index': index,\n 'aria-hidden': !slideClasses['slick-active'],\n },\n class: classnames(slideClasses, slideClass),\n style: { outline: 'none', ...(getStyle(child.context) || {}), ...childStyle },\n on: {\n click: () => {\n // child.props && child.props.onClick && child.props.onClick(e)\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n },\n },\n },\n true,\n ),\n );\n\n // if slide needs to be precloned or postcloned\n if (spec.infinite && spec.fade === false) {\n const preCloneNo = childrenCount - index;\n if (preCloneNo <= getPreClones(spec) && childrenCount !== spec.slidesToShow) {\n key = -preCloneNo;\n if (key >= startIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses({ ...spec, index: key });\n preCloneSlides.push(\n cloneElement(child, {\n key: 'precloned' + getKey(child, key),\n class: classnames(slideClasses, slideClass),\n attrs: {\n tabIndex: '-1',\n 'data-index': key,\n 'aria-hidden': !slideClasses['slick-active'],\n },\n style: { ...(getStyle(child.context) || {}), ...childStyle },\n on: {\n click: () => {\n // child.props && child.props.onClick && child.props.onClick(e)\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n },\n },\n }),\n );\n }\n\n if (childrenCount !== spec.slidesToShow) {\n key = childrenCount + index;\n if (key < endIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses({ ...spec, index: key });\n postCloneSlides.push(\n cloneElement(child, {\n key: 'postcloned' + getKey(child, key),\n attrs: {\n tabIndex: '-1',\n 'data-index': key,\n 'aria-hidden': !slideClasses['slick-active'],\n },\n class: classnames(slideClasses, slideClass),\n style: { ...(getStyle(child.context) || {}), ...childStyle },\n on: {\n click: () => {\n // child.props && child.props.onClick && child.props.onClick(e)\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\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\nexport default {\n functional: true,\n render(createElement, context) {\n const { props, listeners, children, data } = context;\n const slides = renderSlides(props, children, createElement);\n const { mouseenter, mouseover, mouseleave } = listeners;\n const mouseEvents = { mouseenter, mouseover, mouseleave };\n const trackProps = {\n class: 'slick-track',\n style: props.trackStyle,\n on: {\n ...mouseEvents,\n },\n directives: data.directives,\n };\n return <div {...trackProps}>{slides}</div>;\n },\n};\n","export const getOnDemandLazySlides = spec => {\n const onDemandSlides = [];\n const startIndex = lazyStartIndex(spec);\n const endIndex = lazyEndIndex(spec);\n for (let slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n return onDemandSlides;\n};\n\n// return list of slides that need to be present\nexport const getRequiredLazySlides = spec => {\n const requiredSlides = [];\n const startIndex = lazyStartIndex(spec);\n const endIndex = lazyEndIndex(spec);\n for (let slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n return requiredSlides;\n};\n\n// startIndex that needs to be present\nexport const lazyStartIndex = spec => spec.currentSlide - lazySlidesOnLeft(spec);\nexport const lazyEndIndex = spec => spec.currentSlide + lazySlidesOnRight(spec);\nexport const lazySlidesOnLeft = spec =>\n spec.centerMode\n ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0)\n : 0;\nexport const lazySlidesOnRight = spec =>\n spec.centerMode\n ? Math.floor((spec.slidesToShow - 1) / 2) + 1 + (parseInt(spec.centerPadding) > 0 ? 1 : 0)\n : spec.slidesToShow;\n\n// get width of an element\nexport const getWidth = elem => (elem && elem.offsetWidth) || 0;\nexport const getHeight = elem => (elem && elem.offsetHeight) || 0;\nexport const getSwipeDirection = (touchObject, verticalSwiping = false) => {\n let swipeAngle;\n const xDist = touchObject.startX - touchObject.curX;\n const yDist = touchObject.startY - touchObject.curY;\n const r = Math.atan2(yDist, xDist);\n swipeAngle = Math.round((r * 180) / Math.PI);\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n if ((swipeAngle <= 45 && swipeAngle >= 0) || (swipeAngle <= 360 && swipeAngle >= 315)) {\n return 'left';\n }\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return 'right';\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};\n\n// whether or not we can go next\nexport const canGoNext = spec => {\n let canGo = true;\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (\n spec.slideCount <= spec.slidesToShow ||\n spec.currentSlide >= spec.slideCount - spec.slidesToShow\n ) {\n canGo = false;\n }\n }\n return canGo;\n};\n\n// given an object and a list of keys, return new object with given keys\nexport const extractObject = (spec, keys) => {\n const newObject = {};\n keys.forEach(key => (newObject[key] = spec[key]));\n return newObject;\n};\n\n// get initialized state\nexport const initializedState = spec => {\n // spec also contains listRef, trackRef\n const slideCount = spec.children.length;\n const listWidth = Math.ceil(getWidth(spec.listRef));\n const trackWidth = Math.ceil(getWidth(spec.trackRef));\n let slideWidth;\n if (!spec.vertical) {\n let centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n if (typeof spec.centerPadding === 'string' && spec.centerPadding.slice(-1) === '%') {\n centerPaddingAdj *= listWidth / 100;\n }\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n const slideHeight = spec.listRef && getHeight(spec.listRef.querySelector('[data-index=\"0\"]'));\n const listHeight = slideHeight * spec.slidesToShow;\n let currentSlide = spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n const lazyLoadedList = spec.lazyLoadedList || [];\n const slidesToLoad = getOnDemandLazySlides({ currentSlide, lazyLoadedList }, spec);\n lazyLoadedList.concat(slidesToLoad);\n\n const state = {\n slideCount,\n slideWidth,\n listWidth,\n trackWidth,\n currentSlide,\n slideHeight,\n listHeight,\n lazyLoadedList,\n };\n\n if (spec.autoplaying === null && spec.autoplay) {\n state['autoplaying'] = 'playing';\n }\n\n return state;\n};\n\nexport const slideHandler = spec => {\n const {\n waitForAnimate,\n animating,\n fade,\n infinite,\n index,\n slideCount,\n lazyLoadedList,\n lazyLoad,\n currentSlide,\n centerMode,\n slidesToScroll,\n slidesToShow,\n useCSS,\n } = spec;\n if (waitForAnimate && animating) return {};\n let animationSlide = index;\n let finalSlide;\n let animationLeft;\n let finalLeft;\n let state = {};\n let nextState = {};\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList.push(animationSlide);\n }\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList,\n };\n nextState = { animating: false };\n } else {\n finalSlide = animationSlide;\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;\n else if (slideCount % slidesToScroll !== 0) {\n finalSlide = slideCount - (slideCount % slidesToScroll);\n }\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;\n else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n animationLeft = getTrackLeft({ ...spec, slideIndex: animationSlide });\n finalLeft = getTrackLeft({ ...spec, slideIndex: finalSlide });\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n lazyLoad &&\n lazyLoadedList.concat(getOnDemandLazySlides({ ...spec, currentSlide: animationSlide }));\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n lazyLoadedList,\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS({ ...spec, left: animationLeft }),\n lazyLoadedList,\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n swipeLeft: null,\n };\n }\n }\n return { state, nextState };\n};\n\nexport const changeSlide = (spec, options) => {\n let previousInt, slideOffset, targetSlide;\n const { slidesToScroll, slidesToShow, slideCount, currentSlide, lazyLoad, infinite } = spec;\n const unevenOffset = slideCount % slidesToScroll !== 0;\n const indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n\n if (options.message === 'previous') {\n slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\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 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 if (targetSlide === options.currentSlide) {\n return null;\n }\n } else if (options.message === 'children') {\n // Click on the slides\n targetSlide = options.index;\n if (targetSlide === options.currentSlide) {\n return null;\n }\n if (infinite) {\n const direction = siblingDirection({ ...spec, targetSlide });\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 if (targetSlide === options.currentSlide) {\n return null;\n }\n }\n return targetSlide;\n};\nexport const keyHandler = (e, accessibility, rtl) => {\n if (e.target.tagName.match('TEXTAREA|INPUT|SELECT') || !accessibility) {\n return '';\n }\n if (e.keyCode === 37) return rtl ? 'next' : 'previous';\n if (e.keyCode === 39) return rtl ? 'previous' : 'next';\n return '';\n};\n\nexport const 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};\nexport const swipeMove = (e, spec) => {\n // spec also contains, trackRef and slideIndex\n const {\n scrolling,\n animating,\n vertical,\n swipeToSlide,\n verticalSwiping,\n rtl,\n currentSlide,\n edgeFriction,\n edgeDragged,\n onEdge,\n swiped,\n swiping,\n slideCount,\n slidesToScroll,\n infinite,\n touchObject,\n swipeEvent,\n listHeight,\n listWidth,\n } = spec;\n if (scrolling) return;\n if (animating) return e.preventDefault();\n if (vertical && swipeToSlide && verticalSwiping) e.preventDefault();\n let swipeLeft;\n let state = {};\n const 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(\n Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2)),\n );\n const verticalSwipeLength = Math.round(\n Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2)),\n );\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return { scrolling: true };\n }\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n let positionOffset = (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping) {\n positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n }\n\n const dotCount = Math.ceil(slideCount / slidesToScroll);\n const swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n let touchSwipeLength = touchObject.swipeLength;\n if (!infinite) {\n if (\n (currentSlide === 0 && swipeDirection === 'right') ||\n (currentSlide + 1 >= dotCount && swipeDirection === 'left') ||\n (!canGoNext(spec) && swipeDirection === 'left')\n ) {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state['edgeDragged'] = true;\n }\n }\n }\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state['swiped'] = true;\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 if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n state = {\n ...state,\n touchObject,\n swipeLeft,\n trackStyle: getTrackCSS({ ...spec, left: swipeLeft }),\n };\n if (\n Math.abs(touchObject.curX - touchObject.startX) <\n Math.abs(touchObject.curY - touchObject.startY) * 0.8\n ) {\n return state;\n }\n if (touchObject.swipeLength > 10) {\n state['swiping'] = true;\n e.preventDefault();\n }\n return state;\n};\nexport const swipeEnd = (e, spec) => {\n const {\n dragging,\n swipe,\n touchObject,\n listWidth,\n touchThreshold,\n verticalSwiping,\n listHeight,\n currentSlide,\n swipeToSlide,\n scrolling,\n onSwipe,\n } = spec;\n if (!dragging) {\n if (swipe) e.preventDefault();\n return {};\n }\n const minSwipe = verticalSwiping ? listHeight / touchThreshold : listWidth / touchThreshold;\n const swipeDirection = getSwipeDirection(touchObject, verticalSwiping);\n // reset the state of touch related state variables.\n const state = {\n dragging: false,\n edgeDragged: false,\n scrolling: false,\n swiping: false,\n swiped: false,\n swipeLeft: null,\n touchObject: {},\n };\n if (scrolling) {\n return state;\n }\n if (!touchObject.swipeLength) {\n return state;\n }\n if (touchObject.swipeLength > minSwipe) {\n e.preventDefault();\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n let slideCount, newSlide;\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 case 'right':\n case 'down':\n newSlide = currentSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state['currentDirection'] = 1;\n break;\n default:\n slideCount = currentSlide;\n }\n state['triggerSlideHandler'] = slideCount;\n } else {\n // Adjust the track back to it's original position.\n const currentLeft = getTrackLeft(spec);\n state['trackStyle'] = getTrackAnimateCSS({ ...spec, left: currentLeft });\n }\n return state;\n};\nexport const getNavigableIndexes = spec => {\n const max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n let breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n let counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n const indexes = [];\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n return indexes;\n};\nexport const checkNavigable = (spec, index) => {\n const navigables = getNavigableIndexes(spec);\n let prevNavigable = 0;\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (const n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n prevNavigable = navigables[n];\n }\n }\n return index;\n};\nexport const getSlideCount = spec => {\n const centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0;\n if (spec.swipeToSlide) {\n let swipedSlide;\n const slickList = spec.listRef;\n const slides = slickList.querySelectorAll('.slick-slide');\n Array.from(slides).every(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 const currentIndex =\n spec.rtl === true ? spec.slideCount - spec.currentSlide : spec.currentSlide;\n const slidesTraversed = Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\n\nexport const checkSpecKeys = (spec, keysArray) =>\n keysArray.reduce((value, key) => value && spec.hasOwnProperty(key), true)\n ? null\n : console.error('Keys Missing:', spec);\n\nexport const getTrackCSS = spec => {\n checkSpecKeys(spec, ['left', 'variableWidth', 'slideCount', 'slidesToShow', 'slideWidth']);\n let trackWidth, trackHeight;\n const trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n let style = {\n opacity: 1,\n transition: '',\n WebkitTransition: '',\n };\n if (spec.useTransform) {\n const WebkitTransform = !spec.vertical\n ? 'translate3d(' + spec.left + 'px, 0px, 0px)'\n : 'translate3d(0px, ' + spec.left + 'px, 0px)';\n const transform = !spec.vertical\n ? 'translate3d(' + spec.left + 'px, 0px, 0px)'\n : 'translate3d(0px, ' + spec.left + 'px, 0px)';\n const msTransform = !spec.vertical\n ? 'translateX(' + spec.left + 'px)'\n : 'translateY(' + spec.left + 'px)';\n style = {\n ...style,\n WebkitTransform,\n transform,\n msTransform,\n };\n } else {\n if (spec.vertical) {\n style['top'] = spec.left;\n } else {\n style['left'] = spec.left;\n }\n }\n if (spec.fade) style = { opacity: 1 };\n if (trackWidth) style.width = trackWidth + 'px';\n if (trackHeight) style.height = trackHeight + 'px';\n\n // Fallback for IE8\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};\nexport const getTrackAnimateCSS = spec => {\n checkSpecKeys(spec, [\n 'left',\n 'variableWidth',\n 'slideCount',\n 'slidesToShow',\n 'slideWidth',\n 'speed',\n 'cssEase',\n ]);\n const style = getTrackCSS(spec);\n // useCSS is true by default so it can be undefined\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 return style;\n};\nexport const getTrackLeft = spec => {\n if (spec.unslick) {\n return 0;\n }\n\n checkSpecKeys(spec, [\n 'slideIndex',\n 'trackRef',\n 'infinite',\n 'centerMode',\n 'slideCount',\n 'slidesToShow',\n 'slidesToScroll',\n 'slideWidth',\n 'listWidth',\n 'variableWidth',\n 'slideHeight',\n ]);\n\n const {\n slideIndex,\n trackRef,\n infinite,\n centerMode,\n slideCount,\n slidesToShow,\n slidesToScroll,\n slideWidth,\n listWidth,\n variableWidth,\n slideHeight,\n fade,\n vertical,\n } = spec;\n\n let slideOffset = 0;\n let targetLeft;\n let targetSlide;\n let verticalOffset = 0;\n\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n\n let slidesToOffset = 0;\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 if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = -(slideIndex > slideCount\n ? slidesToShow - (slideIndex - slideCount)\n : slideCount % slidesToScroll);\n }\n // shift current slide to center of the frame\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 if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\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 let targetSlideIndex;\n const trackElem = trackRef;\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n if (centerMode === true) {\n targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n for (let slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -=\n trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth;\n }\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n\n return targetLeft;\n};\n\nexport const getPreClones = spec => {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\n\nexport const getPostClones = spec => {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n return spec.slideCount;\n};\n\nexport const getTotalSlides = spec =>\n spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec);\nexport const siblingDirection = spec => {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return 'left';\n }\n return 'right';\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return 'right';\n }\n return 'left';\n }\n};\n\nexport const slidesOnRight = ({ slidesToShow, centerMode, rtl, centerPadding }) => {\n // returns no of slides on the right of active slide\n if (centerMode) {\n let 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 if (rtl) {\n return 0;\n }\n return slidesToShow - 1;\n};\n\nexport const slidesOnLeft = ({ slidesToShow, centerMode, rtl, centerPadding }) => {\n // returns no of slides on the left of active slide\n if (centerMode) {\n let 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 if (rtl) {\n return slidesToShow - 1;\n }\n return 0;\n};\n\nexport const canUseDOM = () =>\n !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n","import classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, getListeners } from '../../_util/props-util';\nimport addEventListener from '../../vc-util/Dom/addEventListener';\n\nexport default {\n name: 'Handle',\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n vertical: PropTypes.bool,\n offset: PropTypes.number,\n disabled: PropTypes.bool,\n min: PropTypes.number,\n max: PropTypes.number,\n value: PropTypes.number,\n tabIndex: PropTypes.number,\n className: PropTypes.string,\n reverse: PropTypes.bool,\n // handleFocus: PropTypes.func.def(noop),\n // handleBlur: PropTypes.func.def(noop),\n },\n data() {\n return {\n clickFocused: false,\n };\n },\n mounted() {\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 beforeDestroy() {\n if (this.onMouseUpListener) {\n this.onMouseUpListener.remove();\n }\n },\n methods: {\n setClickFocus(focused) {\n this.setState({ clickFocused: focused });\n },\n handleMouseUp() {\n if (document.activeElement === this.$refs.handle) {\n this.setClickFocus(true);\n }\n },\n handleBlur(e) {\n this.setClickFocus(false);\n this.__emit('blur', e);\n },\n handleKeyDown() {\n this.setClickFocus(false);\n },\n clickFocus() {\n this.setClickFocus(true);\n this.focus();\n },\n focus() {\n this.$refs.handle.focus();\n },\n blur() {\n this.$refs.handle.blur();\n },\n // when click can not focus in vue, use mousedown trigger focus\n handleMousedown(e) {\n this.focus();\n this.__emit('mousedown', e);\n },\n },\n render() {\n const {\n prefixCls,\n vertical,\n reverse,\n offset,\n disabled,\n min,\n max,\n value,\n tabIndex,\n } = getOptionProps(this);\n const className = classNames(this.$props.className, {\n [`${prefixCls}-handle-click-focused`]: this.clickFocused,\n });\n\n const positionStyle = vertical\n ? {\n [reverse ? 'top' : 'bottom']: `${offset}%`,\n [reverse ? 'bottom' : 'top']: 'auto',\n transform: `translateY(+50%)`,\n }\n : {\n [reverse ? 'right' : 'left']: `${offset}%`,\n [reverse ? 'left' : 'right']: 'auto',\n transform: `translateX(${reverse ? '+' : '-'}50%)`,\n };\n\n const ariaProps = {\n 'aria-valuemin': min,\n 'aria-valuemax': max,\n 'aria-valuenow': value,\n 'aria-disabled': !!disabled,\n };\n let _tabIndex = tabIndex || 0;\n if (disabled || tabIndex === null) {\n _tabIndex = null;\n }\n\n const handleProps = {\n attrs: {\n role: 'slider',\n tabIndex: _tabIndex,\n ...ariaProps,\n },\n class: className,\n on: {\n ...getListeners(this),\n blur: this.handleBlur,\n keydown: this.handleKeyDown,\n mousedown: this.handleMousedown,\n },\n ref: 'handle',\n style: positionStyle,\n };\n return <div {...handleProps} />;\n },\n};\n","import classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { initDefaultProps, hasProp } from '../../_util/props-util';\nimport Track from './common/Track';\nimport createSlider from './common/createSlider';\nimport * as utils from './utils';\n\nconst trimAlignValue = ({ value, handle, bounds, props }) => {\n const { allowCross, pushable } = props;\n const thershold = Number(pushable);\n const valInRange = utils.ensureValueInRange(value, props);\n let valNotConflict = valInRange;\n if (!allowCross && handle != null && bounds !== undefined) {\n if (handle > 0 && valInRange <= bounds[handle - 1] + thershold) {\n valNotConflict = bounds[handle - 1] + thershold;\n }\n if (handle < bounds.length - 1 && valInRange >= bounds[handle + 1] - thershold) {\n valNotConflict = bounds[handle + 1] - thershold;\n }\n }\n return utils.ensureValuePrecision(valNotConflict, props);\n};\n\nconst rangeProps = {\n defaultValue: PropTypes.arrayOf(PropTypes.number),\n value: PropTypes.arrayOf(PropTypes.number),\n count: PropTypes.number,\n pushable: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n allowCross: PropTypes.bool,\n disabled: PropTypes.bool,\n reverse: PropTypes.bool,\n tabIndex: PropTypes.arrayOf(PropTypes.number),\n prefixCls: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n autoFocus: PropTypes.bool,\n};\nconst Range = {\n name: 'Range',\n displayName: 'Range',\n mixins: [BaseMixin],\n props: initDefaultProps(rangeProps, {\n count: 1,\n allowCross: true,\n pushable: false,\n tabIndex: [],\n }),\n data() {\n const { count, min, max } = this;\n const initialValue = Array(...Array(count + 1)).map(() => min);\n const defaultValue = hasProp(this, 'defaultValue') ? this.defaultValue : initialValue;\n let { value } = this;\n if (value === undefined) {\n value = defaultValue;\n }\n const bounds = value.map((v, i) =>\n trimAlignValue({\n value: v,\n handle: i,\n props: this.$props,\n }),\n );\n const recent = bounds[0] === max ? 0 : bounds.length - 1;\n return {\n sHandle: null,\n recent,\n bounds,\n };\n },\n watch: {\n value: {\n handler(val) {\n const { bounds } = this;\n this.setChangeValue(val || bounds);\n },\n deep: true,\n },\n min() {\n const { value } = this;\n this.setChangeValue(value || this.bounds);\n },\n max() {\n const { value } = this;\n this.setChangeValue(value || this.bounds);\n },\n },\n methods: {\n setChangeValue(value) {\n const { bounds } = this;\n const nextBounds = value.map((v, i) =>\n trimAlignValue({\n value: v,\n handle: i,\n bounds,\n props: this.$props,\n }),\n );\n if (nextBounds.length === bounds.length && nextBounds.every((v, i) => v === bounds[i]))\n return;\n\n this.setState({ bounds: nextBounds });\n\n if (value.some(v => utils.isValueOutOfRange(v, this.$props))) {\n const newValues = value.map(v => {\n return utils.ensureValueInRange(v, this.$props);\n });\n this.$emit('change', newValues);\n }\n },\n onChange(state) {\n const isNotControlled = !hasProp(this, 'value');\n if (isNotControlled) {\n this.setState(state);\n } else {\n const controlledState = {};\n\n ['sHandle', 'recent'].forEach(item => {\n if (state[item] !== undefined) {\n controlledState[item] = state[item];\n }\n });\n\n if (Object.keys(controlledState).length) {\n this.setState(controlledState);\n }\n }\n\n const data = { ...this.$data, ...state };\n const changedValue = data.bounds;\n this.$emit('change', changedValue);\n },\n onStart(position) {\n const { bounds } = this;\n this.$emit('beforeChange', 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 sHandle: this.prevMovedHandleIndex,\n recent: this.prevMovedHandleIndex,\n });\n\n const prevValue = bounds[this.prevMovedHandleIndex];\n if (value === prevValue) return;\n const nextBounds = [...bounds];\n nextBounds[this.prevMovedHandleIndex] = value;\n this.onChange({ bounds: nextBounds });\n },\n onEnd(force) {\n const { sHandle } = this;\n this.removeDocumentEvents();\n if (sHandle !== null || force) {\n this.$emit('afterChange', this.bounds);\n }\n this.setState({ sHandle: null });\n },\n onMove(e, position) {\n utils.pauseEvent(e);\n const { bounds, sHandle } = this;\n const value = this.calcValueByPos(position);\n const oldValue = bounds[sHandle];\n if (value === oldValue) return;\n\n this.moveTo(value);\n },\n onKeyboard(e) {\n const { reverse, vertical } = this.$props;\n const valueMutator = utils.getKeyboardValueMutator(e, vertical, reverse);\n\n if (valueMutator) {\n utils.pauseEvent(e);\n const { bounds, sHandle } = this;\n const oldValue = bounds[sHandle === null ? this.recent : sHandle];\n const mutatedValue = valueMutator(oldValue, this.$props);\n const value = trimAlignValue({\n value: mutatedValue,\n handle: sHandle,\n bounds,\n props: this.$props,\n });\n if (value === oldValue) return;\n const isFromKeyboardEvent = true;\n this.moveTo(value, isFromKeyboardEvent);\n }\n },\n getClosestBound(value) {\n const { bounds } = this;\n let closestBound = 0;\n for (let i = 1; i < bounds.length - 1; ++i) {\n if (value > bounds[i]) {\n closestBound = i;\n }\n }\n if (Math.abs(bounds[closestBound + 1] - value) < Math.abs(bounds[closestBound] - value)) {\n closestBound += 1;\n }\n return closestBound;\n },\n getBoundNeedMoving(value, closestBound) {\n const { bounds, recent } = this;\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 getLowerBound() {\n return this.bounds[0];\n },\n getUpperBound() {\n const { bounds } = this;\n return bounds[bounds.length - 1];\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;\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 nextBounds = [...this.bounds];\n const { sHandle, recent } = this;\n const handle = sHandle === null ? recent : sHandle;\n nextBounds[handle] = value;\n let nextHandle = handle;\n if (this.$props.pushable !== false) {\n this.pushSurroundingHandles(nextBounds, nextHandle);\n } else if (this.$props.allowCross) {\n nextBounds.sort((a, b) => a - b);\n nextHandle = nextBounds.indexOf(value);\n }\n this.onChange({\n recent: nextHandle,\n sHandle: 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.$emit('afterChange', nextBounds);\n this.setState({}, () => {\n this.handlesRefs[nextHandle].focus();\n });\n this.onEnd();\n }\n },\n\n pushSurroundingHandles(bounds, handle) {\n const value = bounds[handle];\n let { pushable: threshold } = this;\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) {\n return;\n }\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 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 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;\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 trimAlignValue(value) {\n const { sHandle, bounds } = this;\n return trimAlignValue({\n value,\n handle: sHandle,\n bounds,\n props: this.$props,\n });\n },\n ensureValueNotConflict(handle, val, { allowCross, pushable: thershold }) {\n const state = this.$data || {};\n const { bounds } = state;\n handle = handle === undefined ? state.sHandle : 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 getTrack({ bounds, prefixCls, reverse, vertical, included, offsets, trackStyle }) {\n return 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 class={trackClassName}\n vertical={vertical}\n reverse={reverse}\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 renderSlider() {\n const {\n sHandle,\n bounds,\n prefixCls,\n vertical,\n included,\n disabled,\n min,\n max,\n reverse,\n handle,\n defaultHandle,\n trackStyle,\n handleStyle,\n tabIndex,\n } = this;\n const handleGenerator = handle || defaultHandle;\n const offsets = bounds.map(v => this.calcOffset(v));\n\n const handleClassName = `${prefixCls}-handle`;\n const handles = bounds.map((v, i) => {\n let _tabIndex = tabIndex[i] || 0;\n if (disabled || tabIndex[i] === null) {\n _tabIndex = null;\n }\n return 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: sHandle === i,\n index: i,\n tabIndex: _tabIndex,\n min,\n max,\n reverse,\n disabled,\n style: handleStyle[i],\n directives: [\n {\n name: 'ant-ref',\n value: h => this.saveHandle(i, h),\n },\n ],\n on: {\n focus: this.onFocus,\n blur: this.onBlur,\n },\n });\n });\n\n return {\n tracks: this.getTrack({\n bounds,\n prefixCls,\n reverse,\n vertical,\n included,\n offsets,\n trackStyle,\n }),\n handles,\n };\n },\n },\n};\n\nexport default createSlider(Range);\n","import PropTypes from '../../_util/vue-types';\nimport warning from '../../_util/warning';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { hasProp } from '../../_util/props-util';\nimport Track from './common/Track';\nimport createSlider from './common/createSlider';\nimport * as utils from './utils';\n\nconst Slider = {\n name: 'Slider',\n mixins: [BaseMixin],\n props: {\n defaultValue: PropTypes.number,\n value: PropTypes.number,\n disabled: PropTypes.bool,\n autoFocus: PropTypes.bool,\n tabIndex: PropTypes.number,\n reverse: PropTypes.bool,\n min: PropTypes.number,\n max: PropTypes.number,\n },\n data() {\n const defaultValue = this.defaultValue !== undefined ? this.defaultValue : this.min;\n const value = this.value !== undefined ? this.value : defaultValue;\n\n warning(\n !hasProp(this, 'minimumTrackStyle'),\n 'Slider',\n 'minimumTrackStyle will be deprecate, please use trackStyle instead.',\n );\n warning(\n !hasProp(this, 'maximumTrackStyle'),\n 'Slider',\n 'maximumTrackStyle will be deprecate, please use railStyle instead.',\n );\n return {\n sValue: this.trimAlignValue(value),\n dragging: false,\n };\n },\n watch: {\n value: {\n handler(val) {\n this.setChangeValue(val);\n },\n deep: true,\n },\n min() {\n const { sValue } = this;\n this.setChangeValue(sValue);\n },\n max() {\n const { sValue } = this;\n this.setChangeValue(sValue);\n },\n },\n methods: {\n setChangeValue(value) {\n const newValue = value !== undefined ? value : this.sValue;\n const nextValue = this.trimAlignValue(newValue, this.$props);\n if (nextValue === this.sValue) return;\n\n this.setState({ sValue: nextValue });\n if (utils.isValueOutOfRange(newValue, this.$props)) {\n this.$emit('change', nextValue);\n }\n },\n onChange(state) {\n const isNotControlled = !hasProp(this, 'value');\n const nextState = state.sValue > this.max ? { ...state, sValue: this.max } : state;\n if (isNotControlled) {\n this.setState(nextState);\n }\n\n const changedValue = nextState.sValue;\n this.$emit('change', changedValue);\n },\n onStart(position) {\n this.setState({ dragging: true });\n const { sValue } = this;\n this.$emit('beforeChange', sValue);\n\n const value = this.calcValueByPos(position);\n\n this.startValue = value;\n this.startPosition = position;\n if (value === sValue) return;\n\n this.prevMovedHandleIndex = 0;\n this.onChange({ sValue: value });\n },\n onEnd(force) {\n const { dragging } = this;\n this.removeDocumentEvents();\n if (dragging || force) {\n this.$emit('afterChange', this.sValue);\n }\n this.setState({ dragging: false });\n },\n onMove(e, position) {\n utils.pauseEvent(e);\n const { sValue } = this;\n const value = this.calcValueByPos(position);\n if (value === sValue) return;\n\n this.onChange({ sValue: value });\n },\n onKeyboard(e) {\n const { reverse, vertical } = this.$props;\n const valueMutator = utils.getKeyboardValueMutator(e, vertical, reverse);\n if (valueMutator) {\n utils.pauseEvent(e);\n const { sValue } = this;\n const mutatedValue = valueMutator(sValue, this.$props);\n const value = this.trimAlignValue(mutatedValue);\n if (value === sValue) return;\n\n this.onChange({ sValue: value });\n this.$emit('afterChange', value);\n this.onEnd();\n }\n },\n getLowerBound() {\n return this.min;\n },\n getUpperBound() {\n return this.sValue;\n },\n trimAlignValue(v, nextProps = {}) {\n if (v === null) {\n return null;\n }\n const mergedProps = { ...this.$props, ...nextProps };\n const val = utils.ensureValueInRange(v, mergedProps);\n return utils.ensureValuePrecision(val, mergedProps);\n },\n getTrack({ prefixCls, reverse, vertical, included, offset, minimumTrackStyle, _trackStyle }) {\n return (\n <Track\n class={`${prefixCls}-track`}\n vertical={vertical}\n included={included}\n offset={0}\n reverse={reverse}\n length={offset}\n style={{\n ...minimumTrackStyle,\n ..._trackStyle,\n }}\n />\n );\n },\n renderSlider() {\n const {\n prefixCls,\n vertical,\n included,\n disabled,\n minimumTrackStyle,\n trackStyle,\n handleStyle,\n tabIndex,\n min,\n max,\n reverse,\n handle,\n defaultHandle,\n } = this;\n const handleGenerator = handle || defaultHandle;\n const { sValue, dragging } = this;\n const offset = this.calcOffset(sValue);\n const handles = handleGenerator({\n className: `${prefixCls}-handle`,\n prefixCls,\n vertical,\n offset,\n value: sValue,\n dragging,\n disabled,\n min,\n max,\n reverse,\n index: 0,\n tabIndex,\n style: handleStyle[0] || handleStyle,\n directives: [\n {\n name: 'ant-ref',\n value: h => this.saveHandle(0, h),\n },\n ],\n on: {\n focus: this.onFocus,\n blur: this.onBlur,\n },\n });\n\n const _trackStyle = trackStyle[0] || trackStyle;\n return {\n tracks: this.getTrack({\n prefixCls,\n reverse,\n vertical,\n included,\n offset,\n minimumTrackStyle,\n _trackStyle,\n }),\n handles,\n };\n },\n },\n};\n\nexport default createSlider(Slider);\n","import classNames from 'classnames';\nimport { isValidElement } from '../../../_util/props-util';\n\nconst Marks = {\n functional: true,\n render(h, context) {\n const {\n className,\n vertical,\n reverse,\n marks,\n included,\n upperBound,\n lowerBound,\n max,\n min,\n } = context.props;\n const { clickLabel } = context.listeners;\n const marksKeys = Object.keys(marks);\n\n const range = max - min;\n const elements = marksKeys\n .map(parseFloat)\n .sort((a, b) => a - b)\n .map(point => {\n const markPoint = typeof marks[point] === 'function' ? marks[point](h) : marks[point];\n const markPointIsObject = typeof markPoint === 'object' && !isValidElement(markPoint);\n const markLabel = markPointIsObject ? markPoint.label : markPoint;\n if (!markLabel && markLabel !== 0) {\n return null;\n }\n\n const isActive =\n (!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 [reverse ? 'top' : 'bottom']: `${((point - min) / range) * 100}%`,\n };\n\n const leftStyle = {\n transform: `translateX(-50%)`,\n msTransform: `translateX(-50%)`,\n [reverse ? 'right' : 'left']: reverse\n ? `${((point - min / 4) / range) * 100}%`\n : `${((point - min) / range) * 100}%`,\n };\n\n const style = vertical ? bottomStyle : leftStyle;\n const markStyle = markPointIsObject ? { ...style, ...markPoint.style } : style;\n return (\n <span\n class={markClassName}\n style={markStyle}\n key={point}\n onMousedown={e => clickLabel(e, point)}\n onTouchstart={e => clickLabel(e, point)}\n >\n {markLabel}\n </span>\n );\n });\n\n return <div class={className}>{elements}</div>;\n },\n};\n\nexport default Marks;\n","import 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',\n '`Slider[step]` should be a positive number in order to make Slider[dots] work.',\n );\n const points = Object.keys(marks)\n .map(parseFloat)\n .sort((a, b) => a - b);\n if (dots && step) {\n for (let i = min; i <= max; i += step) {\n if (points.indexOf(i) === -1) {\n points.push(i);\n }\n }\n }\n return points;\n};\n\nconst Steps = {\n functional: true,\n render(h, context) {\n const {\n prefixCls,\n vertical,\n reverse,\n marks,\n dots,\n step,\n included,\n lowerBound,\n upperBound,\n max,\n min,\n dotStyle,\n activeDotStyle,\n } = context.props;\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 =\n (!included && point === upperBound) ||\n (included && point <= upperBound && point >= lowerBound);\n let style = vertical\n ? { ...dotStyle, [reverse ? 'top' : 'bottom']: offset }\n : { ...dotStyle, [reverse ? 'right' : 'left']: offset };\n if (isActived) {\n style = { ...style, ...activeDotStyle };\n }\n\n const pointClassName = classNames({\n [`${prefixCls}-dot`]: true,\n [`${prefixCls}-dot-active`]: isActived,\n [`${prefixCls}-dot-reverse`]: reverse,\n });\n\n return <span class={pointClassName} style={style} key={point} />;\n });\n\n return <div class={`${prefixCls}-step`}>{elements}</div>;\n },\n};\n\nexport default Steps;\n","/* eslint-disable */\nconst Track = {\n functional: true,\n render(h, context) {\n const { included, vertical, offset, length, reverse } = context.props;\n const { style, class: className } = context.data;\n\n const positonStyle = vertical\n ? {\n [reverse ? 'top' : 'bottom']: `${offset}%`,\n [reverse ? 'bottom' : 'top']: 'auto',\n height: `${length}%`,\n }\n : {\n [reverse ? 'right' : 'left']: `${offset}%`,\n [reverse ? 'left' : 'right']: 'auto',\n width: `${length}%`,\n };\n\n const elStyle = {\n ...style,\n ...positonStyle,\n };\n return included ? <div class={className} style={elStyle} /> : null;\n },\n};\n\nexport default Track;\n","import classNames from 'classnames';\nimport PropTypes from '../../../_util/vue-types';\nimport addEventListener from '../../../vc-util/Dom/addEventListener';\nimport warning from '../../../_util/warning';\nimport { initDefaultProps } from '../../../_util/props-util';\nimport Steps from './Steps';\nimport Marks from './Marks';\nimport Handle from '../Handle';\nimport * as utils from '../utils';\n\nfunction noop() {}\n\nexport default function createSlider(Component) {\n // const displayName = `ComponentEnhancer(${Component.displayName})`\n const propTypes = {\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n marks: PropTypes.object,\n included: PropTypes.bool,\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n handle: PropTypes.func,\n dots: PropTypes.bool,\n vertical: PropTypes.bool,\n reverse: PropTypes.bool,\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 };\n return {\n name: 'createSlider',\n mixins: [Component],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(propTypes, {\n prefixCls: 'rc-slider',\n min: 0,\n max: 100,\n step: 1,\n marks: {},\n included: true,\n disabled: false,\n dots: false,\n vertical: false,\n reverse: false,\n trackStyle: [{}],\n handleStyle: [{}],\n railStyle: {},\n dotStyle: {},\n activeDotStyle: {},\n }),\n data() {\n const { step, max, min } = this;\n const isPointDiffEven = isFinite(max - min) ? (max - min) % step === 0 : true; // eslint-disable-line\n warning(\n step && Math.floor(step) === step ? isPointDiffEven : true,\n 'Slider',\n 'Slider[max] - Slider[min] (%s) should be a multiple of Slider[step] (%s)',\n max - min,\n step,\n );\n this.handlesRefs = {};\n return {};\n },\n mounted() {\n this.$nextTick(() => {\n // Snapshot testing cannot handle refs, so be sure to null-check this.\n this.document = this.$refs.sliderRef && this.$refs.sliderRef.ownerDocument;\n // this.setHandleRefs()\n const { autoFocus, disabled } = this;\n if (autoFocus && !disabled) {\n this.focus();\n }\n });\n },\n beforeDestroy() {\n this.$nextTick(() => {\n // if (super.componentWillUnmount) super.componentWillUnmount()\n this.removeDocumentEvents();\n });\n },\n methods: {\n defaultHandle({ index, directives, className, style, on, ...restProps }) {\n delete restProps.dragging;\n if (restProps.value === null) {\n return null;\n }\n const handleProps = {\n props: {\n ...restProps,\n },\n class: className,\n style,\n key: index,\n directives,\n on,\n };\n return <Handle {...handleProps} />;\n },\n onMouseDown(e) {\n if (e.button !== 0) {\n return;\n }\n const isVertical = this.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 utils.pauseEvent(e);\n },\n onTouchStart(e) {\n if (utils.isNotTouchEvent(e)) return;\n\n const isVertical = this.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 onFocus(e) {\n const { vertical } = this;\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 this.$emit('focus', e);\n }\n },\n onBlur(e) {\n this.onEnd();\n this.$emit('blur', e);\n },\n onMouseUp() {\n if (this.handlesRefs[this.prevMovedHandleIndex]) {\n this.handlesRefs[this.prevMovedHandleIndex].clickFocus();\n }\n },\n onMouseMove(e) {\n if (!this.$refs.sliderRef) {\n this.onEnd();\n return;\n }\n const position = utils.getMousePosition(this.vertical, e);\n this.onMove(e, position - this.dragOffset);\n },\n onTouchMove(e) {\n if (utils.isNotTouchEvent(e) || !this.$refs.sliderRef) {\n this.onEnd();\n return;\n }\n\n const position = utils.getTouchPosition(this.vertical, e);\n this.onMove(e, position - this.dragOffset);\n },\n onKeyDown(e) {\n if (this.$refs.sliderRef && utils.isEventFromHandle(e, this.handlesRefs)) {\n this.onKeyboard(e);\n }\n },\n onClickMarkLabel(e, value) {\n e.stopPropagation();\n this.onChange({ sValue: value });\n this.setState({ sValue: value }, () => this.onEnd(true));\n },\n getSliderStart() {\n const slider = this.$refs.sliderRef;\n const { vertical, reverse } = this;\n const rect = slider.getBoundingClientRect();\n if (vertical) {\n return reverse ? rect.bottom : rect.top;\n }\n return window.pageXOffset + (reverse ? rect.right : rect.left);\n },\n getSliderLength() {\n const slider = this.$refs.sliderRef;\n if (!slider) {\n return 0;\n }\n\n const coords = slider.getBoundingClientRect();\n return this.vertical ? coords.height : coords.width;\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 addDocumentMouseEvents() {\n this.onMouseMoveListener = addEventListener(this.document, 'mousemove', this.onMouseMove);\n this.onMouseUpListener = addEventListener(this.document, 'mouseup', this.onEnd);\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 focus() {\n if (!this.disabled) {\n this.handlesRefs[0].focus();\n }\n },\n blur() {\n if (!this.disabled) {\n Object.keys(this.handlesRefs).forEach(key => {\n if (this.handlesRefs[key] && this.handlesRefs[key].blur) {\n this.handlesRefs[key].blur();\n }\n });\n }\n },\n calcValue(offset) {\n const { vertical, min, max } = this;\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 calcValueByPos(position) {\n const sign = this.reverse ? -1 : +1;\n const pixelOffset = sign * (position - this.getSliderStart());\n const nextValue = this.trimAlignValue(this.calcValue(pixelOffset));\n return nextValue;\n },\n calcOffset(value) {\n const { min, max } = this;\n const ratio = (value - min) / (max - min);\n return ratio * 100;\n },\n saveHandle(index, handle) {\n this.handlesRefs[index] = handle;\n },\n },\n render(h) {\n const {\n prefixCls,\n marks,\n dots,\n step,\n included,\n disabled,\n vertical,\n reverse,\n min,\n max,\n maximumTrackStyle,\n railStyle,\n dotStyle,\n activeDotStyle,\n } = this;\n const { tracks, handles } = this.renderSlider(h);\n\n const sliderClassName = classNames(prefixCls, {\n [`${prefixCls}-with-marks`]: Object.keys(marks).length,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-vertical`]: vertical,\n });\n const markProps = {\n props: {\n vertical,\n marks,\n included,\n lowerBound: this.getLowerBound(),\n upperBound: this.getUpperBound(),\n max,\n min,\n reverse,\n className: `${prefixCls}-mark`,\n },\n on: {\n clickLabel: disabled ? noop : this.onClickMarkLabel,\n },\n };\n return (\n <div\n ref=\"sliderRef\"\n tabIndex=\"-1\"\n class={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 >\n <div\n class={`${prefixCls}-rail`}\n style={{\n ...maximumTrackStyle,\n ...railStyle,\n }}\n />\n {tracks}\n <Steps\n prefixCls={prefixCls}\n vertical={vertical}\n reverse={reverse}\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 {...markProps} />\n {this.$slots.default}\n </div>\n );\n },\n };\n}\n","import keyCode from '../../_util/KeyCode';\n\nexport function isEventFromHandle(e, handles) {\n try {\n return Object.keys(handles).some(\n key => e.target === handles[key].$el || e.target === handles[key],\n );\n } catch (error) {\n return false;\n }\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 || (e.type.toLowerCase() === 'touchend' && e.touches.length > 0);\n}\n\nexport function getClosestPoint(val, { marks, step, min, max }) {\n const points = Object.keys(marks).map(parseFloat);\n if (step !== null) {\n const maxSteps = Math.floor((max - min) / step);\n const steps = Math.min((val - min) / step, maxSteps);\n const closestStep = Math.round(steps) * 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 let zoom = 1;\n if (window.visualViewport) {\n zoom = +(window.visualViewport.width / document.body.getBoundingClientRect().width).toFixed(2);\n }\n return (vertical ? e.clientY : e.pageX) / zoom;\n}\n\nexport function getTouchPosition(vertical, e) {\n let zoom = 1;\n if (window.visualViewport) {\n zoom = +(window.visualViewport.width / document.body.getBoundingClientRect().width).toFixed(2);\n }\n return (vertical ? e.touches[0].clientY : e.touches[0].pageX) / zoom;\n}\n\nexport function getHandleCenterPosition(vertical, handle) {\n const coords = handle.getBoundingClientRect();\n return vertical\n ? coords.top + coords.height * 0.5\n : window.pageXOffset + 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 = isFinite(getClosestPoint(val, props)) ? getClosestPoint(val, props) : 0; // eslint-disable-line\n return step === null ? closestPoint : parseFloat(closestPoint.toFixed(getPrecision(step)));\n}\n\nexport function pauseEvent(e) {\n e.stopPropagation();\n e.preventDefault();\n}\n\nexport function calculateNextValue(func, value, props) {\n const operations = {\n increase: (a, b) => a + b,\n decrease: (a, b) => a - b,\n };\n\n const indexToGet = operations[func](Object.keys(props.marks).indexOf(JSON.stringify(value)), 1);\n const keyToGet = Object.keys(props.marks)[indexToGet];\n\n if (props.step) {\n return operations[func](value, props.step);\n } else if (!!Object.keys(props.marks).length && !!props.marks[keyToGet]) {\n return props.marks[keyToGet];\n }\n return value;\n}\n\nexport function getKeyboardValueMutator(e, vertical, reverse) {\n const increase = 'increase';\n const decrease = 'decrease';\n let method = increase;\n switch (e.keyCode) {\n case keyCode.UP:\n method = vertical && reverse ? decrease : increase;\n break;\n case keyCode.RIGHT:\n method = !vertical && reverse ? decrease : increase;\n break;\n case keyCode.DOWN:\n method = vertical && reverse ? increase : decrease;\n break;\n case keyCode.LEFT:\n method = !vertical && reverse ? increase : decrease;\n break;\n\n case keyCode.END:\n return (value, props) => props.max;\n case keyCode.HOME:\n return (value, props) => props.min;\n case keyCode.PAGE_UP:\n return (value, props) => value + props.step * 2;\n case keyCode.PAGE_DOWN:\n return (value, props) => value - props.step * 2;\n\n default:\n return undefined;\n }\n return (value, props) => calculateNextValue(method, value, props);\n}\n","import PropTypes from '../_util/vue-types';\nimport { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\n\nfunction isString(str) {\n return typeof str === 'string';\n}\nfunction noop() {}\nexport default {\n name: 'Step',\n props: {\n prefixCls: PropTypes.string,\n wrapperStyle: PropTypes.object,\n itemWidth: PropTypes.string,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n status: PropTypes.string,\n iconPrefix: PropTypes.string,\n icon: PropTypes.any,\n adjustMarginRight: PropTypes.string,\n stepNumber: PropTypes.string,\n stepIndex: PropTypes.number,\n description: PropTypes.any,\n title: PropTypes.any,\n subTitle: PropTypes.any,\n progressDot: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n tailContent: PropTypes.any,\n icons: PropTypes.shape({\n finish: PropTypes.any,\n error: PropTypes.any,\n }).loose,\n },\n methods: {\n onClick(...args) {\n this.$emit('click', ...args);\n this.$emit('stepClick', this.stepIndex);\n },\n renderIconNode() {\n const { prefixCls, stepNumber, status, iconPrefix, icons } = getOptionProps(this);\n let progressDot = this.progressDot;\n if (progressDot === undefined) {\n progressDot = this.$scopedSlots.progressDot;\n }\n const icon = getComponentFromProp(this, 'icon');\n const title = getComponentFromProp(this, 'title');\n const description = getComponentFromProp(this, 'description');\n let iconNode;\n const iconClassName = {\n [`${prefixCls}-icon`]: true,\n [`${iconPrefix}icon`]: true,\n [`${iconPrefix}icon-${icon}`]: icon && isString(icon),\n [`${iconPrefix}icon-check`]: !icon && status === 'finish' && icons && !icons.finish,\n [`${iconPrefix}icon-close`]: !icon && status === 'error' && icons && !icons.error,\n };\n const iconDot = <span class={`${prefixCls}-icon-dot`} />;\n // `progressDot` enjoy the highest priority\n if (progressDot) {\n if (typeof progressDot === 'function') {\n iconNode = (\n <span class={`${prefixCls}-icon`}>\n {progressDot({ index: stepNumber - 1, status, title, description, prefixCls })}\n </span>\n );\n } else {\n iconNode = <span class={`${prefixCls}-icon`}>{iconDot}</span>;\n }\n } else if (icon && !isString(icon)) {\n iconNode = <span class={`${prefixCls}-icon`}>{icon}</span>;\n } else if (icons && icons.finish && status === 'finish') {\n iconNode = <span class={`${prefixCls}-icon`}>{icons.finish}</span>;\n } else if (icons && icons.error && status === 'error') {\n iconNode = <span class={`${prefixCls}-icon`}>{icons.error}</span>;\n } else if (icon || status === 'finish' || status === 'error') {\n iconNode = <span class={iconClassName} />;\n } else {\n iconNode = <span class={`${prefixCls}-icon`}>{stepNumber}</span>;\n }\n return iconNode;\n },\n },\n render() {\n const {\n prefixCls,\n itemWidth,\n active,\n status = 'wait',\n tailContent,\n adjustMarginRight,\n disabled,\n } = getOptionProps(this);\n\n const title = getComponentFromProp(this, 'title');\n const subTitle = getComponentFromProp(this, 'subTitle');\n const description = getComponentFromProp(this, 'description');\n\n const classString = {\n [`${prefixCls}-item`]: true,\n [`${prefixCls}-item-${status}`]: true,\n [`${prefixCls}-item-custom`]: getComponentFromProp(this, 'icon'),\n [`${prefixCls}-item-active`]: active,\n [`${prefixCls}-item-disabled`]: disabled === true,\n };\n const stepProps = {\n class: classString,\n on: getListeners(this),\n };\n const stepItemStyle = {};\n if (itemWidth) {\n stepItemStyle.width = itemWidth;\n }\n if (adjustMarginRight) {\n stepItemStyle.marginRight = adjustMarginRight;\n }\n const listeners = getListeners(this);\n const accessibilityProps = {\n attrs: {},\n on: {\n click: listeners.click || noop,\n },\n };\n if (listeners.stepClick && !disabled) {\n accessibilityProps.attrs.role = 'button';\n accessibilityProps.attrs.tabIndex = 0;\n accessibilityProps.on.click = this.onClick;\n }\n return (\n <div {...stepProps} style={stepItemStyle}>\n <div {...accessibilityProps} class={`${prefixCls}-item-container`}>\n <div class={`${prefixCls}-item-tail`}>{tailContent}</div>\n <div class={`${prefixCls}-item-icon`}>{this.renderIconNode()}</div>\n <div class={`${prefixCls}-item-content`}>\n <div class={`${prefixCls}-item-title`}>\n {title}\n {subTitle && (\n <div title={subTitle} class={`${prefixCls}-item-subtitle`}>\n {subTitle}\n </div>\n )}\n </div>\n {description && <div class={`${prefixCls}-item-description`}>{description}</div>}\n </div>\n </div>\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport debounce from 'lodash/debounce';\nimport isFlexSupported from '../_util/isFlexSupported';\nimport { filterEmpty, getEvents, getPropsData, getListeners } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\n\nexport default {\n name: 'Steps',\n mixins: [BaseMixin],\n props: {\n type: PropTypes.string.def('default'),\n prefixCls: PropTypes.string.def('rc-steps'),\n iconPrefix: PropTypes.string.def('rc'),\n direction: PropTypes.string.def('horizontal'),\n labelPlacement: PropTypes.string.def('horizontal'),\n status: PropTypes.string.def('process'),\n size: PropTypes.string.def(''),\n progressDot: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n initial: PropTypes.number.def(0),\n current: PropTypes.number.def(0),\n icons: PropTypes.shape({\n finish: PropTypes.any,\n error: PropTypes.any,\n }).loose,\n },\n data() {\n this.calcStepOffsetWidth = debounce(this.calcStepOffsetWidth, 150);\n return {\n flexSupported: true,\n lastStepOffsetWidth: 0,\n };\n },\n mounted() {\n this.$nextTick(() => {\n this.calcStepOffsetWidth();\n if (!isFlexSupported()) {\n this.setState({\n flexSupported: false,\n });\n }\n });\n },\n updated() {\n this.$nextTick(() => {\n this.calcStepOffsetWidth();\n });\n },\n beforeDestroy() {\n if (this.calcTimeout) {\n clearTimeout(this.calcTimeout);\n }\n if (this.calcStepOffsetWidth && this.calcStepOffsetWidth.cancel) {\n this.calcStepOffsetWidth.cancel();\n }\n },\n methods: {\n onStepClick(next) {\n const { current } = this.$props;\n if (current !== next) {\n this.$emit('change', next);\n }\n },\n calcStepOffsetWidth() {\n if (isFlexSupported()) {\n return;\n }\n const { lastStepOffsetWidth } = this.$data;\n // Just for IE9\n const domNode = this.$refs.vcStepsRef;\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 offsetWidth = (domNode.lastChild.offsetWidth || 0) + 1;\n // Reduce shake bug\n if (\n lastStepOffsetWidth === offsetWidth ||\n Math.abs(lastStepOffsetWidth - offsetWidth) <= 3\n ) {\n return;\n }\n this.setState({ lastStepOffsetWidth: offsetWidth });\n });\n }\n },\n },\n render() {\n const {\n prefixCls,\n direction,\n type,\n labelPlacement,\n iconPrefix,\n status,\n size,\n current,\n $scopedSlots,\n initial,\n icons,\n } = this;\n const isNav = type === 'navigation';\n let progressDot = this.progressDot;\n if (progressDot === undefined) {\n progressDot = $scopedSlots.progressDot;\n }\n const { lastStepOffsetWidth, flexSupported } = this;\n const filteredChildren = filterEmpty(this.$slots.default);\n const lastIndex = filteredChildren.length - 1;\n const adjustedlabelPlacement = progressDot ? 'vertical' : labelPlacement;\n const classString = {\n [prefixCls]: true,\n [`${prefixCls}-${direction}`]: true,\n [`${prefixCls}-${size}`]: size,\n [`${prefixCls}-label-${adjustedlabelPlacement}`]: direction === 'horizontal',\n [`${prefixCls}-dot`]: !!progressDot,\n [`${prefixCls}-navigation`]: isNav,\n [`${prefixCls}-flex-not-supported`]: !flexSupported,\n };\n const listeners = getListeners(this);\n const stepsProps = {\n class: classString,\n ref: 'vcStepsRef',\n on: listeners,\n };\n return (\n <div {...stepsProps}>\n {filteredChildren.map((child, index) => {\n const childProps = getPropsData(child);\n const stepNumber = initial + index;\n const stepProps = {\n props: {\n stepNumber: `${stepNumber + 1}`,\n stepIndex: stepNumber,\n prefixCls,\n iconPrefix,\n progressDot: this.progressDot,\n icons,\n ...childProps,\n },\n on: getEvents(child),\n scopedSlots: $scopedSlots,\n };\n if (listeners.change) {\n stepProps.on.stepClick = this.onStepClick;\n }\n if (!flexSupported && direction !== 'vertical') {\n if (isNav) {\n stepProps.props.itemWidth = `${100 / (lastIndex + 1)}%`;\n stepProps.props.adjustMarginRight = 0;\n } else if (index !== lastIndex) {\n stepProps.props.itemWidth = `${100 / lastIndex}%`;\n stepProps.props.adjustMarginRight = `${-Math.round(\n lastStepOffsetWidth / lastIndex + 1,\n )}px`;\n }\n }\n // fix tail color\n if (status === 'error' && index === current - 1) {\n stepProps.class = `${prefixCls}-next-error`;\n }\n if (!childProps.status) {\n if (stepNumber === current) {\n stepProps.props.status = status;\n } else if (stepNumber < current) {\n stepProps.props.status = 'finish';\n } else {\n stepProps.props.status = 'wait';\n }\n }\n stepProps.props.active = stepNumber === current;\n return cloneElement(child, stepProps);\n })}\n </div>\n );\n },\n};\n","// base rc-steps 3.5.0\nimport Steps from './Steps';\nimport Step from './Step';\n\nSteps.Step = Step;\n\nexport { Step };\nexport default Steps;\n","import PropTypes from '../_util/vue-types';\n\nexport const switchPropTypes = {\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool.def(false),\n checkedChildren: PropTypes.any,\n unCheckedChildren: PropTypes.any,\n // onChange: PropTypes.func,\n // onMouseUp: PropTypes.func,\n // onClick: PropTypes.func,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n checked: PropTypes.bool.def(false),\n defaultChecked: PropTypes.bool.def(false),\n autoFocus: PropTypes.bool.def(false),\n loadingIcon: PropTypes.any,\n};\n","import { switchPropTypes } from './PropTypes';\nimport BaseMixin from '../_util/BaseMixin';\nimport { hasProp, getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\n\n// function noop () {\n// }\nexport default {\n name: 'VcSwitch',\n mixins: [BaseMixin],\n model: {\n prop: 'checked',\n event: 'change',\n },\n props: {\n ...switchPropTypes,\n prefixCls: switchPropTypes.prefixCls.def('rc-switch'),\n // onChange: switchPropTypes.onChange.def(noop),\n // onClick: switchPropTypes.onClick.def(noop),\n },\n data() {\n let checked = false;\n if (hasProp(this, 'checked')) {\n checked = !!this.checked;\n } else {\n checked = !!this.defaultChecked;\n }\n return {\n stateChecked: checked,\n };\n },\n watch: {\n checked(val) {\n this.stateChecked = val;\n },\n },\n mounted() {\n this.$nextTick(() => {\n const { autoFocus, disabled } = this;\n if (autoFocus && !disabled) {\n this.focus();\n }\n });\n },\n methods: {\n setChecked(checked, e) {\n if (this.disabled) {\n return;\n }\n if (!hasProp(this, 'checked')) {\n this.stateChecked = checked;\n }\n this.$emit('change', checked, e);\n },\n handleClick(e) {\n const checked = !this.stateChecked;\n this.setChecked(checked, e);\n this.$emit('click', checked, e);\n },\n handleKeyDown(e) {\n if (e.keyCode === 37) {\n // Left\n this.setChecked(false, e);\n } else if (e.keyCode === 39) {\n // Right\n this.setChecked(true, e);\n }\n },\n handleMouseUp(e) {\n if (this.$refs.refSwitchNode) {\n this.$refs.refSwitchNode.blur();\n }\n this.$emit('mouseup', e);\n },\n focus() {\n this.$refs.refSwitchNode.focus();\n },\n blur() {\n this.$refs.refSwitchNode.blur();\n },\n },\n render() {\n const { prefixCls, disabled, loadingIcon, tabIndex, ...restProps } = getOptionProps(this);\n const checked = this.stateChecked;\n const switchClassName = {\n [prefixCls]: true,\n [`${prefixCls}-checked`]: checked,\n [`${prefixCls}-disabled`]: disabled,\n };\n const spanProps = {\n props: { ...restProps },\n on: {\n ...getListeners(this),\n keydown: this.handleKeyDown,\n click: this.handleClick,\n mouseup: this.handleMouseUp,\n },\n attrs: {\n type: 'button',\n role: 'switch',\n 'aria-checked': checked,\n disabled,\n tabIndex,\n },\n class: switchClassName,\n ref: 'refSwitchNode',\n };\n return (\n <button {...spanProps}>\n {loadingIcon}\n <span class={`${prefixCls}-inner`}>\n {checked\n ? getComponentFromProp(this, 'checkedChildren')\n : getComponentFromProp(this, 'unCheckedChildren')}\n </span>\n </button>\n );\n },\n};\n","// base rc-switch 1.9.0\nimport Switch from './Switch';\n\nexport default Switch;\n","// base rc-table 6.10.9\nimport T from './src/Table';\nimport Column from './src/Column';\nimport ColumnGroup from './src/ColumnGroup';\nimport {\n getOptionProps,\n getKey,\n getClass,\n getStyle,\n getEvents,\n getSlotOptions,\n camelize,\n getSlots,\n getListeners,\n} from '../_util/props-util';\nimport { INTERNAL_COL_DEFINE } from './src/utils';\nconst Table = {\n name: 'Table',\n Column,\n ColumnGroup,\n props: T.props,\n methods: {\n getTableNode() {\n return this.$refs.table.tableNode;\n },\n getBodyTable() {\n return this.$refs.table.ref_bodyTable;\n },\n normalize(elements = []) {\n const columns = [];\n elements.forEach(element => {\n if (!element.tag) {\n return;\n }\n const key = getKey(element);\n const style = getStyle(element);\n const cls = getClass(element);\n const props = getOptionProps(element);\n const events = getEvents(element);\n const listeners = {};\n Object.keys(events).forEach(e => {\n const k = `on-${e}`;\n listeners[camelize(k)] = events[e];\n });\n const { default: children, title } = getSlots(element);\n const column = { title, ...props, style, class: cls, ...listeners };\n if (key) {\n column.key = key;\n }\n if (getSlotOptions(element).isTableColumnGroup) {\n column.children = this.normalize(typeof children === 'function' ? children() : children);\n } else {\n const customRender =\n element.data && element.data.scopedSlots && element.data.scopedSlots.default;\n column.customRender = column.customRender || customRender;\n }\n columns.push(column);\n });\n return columns;\n },\n },\n render() {\n const { $slots, normalize } = this;\n const props = getOptionProps(this);\n const columns = props.columns || normalize($slots.default);\n const tProps = {\n props: {\n ...props,\n columns,\n },\n on: getListeners(this),\n ref: 'table',\n };\n return <T {...tProps} />;\n },\n};\n\nexport default Table;\nexport { Column, ColumnGroup, INTERNAL_COL_DEFINE };\n","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport ColGroup from './ColGroup';\nimport TableHeader from './TableHeader';\nimport TableRow from './TableRow';\nimport ExpandableRow from './ExpandableRow';\nimport { mergeProps, getListeners } from '../../_util/props-util';\nimport { connect } from '../../_util/store';\nfunction noop() {}\nconst BaseTable = {\n name: 'BaseTable',\n props: {\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n hasHead: PropTypes.bool.isRequired,\n hasBody: PropTypes.bool.isRequired,\n store: PropTypes.object.isRequired,\n expander: PropTypes.object.isRequired,\n getRowKey: PropTypes.func,\n isAnyColumnsFixed: PropTypes.bool,\n },\n inject: {\n table: { default: () => ({}) },\n },\n methods: {\n getColumns(cols) {\n const { columns = [], fixed } = this.$props;\n const { table } = this;\n const { prefixCls } = table.$props;\n return (cols || columns).map(column => ({\n ...column,\n className:\n !!column.fixed && !fixed\n ? classNames(`${prefixCls}-fixed-columns-in-body`, column.className || column.class)\n : column.className || column.class,\n }));\n },\n handleRowHover(isHover, key) {\n this.store.setState({\n currentHoverKey: isHover ? key : null,\n });\n },\n\n renderRows(renderData, indent, ancestorKeys = []) {\n const {\n columnManager,\n sComponents: components,\n prefixCls,\n childrenColumnName,\n rowClassName,\n customRow = noop,\n } = this.table;\n const {\n rowClick: onRowClick = noop,\n rowDoubleclick: onRowDoubleClick = noop,\n rowContextmenu: onRowContextMenu = noop,\n rowMouseenter: onRowMouseEnter = noop,\n rowMouseleave: onRowMouseLeave = noop,\n } = getListeners(this.table);\n const { getRowKey, fixed, expander, isAnyColumnsFixed } = this;\n\n const rows = [];\n\n for (let i = 0; i < renderData.length; i += 1) {\n const record = renderData[i];\n const key = getRowKey(record, i);\n const className =\n typeof rowClassName === 'string' ? rowClassName : rowClassName(record, i, indent);\n\n const onHoverProps = {};\n if (columnManager.isAnyColumnsFixed()) {\n onHoverProps.hover = 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 = this.getColumns(columnManager.leafColumns());\n }\n\n const rowPrefixCls = `${prefixCls}-row`;\n\n const expandableRowProps = {\n props: {\n ...expander.props,\n fixed,\n index: i,\n prefixCls: rowPrefixCls,\n record,\n rowKey: key,\n needIndentSpaced: expander.needIndentSpaced,\n },\n key,\n on: {\n // ...expander.on,\n rowClick: onRowClick,\n expandedChange: expander.handleExpandChange,\n },\n scopedSlots: {\n default: expandableRow => {\n const tableRowProps = mergeProps(\n {\n props: {\n fixed,\n indent,\n record,\n index: i,\n prefixCls: rowPrefixCls,\n childrenColumnName,\n columns: leafColumns,\n rowKey: key,\n ancestorKeys,\n components,\n isAnyColumnsFixed,\n customRow,\n },\n on: {\n rowDoubleclick: onRowDoubleClick,\n rowContextmenu: onRowContextMenu,\n rowMouseenter: onRowMouseEnter,\n rowMouseleave: onRowMouseLeave,\n ...onHoverProps,\n },\n class: className,\n ref: `row_${i}_${indent}`,\n },\n expandableRow,\n );\n return <TableRow {...tableRowProps} />;\n },\n },\n };\n const row = <ExpandableRow {...expandableRowProps} />;\n\n rows.push(row);\n expander.renderRows(this.renderRows, rows, record, i, indent, fixed, key, ancestorKeys);\n }\n return rows;\n },\n },\n\n render() {\n const { sComponents: components, prefixCls, scroll, data, getBodyWrapper } = this.table;\n const { expander, tableClassName, hasHead, hasBody, fixed, isAnyColumnsFixed } = this.$props;\n const columns = this.getColumns();\n const tableStyle = {};\n\n if (!fixed && scroll.x) {\n // 当有固定列时,width auto 会导致 body table 的宽度撑不开,从而固定列无法对齐\n // 详情见:https://github.com/ant-design/ant-design/issues/22160\n const tableWidthScrollX = isAnyColumnsFixed ? 'max-content' : 'auto';\n // not set width, then use content fixed width\n tableStyle.width = scroll.x === true ? tableWidthScrollX : scroll.x;\n tableStyle.width =\n typeof tableStyle.width === 'number' ? `${tableStyle.width}px` : tableStyle.width;\n }\n if (fixed) {\n const width = columns.reduce((sum, { width: w }) => {\n return sum + parseFloat(w, 10);\n }, 0);\n if (width > 0) {\n tableStyle.width = width + 'px';\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 = <BodyWrapper class={`${prefixCls}-tbody`}>{this.renderRows(data, 0)}</BodyWrapper>;\n if (getBodyWrapper) {\n body = getBodyWrapper(body);\n }\n }\n return (\n <Table class={tableClassName} style={tableStyle} key=\"table\">\n <ColGroup columns={columns} fixed={fixed} />\n {hasHead && <TableHeader expander={expander} columns={columns} fixed={fixed} />}\n {body}\n </Table>\n );\n },\n};\n\nexport default connect()(BaseTable);\n","import PropTypes from '../../_util/vue-types';\nimport { measureScrollbar } from './utils';\nimport BaseTable from './BaseTable';\n\nexport default {\n name: 'BodyTable',\n props: {\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n handleBodyScroll: PropTypes.func.isRequired,\n handleWheel: PropTypes.func.isRequired,\n getRowKey: PropTypes.func.isRequired,\n expander: PropTypes.object.isRequired,\n isAnyColumnsFixed: PropTypes.bool,\n },\n inject: {\n table: { default: () => ({}) },\n },\n render() {\n const { prefixCls, scroll } = this.table;\n const {\n columns,\n fixed,\n tableClassName,\n getRowKey,\n handleBodyScroll,\n handleWheel,\n expander,\n isAnyColumnsFixed,\n } = this;\n let { useFixedHeader, saveRef } = this.table;\n const bodyStyle = { ...this.table.bodyStyle };\n const innerBodyStyle = {};\n\n if (scroll.x || fixed) {\n bodyStyle.overflowX = bodyStyle.overflowX || 'scroll';\n // Fix weired webkit render bug\n // https://github.com/ant-design/ant-design/issues/7783\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 let maxHeight = bodyStyle.maxHeight || scroll.y;\n maxHeight = typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight;\n if (fixed) {\n innerBodyStyle.maxHeight = maxHeight;\n innerBodyStyle.overflowY = bodyStyle.overflowY || 'scroll';\n } else {\n bodyStyle.maxHeight = maxHeight;\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({ direction: 'vertical' });\n if (scrollbarWidth > 0 && fixed) {\n bodyStyle.marginBottom = `-${scrollbarWidth}px`;\n bodyStyle.paddingBottom = '0px';\n }\n }\n\n const baseTable = (\n <BaseTable\n tableClassName={tableClassName}\n hasHead={!useFixedHeader}\n hasBody\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 key=\"bodyTable\" class={`${prefixCls}-body-outer`} style={{ ...bodyStyle }}>\n <div\n class={`${prefixCls}-body-inner`}\n style={innerBodyStyle}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: saveRef(refName),\n },\n ],\n }}\n onWheel={handleWheel}\n onScroll={handleBodyScroll}\n >\n {baseTable}\n </div>\n </div>\n );\n }\n // Should provides `tabIndex` if use scroll to enable keyboard scroll\n const useTabIndex = scroll && (scroll.x || scroll.y);\n\n return (\n <div\n tabIndex={useTabIndex ? -1 : undefined}\n key=\"bodyTable\"\n class={`${prefixCls}-body`}\n style={bodyStyle}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: saveRef('bodyTable'),\n },\n ],\n }}\n onWheel={handleWheel}\n onScroll={handleBodyScroll}\n >\n {baseTable}\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport { INTERNAL_COL_DEFINE } from './utils';\n\nexport default {\n name: 'ColGroup',\n props: {\n fixed: PropTypes.string,\n columns: PropTypes.array,\n },\n inject: {\n table: { default: () => ({}) },\n },\n render() {\n const { fixed, table } = this;\n const { prefixCls, expandIconAsCell, columnManager } = table;\n\n let cols = [];\n\n if (expandIconAsCell && fixed !== 'right') {\n cols.push(<col class={`${prefixCls}-expand-icon-col`} key=\"rc-table-expand-icon-col\" />);\n }\n\n let leafColumns;\n\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 cols = cols.concat(\n leafColumns.map(({ key, dataIndex, width, [INTERNAL_COL_DEFINE]: additionalProps }) => {\n const mergedKey = key !== undefined ? key : dataIndex;\n const w = typeof width === 'number' ? `${width}px` : width;\n return <col key={mergedKey} style={{ width: w, minWidth: w }} {...additionalProps} />;\n }),\n );\n return <colgroup>{cols}</colgroup>;\n },\n};\n","import PropTypes from '../../_util/vue-types';\n\nexport default {\n name: 'Column',\n props: {\n rowSpan: PropTypes.number,\n colSpan: PropTypes.number,\n title: PropTypes.any,\n dataIndex: PropTypes.string,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n ellipsis: PropTypes.bool,\n fixed: PropTypes.oneOf([true, 'left', 'right']),\n align: PropTypes.oneOf(['left', 'center', 'right']),\n customRender: PropTypes.func,\n className: PropTypes.string,\n // onCellClick: PropTypes.func,\n customCell: PropTypes.func,\n customHeaderCell: PropTypes.func,\n },\n};\n","import PropTypes from '../../_util/vue-types';\n\nexport default {\n name: 'ColumnGroup',\n props: {\n title: PropTypes.any,\n },\n isTableColumnGroup: true,\n};\n","export default class ColumnManager {\n constructor(columns) {\n this.columns = columns;\n this._cached = {};\n }\n\n isAnyColumnsFixed() {\n return this._cache('isAnyColumnsFixed', () => this.columns.some(column => !!column.fixed));\n }\n\n isAnyColumnsLeftFixed() {\n return this._cache('isAnyColumnsLeftFixed', () =>\n this.columns.some(column => column.fixed === 'left' || column.fixed === true),\n );\n }\n\n isAnyColumnsRightFixed() {\n return this._cache('isAnyColumnsRightFixed', () =>\n this.columns.some(column => column.fixed === 'right'),\n );\n }\n\n leftColumns() {\n return this._cache('leftColumns', () =>\n this.groupedColumns().filter(column => column.fixed === 'left' || column.fixed === true),\n );\n }\n\n rightColumns() {\n return this._cache('rightColumns', () =>\n this.groupedColumns().filter(column => column.fixed === 'right'),\n );\n }\n\n leafColumns() {\n return this._cache('leafColumns', () => this._leafColumns(this.columns));\n }\n\n leftLeafColumns() {\n return this._cache('leftLeafColumns', () => this._leafColumns(this.leftColumns()));\n }\n\n rightLeafColumns() {\n return this._cache('rightLeafColumns', () => this._leafColumns(this.rightColumns()));\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 (\n 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 += newColumn.colSpan;\n } else {\n parentColumn.colSpan += 1;\n }\n // update rowspan to all same row columns\n for (let i = 0; i < rows[currentRow].length - 1; i += 1) {\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 reset(columns) {\n this.columns = columns;\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 PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nexport default {\n name: 'ExpandIcon',\n mixins: [BaseMixin],\n props: {\n record: PropTypes.object,\n prefixCls: PropTypes.string,\n expandable: PropTypes.any,\n expanded: PropTypes.bool,\n needIndentSpaced: PropTypes.bool,\n },\n methods: {\n onExpand(e) {\n this.__emit('expand', this.record, e);\n },\n },\n\n render() {\n const { expandable, prefixCls, onExpand, needIndentSpaced, expanded } = this;\n if (expandable) {\n const expandClassName = expanded ? 'expanded' : 'collapsed';\n return (\n <span\n class={`${prefixCls}-expand-icon ${prefixCls}-${expandClassName}`}\n onClick={onExpand}\n />\n );\n }\n if (needIndentSpaced) {\n return <span class={`${prefixCls}-expand-icon ${prefixCls}-spaced`} />;\n }\n return null;\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport ExpandIcon from './ExpandIcon';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { connect } from '../../_util/store';\n\nconst ExpandableRow = {\n mixins: [BaseMixin],\n name: 'ExpandableRow',\n props: {\n prefixCls: PropTypes.string.isRequired,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n record: PropTypes.oneOfType([PropTypes.object, PropTypes.array]).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 expandIcon: PropTypes.func,\n // onExpandedChange: PropTypes.func.isRequired,\n // onRowClick: PropTypes.func,\n // children: PropTypes.func.isRequired,\n },\n\n beforeDestroy() {\n this.handleDestroy();\n },\n methods: {\n hasExpandIcon(columnIndex) {\n const { expandRowByClick, expandIcon } = this.$props;\n\n if (this.tempExpandIconAsCell || columnIndex !== this.tempExpandIconColumnIndex) {\n return false;\n }\n\n return !!expandIcon || !expandRowByClick;\n },\n\n handleExpandChange(record, event) {\n const { expanded, rowKey } = this;\n this.__emit('expandedChange', !expanded, record, event, rowKey);\n },\n\n handleDestroy() {\n const { rowKey, record } = this;\n this.__emit('expandedChange', false, record, null, rowKey, true);\n },\n\n handleRowClick(record, index, event) {\n const { expandRowByClick } = this;\n if (expandRowByClick) {\n this.handleExpandChange(record, event);\n }\n this.__emit('rowClick', record, index, event);\n },\n\n renderExpandIcon() {\n const { prefixCls, expanded, record, needIndentSpaced, expandIcon } = this;\n if (expandIcon) {\n return expandIcon({\n prefixCls,\n expanded,\n record,\n needIndentSpaced,\n expandable: this.expandable,\n onExpand: this.handleExpandChange,\n });\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.tempExpandIconAsCell) {\n return;\n }\n const { prefixCls } = this;\n\n cells.push(\n <td class={`${prefixCls}-expand-icon-cell`} key=\"rc-table-expand-icon-cell\">\n {this.renderExpandIcon()}\n </td>,\n );\n },\n },\n\n render() {\n const {\n childrenColumnName,\n expandedRowRender,\n indentSize,\n record,\n fixed,\n $scopedSlots,\n expanded,\n } = this;\n\n this.tempExpandIconAsCell = fixed !== 'right' ? this.expandIconAsCell : false;\n this.tempExpandIconColumnIndex = fixed !== 'right' ? this.expandIconColumnIndex : -1;\n const childrenData = record[childrenColumnName];\n this.expandable = !!(childrenData || expandedRowRender);\n const expandableRowProps = {\n props: {\n indentSize,\n expanded, // not used in TableRow, but it's required to re-render TableRow when `expanded` changes\n hasExpandIcon: this.hasExpandIcon,\n renderExpandIcon: this.renderExpandIcon,\n renderExpandIconCell: this.renderExpandIconCell,\n },\n\n on: {\n rowClick: this.handleRowClick,\n },\n };\n\n return $scopedSlots.default && $scopedSlots.default(expandableRowProps);\n },\n};\n\nexport default connect(({ expandedRowKeys }, { rowKey }) => ({\n expanded: expandedRowKeys.includes(rowKey),\n}))(ExpandableRow);\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { connect } from '../../_util/store';\nimport shallowEqual from 'shallowequal';\nimport TableRow from './TableRow';\nimport { remove } from './utils';\nimport { initDefaultProps, getOptionProps, getListeners } from '../../_util/props-util';\n\nexport const ExpandableTableProps = () => ({\n expandIconAsCell: PropTypes.bool,\n expandRowByClick: 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 expandIcon: 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 getRowKey: PropTypes.func,\n});\n\nconst ExpandableTable = {\n name: 'ExpandableTable',\n mixins: [BaseMixin],\n props: initDefaultProps(ExpandableTableProps(), {\n expandIconAsCell: false,\n expandedRowClassName: () => '',\n expandIconColumnIndex: 0,\n defaultExpandAllRows: false,\n defaultExpandedRowKeys: [],\n childrenColumnName: 'children',\n indentSize: 15,\n }),\n\n data() {\n const {\n data,\n childrenColumnName,\n defaultExpandAllRows,\n expandedRowKeys,\n defaultExpandedRowKeys,\n getRowKey,\n } = this;\n\n let finalExpandedRowKeys = [];\n let rows = [...data];\n\n if (defaultExpandAllRows) {\n for (let i = 0; i < rows.length; i += 1) {\n const row = rows[i];\n finalExpandedRowKeys.push(getRowKey(row, i));\n rows = rows.concat(row[childrenColumnName] || []);\n }\n } else {\n finalExpandedRowKeys = expandedRowKeys || defaultExpandedRowKeys;\n }\n\n // this.columnManager = props.columnManager\n // this.store = props.store\n\n this.store.setState({\n expandedRowsHeight: {},\n expandedRowKeys: finalExpandedRowKeys,\n });\n return {};\n },\n mounted() {\n this.handleUpdated();\n },\n updated() {\n this.handleUpdated();\n },\n watch: {\n expandedRowKeys(val) {\n this.$nextTick(() => {\n this.store.setState({\n expandedRowKeys: val,\n });\n });\n },\n },\n methods: {\n handleUpdated() {\n // We should record latest expanded rows to avoid multiple rows remove cause `onExpandedRowsChange` trigger many times\n this.latestExpandedRows = null;\n },\n handleExpandChange(expanded, record, event, rowKey, destroy = false) {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\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 = remove(expandedRowKeys, rowKey);\n }\n }\n\n if (!this.expandedRowKeys) {\n this.store.setState({ expandedRowKeys });\n }\n // De-dup of repeat call\n if (!this.latestExpandedRows || !shallowEqual(this.latestExpandedRows, expandedRowKeys)) {\n this.latestExpandedRows = expandedRowKeys;\n this.__emit('expandedRowsChange', expandedRowKeys);\n }\n\n if (!destroy) {\n this.__emit('expand', expanded, record);\n }\n },\n\n renderExpandIndentCell(rows, fixed) {\n const { prefixCls, expandIconAsCell } = this;\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, expandedRowRender, className, ancestorKeys, indent, fixed) {\n const { prefixCls, expandIconAsCell, indentSize } = this;\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 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 {\n key: 'extra-row',\n customRender: () => {\n const { expandedRowKeys } = this.store.getState();\n const expanded = expandedRowKeys.includes(parentKey);\n return {\n attrs: {\n colSpan: colCount,\n },\n children:\n fixed !== 'right' ? expandedRowRender(record, index, indent, expanded) : '&nbsp;',\n };\n },\n },\n ];\n if (expandIconAsCell && fixed !== 'right') {\n columns.unshift({\n key: 'expand-icon-placeholder',\n customRender: () => null,\n });\n }\n\n return (\n <TableRow\n key={rowKey}\n columns={columns}\n class={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 hasExpandIcon={() => {}}\n />\n );\n },\n\n renderRows(renderRows, rows, record, index, indent, fixed, parentKey, ancestorKeys) {\n const { expandedRowClassName, expandedRowRender, childrenColumnName } = this;\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(...renderRows(childrenData, nextIndent, nextAncestorKeys));\n }\n },\n },\n\n render() {\n const { data, childrenColumnName, $scopedSlots } = this;\n const props = getOptionProps(this);\n const needIndentSpaced = data.some(record => record[childrenColumnName]);\n\n return (\n $scopedSlots.default &&\n $scopedSlots.default({\n props,\n on: getListeners(this),\n needIndentSpaced,\n renderRows: this.renderRows,\n handleExpandChange: this.handleExpandChange,\n renderExpandIndentCell: this.renderExpandIndentCell,\n })\n );\n },\n};\n\nexport default connect()(ExpandableTable);\n","import PropTypes from '../../_util/vue-types';\nimport { measureScrollbar } from './utils';\nimport BaseTable from './BaseTable';\nimport classNames from 'classnames';\n\nexport default {\n name: 'HeadTable',\n props: {\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n handleBodyScrollLeft: PropTypes.func.isRequired,\n expander: PropTypes.object.isRequired,\n },\n inject: {\n table: { default: () => ({}) },\n },\n render() {\n const { columns, fixed, tableClassName, handleBodyScrollLeft, expander, table } = this;\n const { prefixCls, scroll, showHeader, saveRef } = table;\n let { useFixedHeader } = table;\n const headStyle = {};\n\n const scrollbarWidth = measureScrollbar({ direction: 'vertical' });\n\n if (scroll.y) {\n useFixedHeader = true;\n // https://github.com/ant-design/ant-design/issues/17051\n const scrollbarWidthOfHeader = measureScrollbar({ direction: 'horizontal', prefixCls });\n // Add negative margin bottom for scroll bar overflow bug\n if (scrollbarWidthOfHeader > 0 && !fixed) {\n headStyle.marginBottom = `-${scrollbarWidthOfHeader}px`;\n headStyle.paddingBottom = '0px';\n // https://github.com/ant-design/ant-design/pull/19986\n headStyle.minWidth = `${scrollbarWidth}px`;\n // https://github.com/ant-design/ant-design/issues/17051\n headStyle.overflowX = 'scroll';\n headStyle.overflowY = scrollbarWidth === 0 ? 'hidden' : 'scroll';\n }\n }\n\n if (!useFixedHeader || !showHeader) {\n return null;\n }\n return (\n <div\n key=\"headTable\"\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: fixed ? () => {} : saveRef('headTable'),\n },\n ],\n }}\n class={classNames(`${prefixCls}-header`, {\n [`${prefixCls}-hide-scrollbar`]: scrollbarWidth > 0,\n })}\n style={headStyle}\n onScroll={handleBodyScrollLeft}\n >\n <BaseTable\n tableClassName={tableClassName}\n hasHead\n hasBody={false}\n fixed={fixed}\n columns={columns}\n expander={expander}\n />\n </div>\n );\n },\n};\n","/* eslint-disable camelcase */\nimport shallowequal from 'shallowequal';\nimport merge from 'lodash/merge';\nimport classes from 'component-classes';\nimport classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport { debounce } from './utils';\nimport warning from '../../_util/warning';\nimport addEventListener from '../../vc-util/Dom/addEventListener';\nimport { Provider, create } from '../../_util/store';\nimport ColumnManager from './ColumnManager';\nimport HeadTable from './HeadTable';\nimport BodyTable from './BodyTable';\nimport ExpandableTable from './ExpandableTable';\nimport { initDefaultProps, getOptionProps, getListeners } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\n\nexport default {\n name: 'Table',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n data: PropTypes.array,\n useFixedHeader: PropTypes.bool,\n columns: PropTypes.array,\n prefixCls: PropTypes.string,\n bodyStyle: PropTypes.object,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n rowClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n customRow: PropTypes.func,\n customHeaderRow: 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.any,\n scroll: PropTypes.object,\n rowRef: PropTypes.func,\n getBodyWrapper: PropTypes.func,\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 }),\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 expandRowByClick: PropTypes.bool,\n expandIcon: PropTypes.func,\n tableLayout: PropTypes.string,\n transformCellText: PropTypes.func,\n },\n {\n data: [],\n useFixedHeader: false,\n rowKey: 'key',\n rowClassName: () => '',\n prefixCls: 'rc-table',\n bodyStyle: {},\n showHeader: true,\n scroll: {},\n rowRef: () => null,\n emptyText: () => 'No Data',\n customHeaderRow: () => {},\n },\n ),\n data() {\n this.preData = [...this.data];\n return {\n columnManager: new ColumnManager(this.columns),\n sComponents: merge(\n {\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 },\n this.components,\n ),\n };\n },\n watch: {\n components() {\n this._components = merge(\n {\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 },\n this.components,\n );\n },\n columns(val) {\n if (val) {\n this.columnManager.reset(val);\n }\n },\n data(val) {\n if (val.length === 0 && this.hasScrollX()) {\n this.$nextTick(() => {\n this.resetScrollX();\n });\n }\n },\n },\n\n // static childContextTypes = {\n // table: PropTypes.any,\n // components: PropTypes.any,\n // },\n\n created() {\n ['rowClick', 'rowDoubleclick', 'rowContextmenu', 'rowMouseenter', 'rowMouseleave'].forEach(\n name => {\n warning(\n getListeners(this)[name] === undefined,\n `${name} is deprecated, please use customRow instead.`,\n );\n },\n );\n\n warning(\n this.getBodyWrapper === undefined,\n 'getBodyWrapper is deprecated, please use custom components instead.',\n );\n\n // this.columnManager = new ColumnManager(this.columns, this.$slots.default)\n\n this.store = create({\n currentHoverKey: null,\n fixedColumnsHeadRowsHeight: [],\n fixedColumnsBodyRowsHeight: {},\n });\n\n this.setScrollPosition('left');\n\n this.debouncedWindowResize = debounce(this.handleWindowResize, 150);\n },\n provide() {\n return {\n table: this,\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n if (this.columnManager.isAnyColumnsFixed()) {\n this.handleWindowResize();\n this.resizeEvent = addEventListener(window, 'resize', this.debouncedWindowResize);\n }\n // https://github.com/ant-design/ant-design/issues/11635\n if (this.ref_headTable) {\n this.ref_headTable.scrollLeft = 0;\n }\n if (this.ref_bodyTable) {\n this.ref_bodyTable.scrollLeft = 0;\n }\n });\n },\n\n updated() {\n this.$nextTick(() => {\n if (this.columnManager.isAnyColumnsFixed()) {\n this.handleWindowResize();\n if (!this.resizeEvent) {\n this.resizeEvent = addEventListener(window, 'resize', this.debouncedWindowResize);\n }\n }\n });\n },\n\n beforeDestroy() {\n if (this.resizeEvent) {\n this.resizeEvent.remove();\n }\n if (this.debouncedWindowResize) {\n this.debouncedWindowResize.cancel();\n }\n },\n methods: {\n getRowKey(record, index) {\n const rowKey = this.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;\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.ref_bodyTable;\n const scrollToLeft = node.scrollLeft === 0;\n const scrollToRight =\n node.scrollLeft + 1 >=\n node.children[0].getBoundingClientRect().width - 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 isTableLayoutFixed() {\n const { tableLayout, columns = [], useFixedHeader, scroll = {} } = this.$props;\n if (typeof tableLayout !== 'undefined') {\n return tableLayout === 'fixed';\n }\n // if one column is ellipsis, use fixed table layout to fix align issue\n if (columns.some(({ ellipsis }) => !!ellipsis)) {\n return true;\n }\n // if header fixed, use fixed table layout to fix align issue\n if (useFixedHeader || scroll.y) {\n return true;\n }\n // if scroll.x is number/px/% width value, we should fixed table layout\n // to avoid long word layout broken issue\n if (scroll.x && scroll.x !== true && scroll.x !== 'max-content') {\n return true;\n }\n return false;\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 // see: https://github.com/ant-design/ant-design/issues/4836\n if (tableRect.height !== undefined && tableRect.height <= 0) {\n return;\n }\n const { prefixCls } = this;\n const headRows = this.ref_headTable\n ? this.ref_headTable.querySelectorAll('thead')\n : this.ref_bodyTable.querySelectorAll('thead');\n const bodyRows = this.ref_bodyTable.querySelectorAll(`.${prefixCls}-row`) || [];\n const fixedColumnsHeadRowsHeight = [].map.call(headRows, row =>\n row.getBoundingClientRect().height ? row.getBoundingClientRect().height - 0.5 : 'auto',\n );\n const state = this.store.getState();\n const fixedColumnsBodyRowsHeight = [].reduce.call(\n bodyRows,\n (acc, row) => {\n const rowKey = row.getAttribute('data-row-key');\n const height =\n row.getBoundingClientRect().height ||\n state.fixedColumnsBodyRowsHeight[rowKey] ||\n 'auto';\n acc[rowKey] = height;\n return acc;\n },\n {},\n );\n if (\n shallowequal(state.fixedColumnsHeadRowsHeight, fixedColumnsHeadRowsHeight) &&\n shallowequal(state.fixedColumnsBodyRowsHeight, fixedColumnsBodyRowsHeight)\n ) {\n return;\n }\n this.store.setState({\n fixedColumnsHeadRowsHeight,\n fixedColumnsBodyRowsHeight,\n });\n },\n\n resetScrollX() {\n if (this.ref_headTable) {\n this.ref_headTable.scrollLeft = 0;\n }\n if (this.ref_bodyTable) {\n this.ref_bodyTable.scrollLeft = 0;\n }\n },\n\n hasScrollX() {\n const { scroll = {} } = this;\n return 'x' in scroll;\n },\n\n handleBodyScrollLeft(e) {\n // Fix https://github.com/ant-design/ant-design/issues/7635\n if (e.currentTarget !== e.target) {\n return;\n }\n const target = e.target;\n const { scroll = {} } = this;\n const { ref_headTable, ref_bodyTable } = this;\n if (target.scrollLeft !== this.lastScrollLeft && scroll.x) {\n if (target === ref_bodyTable && ref_headTable) {\n ref_headTable.scrollLeft = target.scrollLeft;\n } else if (target === ref_headTable && ref_bodyTable) {\n ref_bodyTable.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 // Fix https://github.com/ant-design/ant-design/issues/9033\n if (e.currentTarget !== target) {\n return;\n }\n const { scroll = {} } = this;\n const {\n ref_headTable,\n ref_bodyTable,\n ref_fixedColumnsBodyLeft,\n ref_fixedColumnsBodyRight,\n } = this;\n if (target.scrollTop !== this.lastScrollTop && scroll.y && target !== ref_headTable) {\n const scrollTop = target.scrollTop;\n if (ref_fixedColumnsBodyLeft && target !== ref_fixedColumnsBodyLeft) {\n ref_fixedColumnsBodyLeft.scrollTop = scrollTop;\n }\n if (ref_fixedColumnsBodyRight && target !== ref_fixedColumnsBodyRight) {\n ref_fixedColumnsBodyRight.scrollTop = scrollTop;\n }\n if (ref_bodyTable && target !== ref_bodyTable) {\n ref_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 handleWheel(event) {\n const { scroll = {} } = this.$props;\n if (window.navigator.userAgent.match(/Trident\\/7\\./) && scroll.y) {\n event.preventDefault();\n const wd = event.deltaY;\n const target = event.target;\n const {\n ref_bodyTable: bodyTable,\n ref_fixedColumnsBodyLeft: fixedColumnsBodyLeft,\n ref_fixedColumnsBodyRight: fixedColumnsBodyRight,\n } = this;\n let scrollTop = 0;\n\n if (this.lastScrollTop) {\n scrollTop = this.lastScrollTop + wd;\n } else {\n scrollTop = wd;\n }\n\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 },\n // saveChildrenRef(name, node) {\n // this[`ref_${name}`] = node;\n // },\n saveRef(name) {\n return node => {\n this[`ref_${name}`] = node;\n };\n },\n\n saveTableNodeRef(node) {\n this.tableNode = node;\n },\n renderMainTable() {\n const { scroll, prefixCls } = this;\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 ? <div class={`${prefixCls}-scroll`}>{table}</div> : table;\n },\n\n renderLeftFixedTable() {\n const { prefixCls } = this;\n\n return (\n <div class={`${prefixCls}-fixed-left`}>\n {this.renderTable({\n columns: this.columnManager.leftColumns(),\n fixed: 'left',\n })}\n </div>\n );\n },\n renderRightFixedTable() {\n const { prefixCls } = this;\n\n return (\n <div class={`${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;\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 handleWheel={this.handleWheel}\n handleBodyScroll={this.handleBodyScroll}\n expander={this.expander}\n isAnyColumnsFixed={isAnyColumnsFixed}\n />\n );\n\n return [headTable, bodyTable];\n },\n\n renderTitle() {\n const { title, prefixCls, data } = this;\n return title ? (\n <div class={`${prefixCls}-title`} key=\"title\">\n {title(data)}\n </div>\n ) : null;\n },\n\n renderFooter() {\n const { footer, prefixCls, data } = this;\n return footer ? (\n <div class={`${prefixCls}-footer`} key=\"footer\">\n {footer(data)}\n </div>\n ) : null;\n },\n\n renderEmptyText() {\n const { emptyText, prefixCls, data } = this;\n if (data.length) {\n return null;\n }\n const emptyClassName = `${prefixCls}-placeholder`;\n return (\n <div class={emptyClassName} key=\"emptyText\">\n {typeof emptyText === 'function' ? emptyText() : emptyText}\n </div>\n );\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const { columnManager, getRowKey } = this;\n const prefixCls = props.prefixCls;\n\n const tableClassName = classNames(props.prefixCls, {\n [`${prefixCls}-fixed-header`]: props.useFixedHeader || (props.scroll && props.scroll.y),\n [`${prefixCls}-scroll-position-left ${prefixCls}-scroll-position-right`]:\n this.scrollPosition === 'both',\n [`${prefixCls}-scroll-position-${this.scrollPosition}`]: this.scrollPosition !== 'both',\n [`${prefixCls}-layout-fixed`]: this.isTableLayoutFixed(),\n });\n\n const hasLeftFixed = columnManager.isAnyColumnsLeftFixed();\n const hasRightFixed = columnManager.isAnyColumnsRightFixed();\n\n const expandableTableProps = {\n props: {\n ...props,\n columnManager,\n getRowKey,\n },\n on: getListeners(this),\n scopedSlots: {\n default: expander => {\n this.expander = expander;\n return (\n <div\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveTableNodeRef,\n },\n ],\n }}\n class={tableClassName}\n // style={props.style}\n // id={props.id}\n >\n {this.renderTitle()}\n <div class={`${prefixCls}-content`}>\n {this.renderMainTable()}\n {hasLeftFixed && this.renderLeftFixedTable()}\n {hasRightFixed && this.renderRightFixedTable()}\n </div>\n </div>\n );\n },\n },\n };\n return (\n <Provider store={this.store}>\n <ExpandableTable {...expandableTableProps} />\n </Provider>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport get from 'lodash/get';\nimport classNames from 'classnames';\nimport { isValidElement, mergeProps } from '../../_util/props-util';\n\nfunction isInvalidRenderCellText(text) {\n return (\n text && !isValidElement(text) && Object.prototype.toString.call(text) === '[object Object]'\n );\n}\n\nexport default {\n name: 'TableCell',\n props: {\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.any,\n component: PropTypes.any,\n },\n inject: {\n table: { default: () => ({}) },\n },\n methods: {\n handleClick(e) {\n const {\n record,\n column: { onCellClick },\n } = this;\n if (onCellClick) {\n onCellClick(record, e);\n }\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;\n const { dataIndex, customRender, className = '' } = column;\n const { transformCellText } = this.table;\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 props: {},\n attrs: {},\n on: {\n click: this.handleClick,\n },\n };\n let colSpan;\n let rowSpan;\n\n if (customRender) {\n text = customRender(text, record, index, column);\n if (isInvalidRenderCellText(text)) {\n tdProps.attrs = text.attrs || {};\n tdProps.props = text.props || {};\n tdProps.class = text.class;\n tdProps.style = text.style;\n colSpan = tdProps.attrs.colSpan;\n rowSpan = tdProps.attrs.rowSpan;\n text = text.children;\n }\n }\n\n if (column.customCell) {\n tdProps = mergeProps(tdProps, column.customCell(record, index));\n }\n\n // Fix https://github.com/ant-design/ant-design/issues/1202\n if (isInvalidRenderCellText(text)) {\n text = null;\n }\n\n if (transformCellText) {\n text = transformCellText({ text, column, record, index });\n }\n\n const indentText = expandIcon ? (\n <span\n style={{ paddingLeft: `${indentSize * indent}px` }}\n class={`${prefixCls}-indent indent-level-${indent}`}\n />\n ) : null;\n\n if (rowSpan === 0 || colSpan === 0) {\n return null;\n }\n if (column.align) {\n tdProps.style = { textAlign: column.align, ...tdProps.style };\n }\n\n const cellClassName = classNames(className, column.class, {\n [`${prefixCls}-cell-ellipsis`]: !!column.ellipsis,\n // 如果有宽度,增加断行处理\n // https://github.com/ant-design/ant-design/issues/13825#issuecomment-449889241\n [`${prefixCls}-cell-break-word`]: !!column.width,\n });\n\n if (column.ellipsis) {\n if (typeof text === 'string') {\n tdProps.attrs.title = text;\n } else if (text) {\n // const { props: textProps } = text;\n // if (textProps && textProps.children && typeof textProps.children === 'string') {\n // tdProps.attrs.title = textProps.children;\n // }\n }\n }\n\n return (\n <BodyCell class={cellClassName} {...tdProps}>\n {indentText}\n {expandIcon}\n {text}\n </BodyCell>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport TableHeaderRow from './TableHeaderRow';\n\nfunction getHeaderRows({ columns = [], currentRow = 0, rows = [], isLast = true }) {\n rows = rows || [];\n rows[currentRow] = rows[currentRow] || [];\n\n columns.forEach((column, i) => {\n if (column.rowSpan && rows.length < column.rowSpan) {\n while (rows.length < column.rowSpan) {\n rows.push([]);\n }\n }\n const cellIsLast = isLast && i === columns.length - 1;\n const cell = {\n key: column.key,\n className: column.className || column.class || '',\n children: column.title,\n isLast: cellIsLast,\n column,\n };\n if (column.children) {\n getHeaderRows({\n columns: column.children,\n currentRow: currentRow + 1,\n rows,\n isLast: cellIsLast,\n });\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 {\n name: 'TableHeader',\n props: {\n fixed: PropTypes.string,\n columns: PropTypes.array.isRequired,\n expander: PropTypes.object.isRequired,\n },\n inject: {\n table: { default: () => ({}) },\n },\n\n render() {\n const { sComponents: components, prefixCls, showHeader, customHeaderRow } = this.table;\n const { expander, columns, fixed } = this;\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 class={`${prefixCls}-thead`}>\n {rows.map((row, index) => (\n <TableHeaderRow\n prefixCls={prefixCls}\n key={index}\n index={index}\n fixed={fixed}\n columns={columns}\n rows={rows}\n row={row}\n components={components}\n customHeaderRow={customHeaderRow}\n />\n ))}\n </HeaderWrapper>\n );\n },\n};\n","import classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport { connect } from '../../_util/store';\nimport { mergeProps } from '../../_util/props-util';\n\nconst TableHeaderRow = {\n props: {\n index: PropTypes.number,\n fixed: PropTypes.string,\n columns: PropTypes.array,\n rows: PropTypes.array,\n row: PropTypes.array,\n components: PropTypes.object,\n height: PropTypes.any,\n customHeaderRow: PropTypes.func,\n prefixCls: PropTypes.prefixCls,\n },\n name: 'TableHeaderRow',\n render(h) {\n const { row, index, height, components, customHeaderRow, prefixCls } = this;\n const HeaderRow = components.header.row;\n const HeaderCell = components.header.cell;\n const rowProps = customHeaderRow(\n row.map(cell => cell.column),\n index,\n );\n const customStyle = rowProps ? rowProps.style : {};\n const style = { height, ...customStyle };\n if (style.height === null) {\n delete style.height;\n }\n return (\n <HeaderRow {...rowProps} style={style}>\n {row.map((cell, i) => {\n const { column, isLast, children, className, ...cellProps } = cell;\n const customProps = column.customHeaderCell ? column.customHeaderCell(column) : {};\n const headerCellProps = mergeProps(\n {\n attrs: {\n ...cellProps,\n },\n },\n {\n ...customProps,\n key: column.key || column.dataIndex || i,\n },\n );\n\n if (column.align) {\n headerCellProps.style = { ...customProps.style, textAlign: column.align };\n }\n\n headerCellProps.class = classNames(\n customProps.class,\n customProps.className,\n column.class,\n column.className,\n {\n [`${prefixCls}-align-${column.align}`]: !!column.align,\n [`${prefixCls}-row-cell-ellipsis`]: !!column.ellipsis,\n [`${prefixCls}-row-cell-break-word`]: !!column.width,\n [`${prefixCls}-row-cell-last`]: isLast,\n },\n );\n\n if (typeof HeaderCell === 'function') {\n return HeaderCell(h, headerCellProps, children);\n }\n return <HeaderCell {...headerCellProps}>{children}</HeaderCell>;\n })}\n </HeaderRow>\n );\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}px`;\n }\n return null;\n}\n\nexport default connect((state, props) => {\n return {\n height: getRowHeight(state, props),\n };\n})(TableHeaderRow);\n","import classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport { connect } from '../../_util/store';\nimport TableCell from './TableCell';\nimport { initDefaultProps, mergeProps, getStyle } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport warning from '../../_util/warning';\nfunction noop() {}\nconst TableRow = {\n name: 'TableRow',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n customRow: 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([PropTypes.string, PropTypes.number]),\n index: PropTypes.number,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n className: PropTypes.string,\n indent: PropTypes.number,\n indentSize: PropTypes.number,\n hasExpandIcon: PropTypes.func,\n hovered: PropTypes.bool.isRequired,\n visible: PropTypes.bool.isRequired,\n store: PropTypes.object.isRequired,\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\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 expandIconColumnIndex: PropTypes.number,\n expandRowByClick: PropTypes.bool,\n // visible: PropTypes.bool,\n // hovered: PropTypes.bool,\n // height: PropTypes.any,\n },\n {\n // expandIconColumnIndex: 0,\n // expandRowByClick: false,\n hasExpandIcon() {},\n renderExpandIcon() {},\n renderExpandIconCell() {},\n },\n ),\n\n data() {\n // this.shouldRender = this.visible\n return {\n shouldRender: this.visible,\n };\n },\n\n mounted() {\n if (this.shouldRender) {\n this.$nextTick(() => {\n this.saveRowRef();\n });\n }\n },\n watch: {\n visible(val) {\n if (val) {\n this.shouldRender = true;\n }\n },\n },\n\n updated() {\n if (this.shouldRender && !this.rowRef) {\n this.$nextTick(() => {\n this.saveRowRef();\n });\n }\n },\n methods: {\n onRowClick(event, rowPropFunc = noop) {\n const { record, index } = this;\n this.__emit('rowClick', record, index, event);\n rowPropFunc(event);\n },\n\n onRowDoubleClick(event, rowPropFunc = noop) {\n const { record, index } = this;\n this.__emit('rowDoubleClick', record, index, event);\n rowPropFunc(event);\n },\n\n onContextMenu(event, rowPropFunc = noop) {\n const { record, index } = this;\n this.__emit('rowContextmenu', record, index, event);\n rowPropFunc(event);\n },\n\n onMouseEnter(event, rowPropFunc = noop) {\n const { record, index, rowKey } = this;\n this.__emit('hover', true, rowKey);\n this.__emit('rowMouseenter', record, index, event);\n rowPropFunc(event);\n },\n\n onMouseLeave(event, rowPropFunc = noop) {\n const { record, index, rowKey } = this;\n this.__emit('hover', false, rowKey);\n this.__emit('rowMouseleave', record, index, event);\n rowPropFunc(event);\n },\n\n setExpandedRowHeight() {\n const { store, rowKey } = this;\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, rowKey } = this;\n const { fixedColumnsBodyRowsHeight } = store.getState();\n const height = this.rowRef.getBoundingClientRect().height;\n store.setState({\n fixedColumnsBodyRowsHeight: {\n ...fixedColumnsBodyRowsHeight,\n [rowKey]: height,\n },\n });\n },\n\n getStyle() {\n const { height, visible } = this;\n let style = getStyle(this);\n if (height) {\n style = { ...style, height };\n }\n\n if (!visible && !style.display) {\n style = { ...style, display: 'none' };\n }\n\n return style;\n },\n\n saveRowRef() {\n this.rowRef = this.$el;\n\n const { isAnyColumnsFixed, fixed, expandedRow, ancestorKeys } = this;\n\n if (!isAnyColumnsFixed) {\n return;\n }\n\n if (!fixed && expandedRow) {\n this.setExpandedRowHeight();\n }\n\n if (!fixed && ancestorKeys.length >= 0) {\n this.setRowHeight();\n }\n },\n },\n\n render() {\n if (!this.shouldRender) {\n return null;\n }\n\n const {\n prefixCls,\n columns,\n record,\n rowKey,\n index,\n customRow = noop,\n indent,\n indentSize,\n hovered,\n height,\n visible,\n components,\n hasExpandIcon,\n renderExpandIcon,\n renderExpandIconCell,\n } = this;\n const BodyRow = components.body.row;\n const BodyCell = components.body.cell;\n\n let className = '';\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 += 1) {\n const column = columns[i];\n\n warning(\n column.onCellClick === undefined,\n 'column[onCellClick] is deprecated, please use column[customCell] 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 { class: customClass, className: customClassName, style: customStyle, ...rowProps } =\n customRow(record, index) || {};\n\n let style = { height: typeof height === 'number' ? `${height}px` : height };\n\n if (!visible) {\n style.display = 'none';\n }\n\n style = { ...style, ...customStyle };\n const rowClassName = classNames(\n prefixCls,\n className,\n `${prefixCls}-level-${indent}`,\n customClassName,\n customClass,\n );\n const rowPropEvents = rowProps.on || {};\n const bodyRowProps = mergeProps(\n { ...rowProps, style },\n {\n on: {\n click: e => {\n this.onRowClick(e, rowPropEvents.click);\n },\n dblclick: e => {\n this.onRowDoubleClick(e, rowPropEvents.dblclick);\n },\n mouseenter: e => {\n this.onMouseEnter(e, rowPropEvents.mouseenter);\n },\n mouseleave: e => {\n this.onMouseLeave(e, rowPropEvents.mouseleave);\n },\n contextmenu: e => {\n this.onContextMenu(e, rowPropEvents.contextmenu);\n },\n },\n class: rowClassName,\n },\n {\n attrs: {\n 'data-row-key': rowKey,\n },\n },\n );\n return <BodyRow {...bodyRowProps}>{cells}</BodyRow>;\n },\n};\n\nfunction getRowHeight(state, props) {\n const { expandedRowsHeight, fixedColumnsBodyRowsHeight } = state;\n const { fixed, rowKey } = props;\n\n if (!fixed) {\n return null;\n }\n\n if (expandedRowsHeight[rowKey]) {\n return expandedRowsHeight[rowKey];\n }\n\n if (fixedColumnsBodyRowsHeight[rowKey]) {\n return fixedColumnsBodyRowsHeight[rowKey];\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.includes(k));\n\n return {\n visible,\n hovered: currentHoverKey === rowKey,\n height: getRowHeight(state, props),\n };\n})(TableRow);\n","let scrollbarVerticalSize;\nlet scrollbarHorizontalSize;\n\n// Measure scrollbar width for padding body during modal show/hide\nconst scrollbarMeasure = {\n position: 'absolute',\n top: '-9999px',\n width: '50px',\n height: '50px',\n};\n\nexport const INTERNAL_COL_DEFINE = 'RC_TABLE_INTERNAL_COL_DEFINE';\n\nexport function measureScrollbar({ direction = 'vertical', prefixCls }) {\n if (typeof document === 'undefined' || typeof window === 'undefined') {\n return 0;\n }\n const isVertical = direction === 'vertical';\n if (isVertical && scrollbarVerticalSize) {\n return scrollbarVerticalSize;\n }\n if (!isVertical && scrollbarHorizontalSize) {\n return scrollbarHorizontalSize;\n }\n const scrollDiv = document.createElement('div');\n Object.keys(scrollbarMeasure).forEach(scrollProp => {\n scrollDiv.style[scrollProp] = scrollbarMeasure[scrollProp];\n });\n // apply hide scrollbar className ahead\n scrollDiv.className = `${prefixCls}-hide-scrollbar scroll-div-append-to-body`;\n\n // Append related overflow style\n if (isVertical) {\n scrollDiv.style.overflowY = 'scroll';\n } else {\n scrollDiv.style.overflowX = 'scroll';\n }\n document.body.appendChild(scrollDiv);\n let size = 0;\n if (isVertical) {\n size = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n scrollbarVerticalSize = size;\n } else {\n size = scrollDiv.offsetHeight - scrollDiv.clientHeight;\n scrollbarHorizontalSize = size;\n }\n\n document.body.removeChild(scrollDiv);\n return size;\n}\n\nexport function debounce(func, wait, immediate) {\n let timeout;\n function debounceFunc(...args) {\n const context = this;\n // https://fb.me/react-event-pooling\n if (args[0] && args[0].persist) {\n args[0].persist();\n }\n const later = () => {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n }\n debounceFunc.cancel = function cancel() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n return debounceFunc;\n}\n\nexport function remove(array, item) {\n const index = array.indexOf(item);\n const front = array.slice(0, index);\n const last = array.slice(index + 1, array.length);\n return front.concat(last);\n}\n","import PropTypes from '../../_util/vue-types';\nimport {\n setTransform,\n isTransform3dSupported,\n getLeft,\n getStyle,\n getTop,\n getActiveIndex,\n} from './utils';\nimport BaseMixin from '../../_util/BaseMixin';\n\nfunction componentDidUpdate(component, init) {\n const { styles = {}, panels, activeKey, direction } = component.$props;\n const rootNode = component.getRef('root');\n const wrapNode = component.getRef('nav') || rootNode;\n const inkBarNode = component.getRef('inkBar');\n const activeTab = component.getRef('activeTab');\n const inkBarNodeStyle = inkBarNode.style;\n const tabBarPosition = component.$props.tabBarPosition;\n const activeIndex = getActiveIndex(panels, activeKey);\n if (init) {\n // prevent mount animation\n inkBarNodeStyle.display = 'none';\n }\n if (activeTab) {\n const tabNode = activeTab;\n const transformSupported = isTransform3dSupported(inkBarNodeStyle);\n\n // Reset current style\n setTransform(inkBarNodeStyle, '');\n inkBarNodeStyle.width = '';\n inkBarNodeStyle.height = '';\n inkBarNodeStyle.left = '';\n inkBarNodeStyle.top = '';\n inkBarNodeStyle.bottom = '';\n inkBarNodeStyle.right = '';\n\n if (tabBarPosition === 'top' || tabBarPosition === 'bottom') {\n let left = getLeft(tabNode, wrapNode);\n let width = tabNode.offsetWidth;\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 // Fix https://github.com/ant-design/ant-design/issues/7564\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 += (tabNode.offsetWidth - width) / 2;\n }\n }\n if (direction === 'rtl') {\n left = getStyle(tabNode, 'margin-left') - left;\n }\n // use 3d gpu to optimize render\n if (transformSupported) {\n setTransform(inkBarNodeStyle, `translate3d(${left}px,0,0)`);\n } else {\n inkBarNodeStyle.left = `${left}px`;\n }\n inkBarNodeStyle.width = `${width}px`;\n } else {\n let top = getTop(tabNode, wrapNode, true);\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 += (tabNode.offsetHeight - height) / 2;\n }\n }\n if (transformSupported) {\n setTransform(inkBarNodeStyle, `translate3d(0,${top}px,0)`);\n inkBarNodeStyle.top = '0';\n } else {\n inkBarNodeStyle.top = `${top}px`;\n }\n inkBarNodeStyle.height = `${height}px`;\n }\n }\n inkBarNodeStyle.display = activeIndex !== -1 ? 'block' : 'none';\n}\n\nexport default {\n name: 'InkTabBarNode',\n mixins: [BaseMixin],\n props: {\n inkBarAnimated: {\n type: Boolean,\n default: true,\n },\n direction: PropTypes.string,\n prefixCls: String,\n styles: Object,\n tabBarPosition: String,\n saveRef: PropTypes.func.def(() => {}),\n getRef: PropTypes.func.def(() => {}),\n panels: PropTypes.array,\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n },\n updated() {\n this.$nextTick(function() {\n componentDidUpdate(this);\n });\n },\n\n mounted() {\n this.$nextTick(function() {\n componentDidUpdate(this, true);\n });\n },\n render() {\n const { prefixCls, styles = {}, inkBarAnimated } = this;\n const className = `${prefixCls}-ink-bar`;\n const classes = {\n [className]: true,\n [inkBarAnimated ? `${className}-animated` : `${className}-no-animated`]: true,\n };\n return (\n <div\n style={styles.inkBar}\n class={classes}\n key=\"inkBar\"\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('inkBar'),\n },\n ],\n }}\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","import PropTypes from '../../_util/vue-types';\n\nexport default {\n props: {\n children: PropTypes.func.def(() => null),\n },\n methods: {\n getRef(name) {\n return this[name];\n },\n\n saveRef(name) {\n return node => {\n if (node) {\n this[name] = node;\n }\n };\n },\n },\n\n render() {\n // 每次都new一个新的function,避免子节点不能重新渲染\n const saveRef = name => this.saveRef(name);\n const getRef = name => this.getRef(name);\n return this.children(saveRef, getRef);\n },\n};\n","import InkTabBarNode from './InkTabBarNode';\nimport TabBarTabsNode from './TabBarTabsNode';\nimport TabBarRootNode from './TabBarRootNode';\nimport ScrollableTabBarNode from './ScrollableTabBarNode';\nimport SaveRef from './SaveRef';\nimport { getListeners } from '../../_util/props-util';\n\nexport default {\n name: 'ScrollableInkTabBar',\n inheritAttrs: false,\n props: [\n 'extraContent',\n 'inkBarAnimated',\n 'tabBarGutter',\n 'prefixCls',\n 'navWrapper',\n 'tabBarPosition',\n 'panels',\n 'activeKey',\n 'prevIcon',\n 'nextIcon',\n ],\n render() {\n const props = { ...this.$props };\n const listeners = getListeners(this);\n const { default: renderTabBarNode } = this.$scopedSlots;\n return (\n <SaveRef\n children={(saveRef, getRef) => (\n <TabBarRootNode saveRef={saveRef} {...{ props, on: listeners }}>\n <ScrollableTabBarNode saveRef={saveRef} getRef={getRef} {...{ props, on: listeners }}>\n <TabBarTabsNode\n saveRef={saveRef}\n {...{ props: { ...props, renderTabBarNode }, on: listeners }}\n />\n <InkTabBarNode saveRef={saveRef} getRef={getRef} {...{ props, on: listeners }} />\n </ScrollableTabBarNode>\n </TabBarRootNode>\n )}\n />\n );\n },\n};\n","import debounce from 'lodash/debounce';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getComponentFromProp } from '../../_util/props-util';\nimport { setTransform, isTransform3dSupported } from './utils';\n\nfunction noop() {}\nexport default {\n name: 'ScrollableTabBarNode',\n mixins: [BaseMixin],\n props: {\n activeKey: PropTypes.any,\n getRef: PropTypes.func.def(() => {}),\n saveRef: PropTypes.func.def(() => {}),\n tabBarPosition: PropTypes.oneOf(['left', 'right', 'top', 'bottom']).def('left'),\n prefixCls: PropTypes.string.def(''),\n scrollAnimated: PropTypes.bool.def(true),\n navWrapper: PropTypes.func.def(arg => arg),\n prevIcon: PropTypes.any,\n nextIcon: PropTypes.any,\n direction: PropTypes.string,\n },\n\n data() {\n this.offset = 0;\n this.prevProps = { ...this.$props };\n return {\n next: false,\n prev: false,\n };\n },\n watch: {\n tabBarPosition() {\n this.tabBarPositionChange = true;\n this.$nextTick(() => {\n this.setOffset(0);\n });\n },\n },\n\n mounted() {\n this.$nextTick(() => {\n this.updatedCal();\n this.debouncedResize = debounce(() => {\n this.setNextPrev();\n this.scrollToActiveTab();\n }, 200);\n this.resizeObserver = new ResizeObserver(this.debouncedResize);\n this.resizeObserver.observe(this.$props.getRef('container'));\n });\n },\n\n updated() {\n this.$nextTick(() => {\n this.updatedCal(this.prevProps);\n this.prevProps = { ...this.$props };\n });\n },\n\n beforeDestroy() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n if (this.debouncedResize && this.debouncedResize.cancel) {\n this.debouncedResize.cancel();\n }\n },\n methods: {\n updatedCal(prevProps) {\n const props = this.$props;\n if (prevProps && prevProps.tabBarPosition !== props.tabBarPosition) {\n this.setOffset(0);\n return;\n }\n // wait next, prev show hide\n if (this.isNextPrevShown(this.$data) !== this.isNextPrevShown(this.setNextPrev())) {\n this.$forceUpdate();\n this.$nextTick(() => {\n this.scrollToActiveTab();\n });\n } else if (!prevProps || props.activeKey !== prevProps.activeKey) {\n // can not use props.activeKey\n this.scrollToActiveTab();\n }\n },\n setNextPrev() {\n const navNode = this.$props.getRef('nav');\n const navTabsContainer = this.$props.getRef('navTabsContainer');\n const navNodeWH = this.getScrollWH(navTabsContainer || navNode);\n // Add 1px to fix `offsetWidth` with decimal in Chrome not correct handle\n // https://github.com/ant-design/ant-design/issues/13423\n const containerWH = this.getOffsetWH(this.$props.getRef('container')) + 1;\n const navWrapNodeWH = this.getOffsetWH(this.$props.getRef('navWrap'));\n let { offset } = this;\n const minOffset = containerWH - navNodeWH;\n let { next, prev } = this;\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 // Fix https://github.com/ant-design/ant-design/issues/8861\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.tabBarPosition;\n let prop = 'scrollWidth';\n if (tabBarPosition === 'left' || tabBarPosition === 'right') {\n prop = 'scrollHeight';\n }\n return node[prop];\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 let 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.$props.getRef('nav').style;\n const transformSupported = isTransform3dSupported(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 if (transformSupported) {\n if (this.$props.direction === 'rtl') {\n target = -target;\n }\n navOffset = {\n value: `translate3d(${target}px,0,0)`,\n };\n } else {\n navOffset = {\n name: 'left',\n value: `${target}px`,\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.prev !== v) {\n this.prev = v;\n }\n },\n\n setNext(v) {\n if (!v) {\n // debugger\n }\n if (this.next !== v) {\n this.next = v;\n }\n },\n\n isNextPrevShown(state) {\n if (state) {\n return state.next || state.prev;\n }\n return this.next || this.prev;\n },\n\n prevTransitionEnd(e) {\n if (e.propertyName !== 'opacity') {\n return;\n }\n const container = this.$props.getRef('container');\n this.scrollToActiveTab({\n target: container,\n currentTarget: container,\n });\n },\n\n scrollToActiveTab(e) {\n const activeTab = this.$props.getRef('activeTab');\n const navWrap = this.$props.getRef('navWrap');\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 prevClick(e) {\n this.__emit('prevClick', e);\n const navWrapNode = this.$props.getRef('navWrap');\n const navWrapNodeWH = this.getOffsetWH(navWrapNode);\n const { offset } = this;\n this.setOffset(offset + navWrapNodeWH);\n },\n\n nextClick(e) {\n this.__emit('nextClick', e);\n const navWrapNode = this.$props.getRef('navWrap');\n const navWrapNodeWH = this.getOffsetWH(navWrapNode);\n const { offset } = this;\n this.setOffset(offset - navWrapNodeWH);\n },\n },\n render() {\n const { next, prev } = this;\n const { prefixCls, scrollAnimated, navWrapper } = this.$props;\n const prevIcon = getComponentFromProp(this, 'prevIcon');\n const nextIcon = getComponentFromProp(this, 'nextIcon');\n const showNextPrev = prev || next;\n\n const prevButton = (\n <span\n onClick={prev ? this.prevClick : noop}\n unselectable=\"unselectable\"\n class={{\n [`${prefixCls}-tab-prev`]: 1,\n [`${prefixCls}-tab-btn-disabled`]: !prev,\n [`${prefixCls}-tab-arrow-show`]: showNextPrev,\n }}\n onTransitionend={this.prevTransitionEnd}\n >\n {prevIcon || <span class={`${prefixCls}-tab-prev-icon`} />}\n </span>\n );\n\n const nextButton = (\n <span\n onClick={next ? this.nextClick : noop}\n unselectable=\"unselectable\"\n class={{\n [`${prefixCls}-tab-next`]: 1,\n [`${prefixCls}-tab-btn-disabled`]: !next,\n [`${prefixCls}-tab-arrow-show`]: showNextPrev,\n }}\n >\n {nextIcon || <span class={`${prefixCls}-tab-next-icon`} />}\n </span>\n );\n\n const navClassName = `${prefixCls}-nav`;\n const navClasses = {\n [navClassName]: true,\n [scrollAnimated ? `${navClassName}-animated` : `${navClassName}-no-animated`]: true,\n };\n\n return (\n <div\n class={{\n [`${prefixCls}-nav-container`]: 1,\n [`${prefixCls}-nav-container-scrolling`]: showNextPrev,\n }}\n key=\"container\"\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('container'),\n },\n ],\n }}\n >\n {prevButton}\n {nextButton}\n <div\n class={`${prefixCls}-nav-wrap`}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('navWrap'),\n },\n ],\n }}\n >\n <div class={`${prefixCls}-nav-scroll`}>\n <div\n class={navClasses}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('nav'),\n },\n ],\n }}\n >\n {navWrapper(this.$slots.default)}\n </div>\n </div>\n </div>\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport KeyCode from '../../_util/KeyCode';\n\nconst sentinelStyle = { width: 0, height: 0, overflow: 'hidden', position: 'absolute' };\nexport default {\n name: 'Sentinel',\n props: {\n setRef: PropTypes.func,\n prevElement: PropTypes.any,\n nextElement: PropTypes.any,\n },\n methods: {\n onKeyDown({ target, which, shiftKey }) {\n const { nextElement, prevElement } = this.$props;\n if (which !== KeyCode.TAB || document.activeElement !== target) return;\n\n // Tab next\n if (!shiftKey && nextElement) {\n nextElement.focus();\n }\n\n // Tab prev\n if (shiftKey && prevElement) {\n prevElement.focus();\n }\n },\n },\n render() {\n const { setRef } = this.$props;\n\n return (\n <div\n tabIndex={0}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: setRef,\n },\n ],\n }}\n style={sentinelStyle}\n onKeydown={this.onKeyDown}\n role=\"presentation\"\n >\n {this.$slots.default}\n </div>\n );\n },\n};\n","import { cloneElement } from '../../_util/vnode';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nfunction noop() {}\nexport default {\n name: 'TabBarRootNode',\n mixins: [BaseMixin],\n props: {\n saveRef: PropTypes.func.def(noop),\n getRef: PropTypes.func.def(noop),\n prefixCls: PropTypes.string.def(''),\n tabBarPosition: PropTypes.string.def('top'),\n extraContent: PropTypes.any,\n },\n methods: {\n onKeyDown(e) {\n this.__emit('keydown', e);\n },\n },\n render() {\n const { prefixCls, onKeyDown, tabBarPosition, extraContent } = this;\n const cls = {\n [`${prefixCls}-bar`]: true,\n };\n const topOrBottom = tabBarPosition === 'top' || tabBarPosition === 'bottom';\n const tabBarExtraContentStyle = topOrBottom ? { float: 'right' } : {};\n const children = this.$slots.default;\n let newChildren = children;\n if (extraContent) {\n newChildren = [\n cloneElement(extraContent, {\n key: 'extra',\n style: {\n ...tabBarExtraContentStyle,\n },\n }),\n cloneElement(children, { key: 'content' }),\n ];\n newChildren = topOrBottom ? newChildren : newChildren.reverse();\n }\n\n return (\n <div\n role=\"tablist\"\n class={cls}\n tabIndex=\"0\"\n onKeydown={onKeyDown}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('root'),\n },\n ],\n }}\n >\n {newChildren}\n </div>\n );\n },\n};\n","import warning from 'warning';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, getComponentFromProp } from '../../_util/props-util';\nimport { isVertical } from './utils';\nfunction noop() {}\nexport default {\n name: 'TabBarTabsNode',\n mixins: [BaseMixin],\n props: {\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n panels: PropTypes.any.def([]),\n prefixCls: PropTypes.string.def(''),\n tabBarGutter: PropTypes.any.def(null),\n onTabClick: PropTypes.func,\n saveRef: PropTypes.func.def(noop),\n getRef: PropTypes.func.def(noop),\n renderTabBarNode: PropTypes.func,\n tabBarPosition: PropTypes.string,\n direction: PropTypes.string,\n },\n render() {\n const {\n panels: children,\n activeKey,\n prefixCls,\n tabBarGutter,\n saveRef,\n tabBarPosition,\n direction,\n } = this.$props;\n const rst = [];\n const renderTabBarNode = this.renderTabBarNode || this.$scopedSlots.renderTabBarNode;\n children.forEach((child, index) => {\n if (!child) {\n return;\n }\n const props = getOptionProps(child);\n const key = child.key;\n let cls = activeKey === key ? `${prefixCls}-tab-active` : '';\n cls += ` ${prefixCls}-tab`;\n const events = { on: {} };\n const disabled = props.disabled || props.disabled === '';\n if (disabled) {\n cls += ` ${prefixCls}-tab-disabled`;\n } else {\n events.on.click = () => {\n this.__emit('tabClick', key);\n };\n }\n const directives = [];\n if (activeKey === key) {\n directives.push({\n name: 'ant-ref',\n value: saveRef('activeTab'),\n });\n }\n const tab = getComponentFromProp(child, 'tab');\n let gutter = tabBarGutter && index === children.length - 1 ? 0 : tabBarGutter;\n gutter = typeof gutter === 'number' ? `${gutter}px` : gutter;\n const marginProperty = direction === 'rtl' ? 'marginLeft' : 'marginRight';\n const style = {\n [isVertical(tabBarPosition) ? 'marginBottom' : marginProperty]: gutter,\n };\n warning(tab !== undefined, 'There must be `tab` property or slot on children of Tabs.');\n let node = (\n <div\n role=\"tab\"\n aria-disabled={disabled ? 'true' : 'false'}\n aria-selected={activeKey === key ? 'true' : 'false'}\n {...events}\n class={cls}\n key={key}\n style={style}\n {...{ directives }}\n >\n {tab}\n </div>\n );\n if (renderTabBarNode) {\n node = renderTabBarNode(node);\n }\n\n rst.push(node);\n });\n\n return (\n <div\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('navTabsContainer'),\n },\n ],\n }}\n >\n {rst}\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport { cloneElement } from '../../_util/vnode';\nimport {\n getTransformByIndex,\n getActiveIndex,\n getTransformPropValue,\n getMarginStyle,\n} from './utils';\nexport default {\n name: 'TabContent',\n props: {\n animated: { type: Boolean, default: true },\n animatedWithMargin: { type: Boolean, default: true },\n prefixCls: {\n default: 'ant-tabs',\n type: String,\n },\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n tabBarPosition: String,\n direction: PropTypes.string,\n destroyInactiveTabPane: PropTypes.bool,\n },\n computed: {\n classes() {\n const { animated, prefixCls } = this;\n return {\n [`${prefixCls}-content`]: true,\n [animated ? `${prefixCls}-content-animated` : `${prefixCls}-content-no-animated`]: true,\n };\n },\n },\n methods: {\n getTabPanes() {\n const props = this.$props;\n const activeKey = props.activeKey;\n const children = this.$slots.default || [];\n const newChildren = [];\n\n children.forEach(child => {\n if (!child) {\n return;\n }\n const key = child.key;\n const active = activeKey === key;\n newChildren.push(\n cloneElement(child, {\n props: {\n active,\n destroyInactiveTabPane: props.destroyInactiveTabPane,\n rootPrefixCls: props.prefixCls,\n },\n }),\n );\n });\n\n return newChildren;\n },\n },\n render() {\n const { activeKey, tabBarPosition, animated, animatedWithMargin, direction, classes } = this;\n let style = {};\n if (animated && this.$slots.default) {\n const activeIndex = getActiveIndex(this.$slots.default, activeKey);\n if (activeIndex !== -1) {\n const animatedStyle = animatedWithMargin\n ? getMarginStyle(activeIndex, tabBarPosition)\n : getTransformPropValue(getTransformByIndex(activeIndex, tabBarPosition, direction));\n style = animatedStyle;\n } else {\n style = {\n display: 'none',\n };\n }\n }\n return (\n <div class={classes} style={style}>\n {this.getTabPanes()}\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport { getComponentFromProp } from '../../_util/props-util';\nimport Sentinel from './Sentinel';\n\nexport default {\n name: 'TabPane',\n props: {\n active: PropTypes.bool,\n destroyInactiveTabPane: PropTypes.bool,\n forceRender: PropTypes.bool,\n placeholder: PropTypes.any,\n rootPrefixCls: PropTypes.string,\n tab: PropTypes.any,\n closable: PropTypes.bool,\n disabled: PropTypes.bool,\n },\n inject: {\n sentinelContext: { default: () => ({}) },\n },\n render() {\n const { destroyInactiveTabPane, active, forceRender, rootPrefixCls } = this.$props;\n const children = this.$slots.default;\n const placeholder = getComponentFromProp(this, 'placeholder');\n this._isActived = this._isActived || active;\n const prefixCls = `${rootPrefixCls}-tabpane`;\n const cls = {\n [prefixCls]: 1,\n [`${prefixCls}-inactive`]: !active,\n [`${prefixCls}-active`]: active,\n };\n const isRender = destroyInactiveTabPane ? active : this._isActived;\n const shouldRender = isRender || forceRender;\n const {\n sentinelStart,\n sentinelEnd,\n setPanelSentinelStart,\n setPanelSentinelEnd,\n } = this.sentinelContext;\n let panelSentinelStart;\n let panelSentinelEnd;\n if (active && shouldRender) {\n panelSentinelStart = <Sentinel setRef={setPanelSentinelStart} prevElement={sentinelStart} />;\n panelSentinelEnd = <Sentinel setRef={setPanelSentinelEnd} nextElement={sentinelEnd} />;\n }\n return (\n <div class={cls} role=\"tabpanel\" aria-hidden={active ? 'false' : 'true'}>\n {panelSentinelStart}\n {shouldRender ? children : placeholder}\n {panelSentinelEnd}\n </div>\n );\n },\n};\n","import omit from 'omit.js';\nimport BaseMixin from '../../_util/BaseMixin';\nimport PropTypes from '../../_util/vue-types';\nimport raf from 'raf';\nimport KeyCode from './KeyCode';\nimport { getOptionProps, getListeners } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport Sentinel from './Sentinel';\nimport isValid from '../../_util/isValid';\n\nfunction getDefaultActiveKey(props) {\n let activeKey;\n const children = props.children;\n children.forEach(child => {\n if (child && !isValid(activeKey) && !child.disabled) {\n activeKey = child.key;\n }\n });\n return activeKey;\n}\n\nfunction activeKeyIsValid(props, key) {\n const children = props.children;\n const keys = children.map(child => child && child.key);\n return keys.indexOf(key) >= 0;\n}\n\nexport default {\n name: 'Tabs',\n mixins: [BaseMixin],\n model: {\n prop: 'activeKey',\n event: 'change',\n },\n props: {\n destroyInactiveTabPane: PropTypes.bool,\n renderTabBar: PropTypes.func.isRequired,\n renderTabContent: PropTypes.func.isRequired,\n navWrapper: PropTypes.func.def(arg => arg),\n children: PropTypes.any.def([]),\n prefixCls: PropTypes.string.def('ant-tabs'),\n tabBarPosition: PropTypes.string.def('top'),\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n defaultActiveKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n __propsSymbol__: PropTypes.any,\n direction: PropTypes.string.def('ltr'),\n tabBarGutter: PropTypes.number,\n },\n data() {\n const props = getOptionProps(this);\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 return {\n _activeKey: activeKey,\n };\n },\n provide() {\n return {\n sentinelContext: this,\n };\n },\n watch: {\n __propsSymbol__() {\n const nextProps = getOptionProps(this);\n if ('activeKey' in nextProps) {\n this.setState({\n _activeKey: nextProps.activeKey,\n });\n } else if (!activeKeyIsValid(nextProps, this.$data._activeKey)) {\n // https://github.com/ant-design/ant-design/issues/7093\n this.setState({\n _activeKey: getDefaultActiveKey(nextProps),\n });\n }\n },\n },\n beforeDestroy() {\n this.destroy = true;\n raf.cancel(this.sentinelId);\n },\n methods: {\n onTabClick(activeKey, e) {\n if (\n this.tabBar.componentOptions &&\n this.tabBar.componentOptions.listeners &&\n this.tabBar.componentOptions.listeners.tabClick\n ) {\n this.tabBar.componentOptions.listeners.tabClick(activeKey, e);\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 onScroll({ target, currentTarget }) {\n if (target === currentTarget && target.scrollLeft > 0) {\n target.scrollLeft = 0;\n }\n },\n\n // Sentinel for tab index\n setSentinelStart(node) {\n this.sentinelStart = node;\n },\n\n setSentinelEnd(node) {\n this.sentinelEnd = node;\n },\n\n setPanelSentinelStart(node) {\n if (node !== this.panelSentinelStart) {\n this.updateSentinelContext();\n }\n this.panelSentinelStart = node;\n },\n\n setPanelSentinelEnd(node) {\n if (node !== this.panelSentinelEnd) {\n this.updateSentinelContext();\n }\n this.panelSentinelEnd = node;\n },\n\n setActiveKey(activeKey) {\n if (this.$data._activeKey !== activeKey) {\n const props = getOptionProps(this);\n if (!('activeKey' in props)) {\n this.setState({\n _activeKey: activeKey,\n });\n }\n this.__emit('change', activeKey);\n }\n },\n\n getNextActiveKey(next) {\n const activeKey = this.$data._activeKey;\n const children = [];\n this.$props.children.forEach(c => {\n if (c && !c.disabled && c.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 && children[0].key;\n children.forEach((child, i) => {\n if (child.key === activeKey) {\n if (i === length - 1) {\n ret = children[0].key;\n } else {\n ret = children[i + 1].key;\n }\n }\n });\n return ret;\n },\n updateSentinelContext() {\n if (this.destroy) return;\n\n raf.cancel(this.sentinelId);\n this.sentinelId = raf(() => {\n if (this.destroy) return;\n this.$forceUpdate();\n });\n },\n },\n render() {\n const props = this.$props;\n const {\n prefixCls,\n navWrapper,\n tabBarPosition,\n renderTabContent,\n renderTabBar,\n destroyInactiveTabPane,\n direction,\n tabBarGutter,\n } = props;\n const cls = {\n [prefixCls]: 1,\n [`${prefixCls}-${tabBarPosition}`]: 1,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n };\n\n this.tabBar = renderTabBar();\n const tabBar = cloneElement(this.tabBar, {\n props: {\n prefixCls,\n navWrapper,\n tabBarPosition,\n panels: props.children,\n activeKey: this.$data._activeKey,\n direction,\n tabBarGutter,\n },\n on: {\n keydown: this.onNavKeyDown,\n tabClick: this.onTabClick,\n },\n key: 'tabBar',\n });\n const tabContent = cloneElement(renderTabContent(), {\n props: {\n prefixCls,\n tabBarPosition,\n activeKey: this.$data._activeKey,\n destroyInactiveTabPane,\n direction,\n },\n on: {\n change: this.setActiveKey,\n },\n children: props.children,\n key: 'tabContent',\n });\n\n const sentinelStart = (\n <Sentinel\n key=\"sentinelStart\"\n setRef={this.setSentinelStart}\n nextElement={this.panelSentinelStart}\n />\n );\n const sentinelEnd = (\n <Sentinel\n key=\"sentinelEnd\"\n setRef={this.setSentinelEnd}\n prevElement={this.panelSentinelEnd}\n />\n );\n\n const contents = [];\n\n if (tabBarPosition === 'bottom') {\n contents.push(sentinelStart, tabContent, sentinelEnd, tabBar);\n } else {\n contents.push(tabBar, sentinelStart, tabContent, sentinelEnd);\n }\n const listeners = {\n ...omit(getListeners(this), ['change']),\n scroll: this.onScroll,\n };\n return <div {...{ on: listeners, class: cls }}>{contents}</div>;\n },\n};\n","// based on rc-tabs 9.7.0\nimport ref from 'vue-ref';\nimport Vue from 'vue';\nimport Tabs from './Tabs';\nimport TabPane from './TabPane';\nimport TabContent from './TabContent';\n\nVue.use(ref, { name: 'ant-ref' });\n\nexport default Tabs;\nexport { TabPane, TabContent };\n","export function toArray(children) {\n const c = [];\n children.forEach(child => {\n if (child.data) {\n c.push(child);\n }\n });\n return c;\n}\n\nexport function getActiveIndex(children, activeKey) {\n const c = toArray(children);\n for (let i = 0; i < c.length; i++) {\n if (c[i].key === activeKey) {\n return i;\n }\n }\n return -1;\n}\n\nexport function getActiveKey(children, index) {\n const c = toArray(children);\n return c[index].key;\n}\n\nexport function setTransform(style, v) {\n style.transform = v;\n style.webkitTransform = v;\n style.mozTransform = v;\n}\n\nexport function isTransform3dSupported(style) {\n return (\n ('transform' in style || 'webkitTransform' in style || 'MozTransform' in style) && window.atob\n );\n}\n\nexport function setTransition(style, v) {\n style.transition = v;\n style.webkitTransition = v;\n style.MozTransition = v;\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, direction = 'ltr') {\n const translate = isVertical(tabBarPosition) ? 'translateY' : 'translateX';\n if (!isVertical(tabBarPosition) && direction === 'rtl') {\n return `${translate}(${index * 100}%) translateZ(0)`;\n }\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 +window\n .getComputedStyle(el)\n .getPropertyValue(property)\n .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\nfunction toNum(style, property) {\n return +style.getPropertyValue(property).replace('px', '');\n}\n\nfunction getTypeValue(start, current, end, tabNode, wrapperNode) {\n let total = getStyle(wrapperNode, `padding-${start}`);\n if (!tabNode || !tabNode.parentNode) {\n return total;\n }\n\n const { childNodes } = tabNode.parentNode;\n Array.prototype.some.call(childNodes, node => {\n const style = window.getComputedStyle(node);\n if (node !== tabNode) {\n total += toNum(style, `margin-${start}`);\n total += node[current];\n total += toNum(style, `margin-${end}`);\n\n if (style.boxSizing === 'content-box') {\n total += toNum(style, `border-${start}-width`) + toNum(style, `border-${end}-width`);\n }\n return false;\n }\n\n // We need count current node margin\n // ref: https://github.com/react-component/tabs/pull/139#issuecomment-431005262\n total += toNum(style, `margin-${start}`);\n\n return true;\n });\n\n return total;\n}\n\nexport function getLeft(tabNode, wrapperNode) {\n return getTypeValue('left', 'offsetWidth', 'right', tabNode, wrapperNode);\n}\n\nexport function getTop(tabNode, wrapperNode) {\n return getTypeValue('top', 'offsetHeight', 'bottom', tabNode, wrapperNode);\n}\n","import PropTypes from '../_util/vue-types';\nimport Select from './Select';\nimport BaseMixin from '../_util/BaseMixin';\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\nconst Combobox = {\n mixins: [BaseMixin],\n name: 'Combobox',\n props: {\n format: PropTypes.string,\n defaultOpenValue: PropTypes.object,\n prefixCls: PropTypes.string,\n value: PropTypes.object,\n // onChange: PropTypes.func,\n // onAmPmChange: 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 methods: {\n onItemChange(type, itemValue) {\n const { defaultOpenValue, use12Hours, value: propValue, isAM } = this;\n const value = (propValue || defaultOpenValue).clone();\n\n if (type === 'hour') {\n if (use12Hours) {\n if (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 this.__emit('amPmChange', ampm);\n } else {\n value.second(+itemValue);\n }\n this.__emit('change', value);\n },\n\n onEnterSelectPanel(range) {\n this.__emit('currentSelectPanelChange', range);\n },\n onEsc(e) {\n this.__emit('esc', e);\n },\n\n getHourSelect(hour) {\n const { prefixCls, hourOptions, disabledHours, showHour, use12Hours } = this;\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('hour')}\n onEsc={this.onEsc}\n />\n );\n },\n\n getMinuteSelect(minute) {\n const {\n prefixCls,\n minuteOptions,\n disabledMinutes,\n defaultOpenValue,\n showMinute,\n value: propValue,\n } = this;\n if (!showMinute) {\n return null;\n }\n const value = propValue || 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('minute')}\n onEsc={this.onEsc}\n />\n );\n },\n\n getSecondSelect(second) {\n const {\n prefixCls,\n secondOptions,\n disabledSeconds,\n showSecond,\n defaultOpenValue,\n value: propValue,\n } = this;\n if (!showSecond) {\n return null;\n }\n const value = propValue || 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('second')}\n onEsc={this.onEsc}\n />\n );\n },\n\n getAMPMSelect() {\n const { prefixCls, use12Hours, format, isAM } = this;\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 = 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('ampm')}\n onEsc={this.onEsc}\n />\n );\n },\n },\n\n render() {\n const { prefixCls, defaultOpenValue, value: propValue } = this;\n const value = propValue || defaultOpenValue;\n return (\n <div class={`${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 PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport moment from 'moment';\n\nconst Header = {\n mixins: [BaseMixin],\n props: {\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.def(false),\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 clearIcon: PropTypes.any,\n },\n data() {\n const { value, format } = this;\n return {\n str: (value && value.format(format)) || '',\n invalid: false,\n };\n },\n\n mounted() {\n if (this.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 watch: {\n value(val) {\n this.$nextTick(() => {\n this.setState({\n str: (val && val.format(this.format)) || '',\n invalid: false,\n });\n });\n },\n },\n\n methods: {\n onInputChange(e) {\n const { value: str, composing } = e.target;\n const { str: oldStr = '' } = this;\n if (e.isComposing || composing || oldStr === str) return;\n\n this.setState({\n str,\n });\n const {\n format,\n hourOptions,\n minuteOptions,\n secondOptions,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n value: originalValue,\n } = this;\n\n if (str) {\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\n .hour(parsed.hour())\n .minute(parsed.minute())\n .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 this.__emit('change', changedValue);\n }\n } else if (originalValue !== value) {\n this.__emit('change', value);\n }\n } else {\n this.__emit('change', null);\n }\n\n this.setState({\n invalid: false,\n });\n },\n\n onKeyDown(e) {\n if (e.keyCode === 27) {\n this.__emit('esc');\n }\n this.__emit('keydown', e);\n },\n\n getProtoValue() {\n return this.value || this.defaultOpenValue;\n },\n\n getInput() {\n const { prefixCls, placeholder, inputReadOnly, invalid, str } = this;\n const invalidClass = invalid ? `${prefixCls}-input-invalid` : '';\n return (\n <input\n class={`${prefixCls}-input ${invalidClass}`}\n ref=\"input\"\n onKeydown={this.onKeyDown}\n value={str}\n placeholder={placeholder}\n onInput={this.onInputChange}\n readOnly={!!inputReadOnly}\n {...{\n directives: [\n {\n name: 'ant-input',\n },\n ],\n }}\n />\n );\n },\n },\n\n render() {\n const { prefixCls } = this;\n return <div class={`${prefixCls}-input-wrap`}>{this.getInput()}</div>;\n },\n};\n\nexport default Header;\n","import moment from 'moment';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport Header from './Header';\nimport Combobox from './Combobox';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\n\nfunction noop() {}\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\nfunction toNearestValidTime(time, hourOptions, minuteOptions, secondOptions) {\n const hour = hourOptions\n .slice()\n .sort((a, b) => Math.abs(time.hour() - a) - Math.abs(time.hour() - b))[0];\n const minute = minuteOptions\n .slice()\n .sort((a, b) => Math.abs(time.minute() - a) - Math.abs(time.minute() - b))[0];\n const second = secondOptions\n .slice()\n .sort((a, b) => Math.abs(time.second() - a) - Math.abs(time.second() - b))[0];\n return moment(`${hour}:${minute}:${second}`, 'HH:mm:ss');\n}\n\nconst Panel = {\n mixins: [BaseMixin],\n props: {\n clearText: PropTypes.string,\n prefixCls: PropTypes.string.def('rc-time-picker-panel'),\n defaultOpenValue: {\n type: Object,\n default: () => {\n return moment();\n },\n },\n value: PropTypes.any,\n defaultValue: PropTypes.any,\n placeholder: PropTypes.string,\n format: PropTypes.string,\n inputReadOnly: PropTypes.bool.def(false),\n disabledHours: PropTypes.func.def(noop),\n disabledMinutes: PropTypes.func.def(noop),\n disabledSeconds: PropTypes.func.def(noop),\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.def(false),\n hourStep: PropTypes.number,\n minuteStep: PropTypes.number,\n secondStep: PropTypes.number,\n addon: PropTypes.func.def(noop),\n focusOnOpen: PropTypes.bool,\n // onKeydown: PropTypes.func,\n clearIcon: PropTypes.any,\n },\n data() {\n return {\n sValue: this.value,\n selectionRange: [],\n currentSelectPanel: '',\n };\n },\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n },\n\n methods: {\n onChange(newValue) {\n this.setState({ sValue: newValue });\n this.__emit('change', newValue);\n },\n\n onAmPmChange(ampm) {\n this.__emit('amPmChange', ampm);\n },\n\n onCurrentSelectPanelChange(currentSelectPanel) {\n this.setState({ currentSelectPanel });\n },\n\n // https://github.com/ant-design/ant-design/issues/5829\n close() {\n this.__emit('esc');\n },\n onEsc(e) {\n this.__emit('esc', e);\n },\n disabledHours2() {\n const { use12Hours, disabledHours } = this;\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.sValue || this.defaultOpenValue;\n return value.hour() >= 0 && value.hour() < 12;\n },\n },\n\n render() {\n const {\n prefixCls,\n placeholder,\n disabledMinutes,\n addon,\n disabledSeconds,\n hideDisabledOptions,\n showHour,\n showMinute,\n showSecond,\n format,\n defaultOpenValue,\n clearText,\n use12Hours,\n focusOnOpen,\n hourStep,\n minuteStep,\n secondStep,\n inputReadOnly,\n sValue,\n currentSelectPanel,\n } = this;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const { esc = noop, keydown = noop } = getListeners(this);\n\n const disabledHourOptions = this.disabledHours2();\n const disabledMinuteOptions = disabledMinutes(sValue ? sValue.hour() : null);\n const disabledSecondOptions = disabledSeconds(\n sValue ? sValue.hour() : null,\n sValue ? sValue.minute() : null,\n );\n const hourOptions = generateOptions(24, disabledHourOptions, hideDisabledOptions, hourStep);\n const minuteOptions = generateOptions(\n 60,\n disabledMinuteOptions,\n hideDisabledOptions,\n minuteStep,\n );\n const secondOptions = generateOptions(\n 60,\n disabledSecondOptions,\n hideDisabledOptions,\n secondStep,\n );\n const validDefaultOpenValue = toNearestValidTime(\n defaultOpenValue,\n hourOptions,\n minuteOptions,\n secondOptions,\n );\n return (\n <div class={`${prefixCls}-inner`}>\n <Header\n clearText={clearText}\n prefixCls={prefixCls}\n defaultOpenValue={validDefaultOpenValue}\n value={sValue}\n currentSelectPanel={currentSelectPanel}\n onEsc={esc}\n format={format}\n placeholder={placeholder}\n hourOptions={hourOptions}\n minuteOptions={minuteOptions}\n secondOptions={secondOptions}\n disabledHours={this.disabledHours2}\n disabledMinutes={disabledMinutes}\n disabledSeconds={disabledSeconds}\n onChange={this.onChange}\n focusOnOpen={focusOnOpen}\n onKeydown={keydown}\n inputReadOnly={inputReadOnly}\n clearIcon={clearIcon}\n />\n <Combobox\n prefixCls={prefixCls}\n value={sValue}\n defaultOpenValue={validDefaultOpenValue}\n format={format}\n onChange={this.onChange}\n onAmPmChange={this.onAmPmChange}\n showHour={showHour}\n showMinute={showMinute}\n showSecond={showSecond}\n hourOptions={hourOptions}\n minuteOptions={minuteOptions}\n secondOptions={secondOptions}\n disabledHours={this.disabledHours2}\n disabledMinutes={disabledMinutes}\n disabledSeconds={disabledSeconds}\n onCurrentSelectPanelChange={this.onCurrentSelectPanelChange}\n use12Hours={use12Hours}\n onEsc={this.onEsc}\n isAM={this.isAM()}\n />\n {addon(this)}\n </div>\n );\n },\n};\n\nexport default Panel;\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport classnames from 'classnames';\nimport raf from 'raf';\n\nfunction noop() {}\nconst scrollTo = (element, to, duration) => {\n // jump to target if duration zero\n if (duration <= 0) {\n raf(() => {\n element.scrollTop = to;\n });\n return;\n }\n const difference = to - element.scrollTop;\n const perTick = (difference / duration) * 10;\n\n raf(() => {\n element.scrollTop += perTick;\n if (element.scrollTop === to) return;\n scrollTo(element, to, duration - 10);\n });\n};\n\nconst Select = {\n mixins: [BaseMixin],\n props: {\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 data() {\n return {\n active: false,\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n // jump to selected option\n this.scrollToSelected(0);\n });\n },\n watch: {\n selectedIndex() {\n this.$nextTick(() => {\n // smooth scroll to selected option\n this.scrollToSelected(120);\n });\n },\n },\n methods: {\n onSelect(value) {\n const { type } = this;\n this.__emit('select', type, value);\n },\n onEsc(e) {\n this.__emit('esc', e);\n },\n getOptions() {\n const { options, selectedIndex, prefixCls } = this;\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 const onClick = item.disabled\n ? noop\n : () => {\n this.onSelect(item.value);\n };\n const onKeyDown = e => {\n if (e.keyCode === 13) onClick();\n else if (e.keyCode === 27) this.onEsc();\n };\n return (\n <li\n role=\"button\"\n onClick={onClick}\n class={cls}\n key={index}\n disabled={item.disabled}\n tabIndex=\"0\"\n onKeydown={onKeyDown}\n >\n {item.value}\n </li>\n );\n });\n },\n\n handleMouseEnter(e) {\n this.setState({ active: true });\n this.__emit('mouseenter', e);\n },\n\n handleMouseLeave() {\n this.setState({ active: false });\n },\n\n scrollToSelected(duration) {\n // move to selected item\n const select = this.$el;\n const list = this.$refs.list;\n if (!list) {\n return;\n }\n let index = this.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\n render() {\n const { prefixCls, options, active } = this;\n if (options.length === 0) {\n return null;\n }\n\n const cls = {\n [`${prefixCls}-select`]: 1,\n [`${prefixCls}-select-active`]: active,\n };\n\n return (\n <div class={cls} onMouseenter={this.handleMouseEnter} onMouseleave={this.handleMouseLeave}>\n <ul ref=\"list\">{this.getOptions()}</ul>\n </div>\n );\n },\n};\n\nexport default Select;\n","import moment from 'moment';\nimport classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport {\n initDefaultProps,\n hasProp,\n getComponentFromProp,\n isValidElement,\n getEvents,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport Trigger from '../vc-trigger';\nimport Panel from './Panel';\nimport placements from './placements';\n\nfunction noop() {}\n\nexport default {\n name: 'VcTimePicker',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n prefixCls: PropTypes.string,\n clearText: PropTypes.string,\n value: PropTypes.any,\n defaultOpenValue: {\n type: Object,\n default: () => {\n return moment();\n },\n },\n inputReadOnly: PropTypes.bool,\n disabled: PropTypes.bool,\n allowEmpty: PropTypes.bool,\n defaultValue: PropTypes.any,\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 popupClassName: PropTypes.string,\n popupStyle: PropTypes.object,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n hideDisabledOptions: PropTypes.bool,\n // onChange: PropTypes.func,\n // onAmPmChange: PropTypes.func,\n // onOpen: PropTypes.func,\n // onClose: PropTypes.func,\n // onFocus: PropTypes.func,\n // onBlur: 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 inputIcon: PropTypes.any,\n clearIcon: PropTypes.any,\n addon: PropTypes.func,\n },\n {\n clearText: 'clear',\n prefixCls: 'rc-time-picker',\n defaultOpen: false,\n inputReadOnly: false,\n popupClassName: '',\n popupStyle: {},\n align: {},\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 use12Hours: false,\n focusOnOpen: false,\n },\n ),\n data() {\n const { defaultOpen, defaultValue, open = defaultOpen, value = defaultValue } = this;\n return {\n sOpen: open,\n sValue: value,\n };\n },\n\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n open(val) {\n if (val !== undefined) {\n this.setState({\n sOpen: val,\n });\n }\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus) {\n this.focus();\n }\n });\n },\n methods: {\n onPanelChange(value) {\n this.setValue(value);\n },\n\n onAmPmChange(ampm) {\n this.__emit('amPmChange', ampm);\n },\n\n onClear(event) {\n event.stopPropagation();\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 onKeyDown2(e) {\n this.__emit('keydown', e);\n },\n\n setValue(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n this.__emit('change', value);\n },\n\n getFormat() {\n const { format, showHour, showMinute, showSecond, use12Hours } = this;\n if (format) {\n return format;\n }\n\n if (use12Hours) {\n const fmtString = [showHour ? 'h' : '', showMinute ? 'mm' : '', showSecond ? 'ss' : '']\n .filter(item => !!item)\n .join(':');\n\n return fmtString.concat(' a');\n }\n\n return [showHour ? 'HH' : '', showMinute ? 'mm' : '', showSecond ? 'ss' : '']\n .filter(item => !!item)\n .join(':');\n },\n\n getPanelElement() {\n const {\n prefixCls,\n placeholder,\n disabledHours,\n addon,\n disabledMinutes,\n disabledSeconds,\n hideDisabledOptions,\n inputReadOnly,\n showHour,\n showMinute,\n showSecond,\n defaultOpenValue,\n clearText,\n use12Hours,\n focusOnOpen,\n onKeyDown2,\n hourStep,\n minuteStep,\n secondStep,\n sValue,\n } = this;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n return (\n <Panel\n clearText={clearText}\n prefixCls={`${prefixCls}-panel`}\n ref=\"panel\"\n value={sValue}\n inputReadOnly={inputReadOnly}\n onChange={this.onPanelChange}\n onAmPmChange={this.onAmPmChange}\n defaultOpenValue={defaultOpenValue}\n showHour={showHour}\n showMinute={showMinute}\n showSecond={showSecond}\n onEsc={this.onEsc}\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 focusOnOpen={focusOnOpen}\n onKeydown={onKeyDown2}\n clearIcon={clearIcon}\n addon={addon}\n />\n );\n },\n\n getPopupClassName() {\n const { showHour, showMinute, showSecond, use12Hours, prefixCls, popupClassName } = this;\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 // Keep it for old compatibility\n return classNames(\n popupClassName,\n {\n [`${prefixCls}-panel-narrow`]: (!showHour || !showMinute || !showSecond) && !use12Hours,\n },\n `${prefixCls}-panel-column-${selectColumnCount}`,\n );\n },\n\n setOpen(open) {\n if (this.sOpen !== open) {\n if (!hasProp(this, 'open')) {\n this.setState({ sOpen: open });\n }\n if (open) {\n this.__emit('open', { open });\n } else {\n this.__emit('close', { open });\n }\n }\n },\n\n focus() {\n this.$refs.picker.focus();\n },\n\n blur() {\n this.$refs.picker.blur();\n },\n onFocus(e) {\n this.__emit('focus', e);\n },\n onBlur(e) {\n this.__emit('blur', e);\n },\n renderClearButton() {\n const { sValue } = this;\n const { prefixCls, allowEmpty, clearText, disabled } = this.$props;\n if (!allowEmpty || !sValue || disabled) {\n return null;\n }\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n if (isValidElement(clearIcon)) {\n const { click } = getEvents(clearIcon) || {};\n return cloneElement(clearIcon, {\n on: {\n click: (...args) => {\n if (click) click(...args);\n this.onClear(...args);\n },\n },\n });\n }\n\n return (\n <a\n role=\"button\"\n class={`${prefixCls}-clear`}\n title={clearText}\n onClick={this.onClear}\n tabIndex={0}\n >\n {clearIcon || <i class={`${prefixCls}-clear-icon`} />}\n </a>\n );\n },\n },\n\n render() {\n const {\n prefixCls,\n placeholder,\n placement,\n align,\n id,\n disabled,\n transitionName,\n getPopupContainer,\n name,\n autoComplete,\n autoFocus,\n inputReadOnly,\n sOpen,\n sValue,\n onFocus,\n onBlur,\n popupStyle,\n } = this;\n const popupClassName = this.getPopupClassName();\n const inputIcon = getComponentFromProp(this, 'inputIcon');\n return (\n <Trigger\n prefixCls={`${prefixCls}-panel`}\n popupClassName={popupClassName}\n popupStyle={popupStyle}\n popupAlign={align}\n builtinPlacements={placements}\n popupPlacement={placement}\n action={disabled ? [] : ['click']}\n destroyPopupOnHide\n getPopupContainer={getPopupContainer}\n popupTransitionName={transitionName}\n popupVisible={sOpen}\n onPopupVisibleChange={this.onVisibleChange}\n >\n <template slot=\"popup\">{this.getPanelElement()}</template>\n <span class={`${prefixCls}`}>\n <input\n class={`${prefixCls}-input`}\n ref=\"picker\"\n type=\"text\"\n placeholder={placeholder}\n name={name}\n onKeydown={this.onKeyDown}\n disabled={disabled}\n value={(sValue && sValue.format(this.getFormat())) || ''}\n autoComplete={autoComplete}\n onFocus={onFocus}\n onBlur={onBlur}\n autoFocus={autoFocus}\n readOnly={!!inputReadOnly}\n id={id}\n />\n {inputIcon || <span class={`${prefixCls}-icon`} />}\n {this.renderClearButton()}\n </span>\n </Trigger>\n );\n },\n};\n","// based on rc-time-picker 3.7.3\nexport { default } from './TimePicker';\n","const 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 default placements;\n","import PropTypes from '../_util/vue-types';\n\nexport default {\n props: {\n prefixCls: PropTypes.string,\n overlay: PropTypes.any,\n trigger: PropTypes.any,\n },\n updated() {\n const { trigger } = this;\n if (trigger) {\n trigger.forcePopupAlign();\n }\n },\n render() {\n const { overlay, prefixCls } = this;\n return (\n <div class={`${prefixCls}-inner`} role=\"tooltip\">\n {typeof overlay === 'function' ? overlay() : overlay}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport Trigger from '../vc-trigger';\nimport { placements } from './placements';\nimport Content from './Content';\nimport { hasProp, getComponentFromProp, getOptionProps, getListeners } from '../_util/props-util';\nfunction noop() {}\nexport default {\n props: {\n trigger: PropTypes.any.def(['hover']),\n defaultVisible: PropTypes.bool,\n visible: PropTypes.bool,\n placement: PropTypes.string.def('right'),\n transitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n animation: PropTypes.any,\n afterVisibleChange: PropTypes.func.def(() => {}),\n overlay: PropTypes.any,\n overlayStyle: PropTypes.object,\n overlayClassName: PropTypes.string,\n prefixCls: PropTypes.string.def('rc-tooltip'),\n mouseEnterDelay: PropTypes.number.def(0),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n getTooltipContainer: PropTypes.func,\n destroyTooltipOnHide: PropTypes.bool.def(false),\n align: PropTypes.object.def(() => ({})),\n arrowContent: PropTypes.any.def(null),\n tipId: PropTypes.string,\n builtinPlacements: PropTypes.object,\n },\n methods: {\n getPopupElement() {\n const { prefixCls, tipId } = this.$props;\n return [\n <div class={`${prefixCls}-arrow`} key=\"arrow\">\n {getComponentFromProp(this, 'arrowContent')}\n </div>,\n <Content\n key=\"content\"\n trigger={this.$refs.trigger}\n prefixCls={prefixCls}\n id={tipId}\n overlay={getComponentFromProp(this, 'overlay')}\n />,\n ];\n },\n\n getPopupDomNode() {\n return this.$refs.trigger.getPopupDomNode();\n },\n },\n render(h) {\n const {\n overlayClassName,\n trigger,\n mouseEnterDelay,\n mouseLeaveDelay,\n overlayStyle,\n prefixCls,\n afterVisibleChange,\n transitionName,\n animation,\n placement,\n align,\n destroyTooltipOnHide,\n defaultVisible,\n getTooltipContainer,\n ...restProps\n } = getOptionProps(this);\n const extraProps = { ...restProps };\n if (hasProp(this, 'visible')) {\n extraProps.popupVisible = this.$props.visible;\n }\n const listeners = getListeners(this);\n const triggerProps = {\n props: {\n popupClassName: overlayClassName,\n prefixCls,\n action: trigger,\n builtinPlacements: placements,\n popupPlacement: placement,\n popupAlign: align,\n getPopupContainer: getTooltipContainer,\n afterPopupVisibleChange: afterVisibleChange,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n defaultPopupVisible: defaultVisible,\n destroyPopupOnHide: destroyTooltipOnHide,\n mouseLeaveDelay,\n popupStyle: overlayStyle,\n mouseEnterDelay,\n ...extraProps,\n },\n on: {\n ...listeners,\n popupVisibleChange: listeners.visibleChange || noop,\n popupAlign: listeners.popupAlign || noop,\n },\n ref: 'trigger',\n };\n return (\n <Trigger {...triggerProps}>\n <template slot=\"popup\">{this.getPopupElement(h)}</template>\n {this.$slots.default}\n </Trigger>\n );\n },\n};\n","// based on rc-tooltip 3.7.3\nimport 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","// export this package's api\n// base 2.9.3\nimport Vue from 'vue';\nimport TreeSelect from './src';\nimport ref from 'vue-ref';\n\nVue.use(ref, { name: 'ant-ref' });\nexport default TreeSelect;\n\nexport { TreeNode, SHOW_ALL, SHOW_PARENT, SHOW_CHILD } from './src';\n","import warning from 'warning';\nimport PropTypes from '../../../_util/vue-types';\nimport { Tree } from '../../../vc-tree';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { createRef } from '../util';\n\n// export const popupContextTypes = {\n// onPopupKeyDown: PropTypes.func.isRequired,\n// onTreeNodeSelect: PropTypes.func.isRequired,\n// onTreeNodeCheck: PropTypes.func.isRequired,\n// }\nfunction getDerivedState(nextProps, prevState) {\n const {\n _prevProps: prevProps = {},\n _loadedKeys: loadedKeys,\n _expandedKeyList: expandedKeyList,\n _cachedExpandedKeyList: cachedExpandedKeyList,\n } = prevState || {};\n const {\n valueList,\n valueEntities,\n keyEntities,\n treeExpandedKeys,\n filteredTreeNodes,\n upperSearchValue,\n } = nextProps;\n\n const newState = {\n _prevProps: { ...nextProps },\n };\n\n // Check value update\n if (valueList !== prevProps.valueList) {\n newState._keyList = valueList\n .map(({ value }) => valueEntities[value])\n .filter(entity => entity)\n .map(({ key }) => key);\n }\n\n // Show all when tree is in filter mode\n if (\n !treeExpandedKeys &&\n filteredTreeNodes &&\n filteredTreeNodes.length &&\n filteredTreeNodes !== prevProps.filteredTreeNodes\n ) {\n newState._expandedKeyList = [...keyEntities.keys()];\n }\n\n // Cache `expandedKeyList` when filter set\n if (upperSearchValue && !prevProps.upperSearchValue) {\n newState._cachedExpandedKeyList = expandedKeyList;\n } else if (!upperSearchValue && prevProps.upperSearchValue && !treeExpandedKeys) {\n newState._expandedKeyList = cachedExpandedKeyList || [];\n newState._cachedExpandedKeyList = [];\n }\n\n // Use expandedKeys if provided\n if (prevProps.treeExpandedKeys !== treeExpandedKeys) {\n newState._expandedKeyList = treeExpandedKeys;\n }\n\n // Clean loadedKeys if key not exist in keyEntities anymore\n if (nextProps.loadData) {\n newState._loadedKeys = loadedKeys.filter(key => keyEntities.has(key));\n }\n\n return newState;\n}\nconst BasePopup = {\n mixins: [BaseMixin],\n name: 'BasePopup',\n props: {\n prefixCls: PropTypes.string,\n upperSearchValue: PropTypes.string,\n valueList: PropTypes.array,\n searchHalfCheckedKeys: PropTypes.array,\n valueEntities: PropTypes.object,\n keyEntities: Map,\n treeIcon: PropTypes.bool,\n treeLine: PropTypes.bool,\n treeNodeFilterProp: PropTypes.string,\n treeCheckable: PropTypes.any,\n treeCheckStrictly: PropTypes.bool,\n treeDefaultExpandAll: PropTypes.bool,\n treeDefaultExpandedKeys: PropTypes.array,\n treeExpandedKeys: PropTypes.array,\n loadData: PropTypes.func,\n multiple: PropTypes.bool,\n // onTreeExpand: PropTypes.func,\n searchValue: PropTypes.string,\n treeNodes: PropTypes.any,\n filteredTreeNodes: PropTypes.any,\n notFoundContent: PropTypes.any,\n\n ariaId: PropTypes.string,\n switcherIcon: PropTypes.any,\n // HOC\n renderSearch: PropTypes.func,\n // onTreeExpanded: PropTypes.func,\n\n __propsSymbol__: PropTypes.any,\n },\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n watch: {\n __propsSymbol__() {\n const state = getDerivedState(this.$props, this.$data);\n this.setState(state);\n },\n },\n data() {\n this.treeRef = createRef();\n warning(this.$props.__propsSymbol__, 'must pass __propsSymbol__');\n const { treeDefaultExpandAll, treeDefaultExpandedKeys, keyEntities } = this.$props;\n\n // TODO: make `expandedKeyList` control\n let expandedKeyList = treeDefaultExpandedKeys;\n if (treeDefaultExpandAll) {\n expandedKeyList = [...keyEntities.keys()];\n }\n\n const state = {\n _keyList: [],\n _expandedKeyList: expandedKeyList,\n // Cache `expandedKeyList` when tree is in filter. This is used in `getDerivedState`\n _cachedExpandedKeyList: [],\n _loadedKeys: [],\n _prevProps: {},\n };\n return {\n ...state,\n ...getDerivedState(this.$props, state),\n };\n },\n methods: {\n onTreeExpand(expandedKeyList) {\n const { treeExpandedKeys } = this.$props;\n\n // Set uncontrolled state\n if (!treeExpandedKeys) {\n this.setState({ _expandedKeyList: expandedKeyList }, () => {\n this.__emit('treeExpanded');\n });\n }\n this.__emit('update:treeExpandedKeys', expandedKeyList);\n this.__emit('treeExpand', expandedKeyList);\n },\n\n onLoad(loadedKeys) {\n this.setState({ _loadedKeys: loadedKeys });\n },\n\n getTree() {\n return this.treeRef.current;\n },\n\n /**\n * Not pass `loadData` when searching. To avoid loop ajax call makes browser crash.\n */\n getLoadData() {\n const { loadData, upperSearchValue } = this.$props;\n if (upperSearchValue) return null;\n return loadData;\n },\n\n /**\n * This method pass to Tree component which is used for add filtered class\n * in TreeNode > li\n */\n filterTreeNode(treeNode) {\n const { upperSearchValue, treeNodeFilterProp } = this.$props;\n\n const filterVal = treeNode[treeNodeFilterProp];\n if (typeof filterVal === 'string') {\n return upperSearchValue && filterVal.toUpperCase().indexOf(upperSearchValue) !== -1;\n }\n\n return false;\n },\n\n renderNotFound() {\n const { prefixCls, notFoundContent } = this.$props;\n\n return <span class={`${prefixCls}-not-found`}>{notFoundContent}</span>;\n },\n },\n\n render() {\n const {\n _keyList: keyList,\n _expandedKeyList: expandedKeyList,\n _loadedKeys: loadedKeys,\n } = this.$data;\n const {\n prefixCls,\n treeNodes,\n filteredTreeNodes,\n treeIcon,\n treeLine,\n treeCheckable,\n treeCheckStrictly,\n multiple,\n ariaId,\n renderSearch,\n switcherIcon,\n searchHalfCheckedKeys,\n } = this.$props;\n const {\n vcTreeSelect: { onPopupKeyDown, onTreeNodeSelect, onTreeNodeCheck },\n } = this;\n\n const loadData = this.getLoadData();\n\n const treeProps = {};\n\n if (treeCheckable) {\n treeProps.checkedKeys = keyList;\n } else {\n treeProps.selectedKeys = keyList;\n }\n let $notFound;\n let $treeNodes;\n if (filteredTreeNodes) {\n if (filteredTreeNodes.length) {\n treeProps.checkStrictly = true;\n $treeNodes = filteredTreeNodes;\n\n // Fill halfCheckedKeys\n if (treeCheckable && !treeCheckStrictly) {\n treeProps.checkedKeys = {\n checked: keyList,\n halfChecked: searchHalfCheckedKeys,\n };\n }\n } else {\n $notFound = this.renderNotFound();\n }\n } else if (!treeNodes || !treeNodes.length) {\n $notFound = this.renderNotFound();\n } else {\n $treeNodes = treeNodes;\n }\n\n let $tree;\n if ($notFound) {\n $tree = $notFound;\n } else {\n const treeAllProps = {\n props: {\n prefixCls: `${prefixCls}-tree`,\n showIcon: treeIcon,\n showLine: treeLine,\n selectable: !treeCheckable,\n checkable: treeCheckable,\n checkStrictly: treeCheckStrictly,\n multiple,\n loadData,\n loadedKeys,\n expandedKeys: expandedKeyList,\n filterTreeNode: this.filterTreeNode,\n switcherIcon,\n ...treeProps,\n __propsSymbol__: Symbol(),\n children: $treeNodes,\n },\n on: {\n select: onTreeNodeSelect,\n check: onTreeNodeCheck,\n expand: this.onTreeExpand,\n load: this.onLoad,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.treeRef,\n },\n ],\n };\n $tree = <Tree {...treeAllProps} />;\n }\n\n return (\n <div role=\"listbox\" id={ariaId} onKeydown={onPopupKeyDown} tabIndex={-1}>\n {renderSearch ? renderSearch() : null}\n {$tree}\n </div>\n );\n },\n};\n\nexport default BasePopup;\n","/**\n * Input Box is in different position for different mode.\n * This not the same design as `Select` cause it's followed by antd 0.x `Select`.\n * We will not follow the new design immediately since antd 3.x is already released.\n *\n * So this file named as Selector to avoid confuse.\n */\nimport { createRef } from '../util';\nimport PropTypes from '../../../_util/vue-types';\nimport classNames from 'classnames';\nimport { initDefaultProps, getComponentFromProp, getListeners } from '../../../_util/props-util';\nimport BaseMixin from '../../../_util/BaseMixin';\nexport const selectorPropTypes = () => ({\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n open: PropTypes.bool,\n selectorValueList: PropTypes.array,\n allowClear: PropTypes.bool,\n showArrow: PropTypes.bool,\n // onClick: PropTypes.func,\n // onBlur: PropTypes.func,\n // onFocus: PropTypes.func,\n removeSelected: PropTypes.func,\n choiceTransitionName: PropTypes.string,\n // Pass by component\n ariaId: PropTypes.string,\n inputIcon: PropTypes.any,\n clearIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n placeholder: PropTypes.any,\n disabled: PropTypes.bool,\n focused: PropTypes.bool,\n});\n\nfunction noop() {}\nexport default function(modeName) {\n const BaseSelector = {\n name: 'BaseSelector',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n ...selectorPropTypes(),\n\n // Pass by HOC\n renderSelection: PropTypes.func.isRequired,\n renderPlaceholder: PropTypes.func,\n tabIndex: PropTypes.number,\n },\n {\n tabIndex: 0,\n },\n ),\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n created() {\n this.domRef = createRef();\n },\n methods: {\n onFocus(e) {\n const { focused } = this.$props;\n const {\n vcTreeSelect: { onSelectorFocus },\n } = this;\n\n if (!focused) {\n onSelectorFocus();\n }\n this.__emit('focus', e);\n },\n\n onBlur(e) {\n const {\n vcTreeSelect: { onSelectorBlur },\n } = this;\n\n // TODO: Not trigger when is inner component get focused\n onSelectorBlur();\n this.__emit('blur', e);\n },\n\n focus() {\n this.domRef.current.focus();\n },\n\n blur() {\n this.domRef.current.blur();\n },\n\n renderClear() {\n const { prefixCls, allowClear, selectorValueList } = this.$props;\n const {\n vcTreeSelect: { onSelectorClear },\n } = this;\n\n if (!allowClear || !selectorValueList.length || !selectorValueList[0].value) {\n return null;\n }\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n return (\n <span key=\"clear\" class={`${prefixCls}-selection__clear`} onClick={onSelectorClear}>\n {clearIcon}\n </span>\n );\n },\n\n renderArrow() {\n const { prefixCls, showArrow } = this.$props;\n if (!showArrow) {\n return null;\n }\n const inputIcon = getComponentFromProp(this, 'inputIcon');\n return (\n <span key=\"arrow\" class={`${prefixCls}-arrow`} style={{ outline: 'none' }}>\n {inputIcon}\n </span>\n );\n },\n },\n\n render() {\n const {\n prefixCls,\n className,\n style,\n open,\n focused,\n disabled,\n allowClear,\n ariaId,\n renderSelection,\n renderPlaceholder,\n tabIndex,\n } = this.$props;\n const {\n vcTreeSelect: { onSelectorKeyDown },\n } = this;\n\n let myTabIndex = tabIndex;\n if (disabled) {\n myTabIndex = null;\n }\n\n return (\n <span\n style={style}\n onClick={getListeners(this).click || noop}\n class={classNames(className, prefixCls, {\n [`${prefixCls}-open`]: open,\n [`${prefixCls}-focused`]: open || focused,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-enabled`]: !disabled,\n [`${prefixCls}-allow-clear`]: allowClear,\n })}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.domRef,\n },\n ],\n }}\n role=\"combobox\"\n aria-expanded={open}\n aria-owns={open ? ariaId : undefined}\n aria-controls={open ? ariaId : undefined}\n aria-haspopup=\"listbox\"\n aria-disabled={disabled}\n tabIndex={myTabIndex}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onKeydown={onSelectorKeyDown}\n >\n <span\n key=\"selection\"\n class={classNames(`${prefixCls}-selection`, `${prefixCls}-selection--${modeName}`)}\n >\n {renderSelection()}\n {this.renderClear()}\n {this.renderArrow()}\n\n {renderPlaceholder && renderPlaceholder()}\n </span>\n </span>\n );\n },\n };\n\n return BaseSelector;\n}\n","import BasePopup from '../Base/BasePopup';\n\nexport default BasePopup;\n","import PropTypes from '../../../_util/vue-types';\nimport BasePopup from '../Base/BasePopup';\nimport SearchInput from '../SearchInput';\nimport { createRef } from '../util';\nimport { getListeners } from '../../../_util/props-util';\n\nconst SinglePopup = {\n name: 'SinglePopup',\n props: {\n ...BasePopup.props,\n ...SearchInput.props,\n searchValue: PropTypes.string,\n showSearch: PropTypes.bool,\n dropdownPrefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n searchPlaceholder: PropTypes.string,\n },\n created() {\n this.inputRef = createRef();\n this.searchRef = createRef();\n this.popupRef = createRef();\n },\n methods: {\n onPlaceholderClick() {\n this.inputRef.current.focus();\n },\n getTree() {\n return this.popupRef.current && this.popupRef.current.getTree();\n },\n _renderPlaceholder() {\n const { searchPlaceholder, searchValue, prefixCls } = this.$props;\n\n if (!searchPlaceholder) {\n return null;\n }\n\n return (\n <span\n style={{\n display: searchValue ? 'none' : 'block',\n }}\n onClick={this.onPlaceholderClick}\n class={`${prefixCls}-search__field__placeholder`}\n >\n {searchPlaceholder}\n </span>\n );\n },\n\n _renderSearch() {\n const { showSearch, dropdownPrefixCls } = this.$props;\n\n if (!showSearch) {\n return null;\n }\n\n return (\n <span\n class={`${dropdownPrefixCls}-search`}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.searchRef,\n },\n ],\n }}\n >\n <SearchInput\n {...{\n props: { ...this.$props, renderPlaceholder: this._renderPlaceholder },\n on: getListeners(this),\n directives: [\n {\n name: 'ant-ref',\n value: this.inputRef,\n },\n ],\n }}\n />\n </span>\n );\n },\n },\n render() {\n return (\n <BasePopup\n {...{\n props: { ...this.$props, renderSearch: this._renderSearch, __propsSymbol__: Symbol() },\n on: getListeners(this),\n directives: [\n {\n name: 'ant-ref',\n value: this.popupRef,\n },\n ],\n }}\n />\n );\n },\n};\n\nexport default SinglePopup;\n","/**\n * Since search box is in different position with different mode.\n * - Single: in the popup box\n * - multiple: in the selector\n * Move the code as a SearchInput for easy management.\n */\n\nimport PropTypes from '../../_util/vue-types';\nimport { createRef } from './util';\n\nconst SearchInput = {\n name: 'SearchInput',\n props: {\n open: PropTypes.bool,\n searchValue: PropTypes.string,\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n renderPlaceholder: PropTypes.func,\n needAlign: PropTypes.bool,\n ariaId: PropTypes.string,\n },\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n data() {\n return {\n mirrorSearchValue: this.searchValue,\n };\n },\n watch: {\n searchValue(val) {\n this.mirrorSearchValue = val;\n },\n },\n created() {\n this.inputRef = createRef();\n this.mirrorInputRef = createRef();\n this.prevProps = { ...this.$props };\n },\n mounted() {\n this.$nextTick(() => {\n const { open, needAlign } = this.$props;\n if (needAlign) {\n this.alignInputWidth();\n }\n\n if (open) {\n this.focus(true);\n }\n });\n },\n\n updated() {\n const { open, searchValue, needAlign } = this.$props;\n const { prevProps } = this;\n this.$nextTick(() => {\n if (open && prevProps.open !== open) {\n this.focus();\n }\n if (needAlign && searchValue !== prevProps.searchValue) {\n this.alignInputWidth();\n }\n this.prevProps = { ...this.$props };\n });\n },\n methods: {\n /**\n * `scrollWidth` is not correct in IE, do the workaround.\n * ref: https://github.com/react-component/tree-select/issues/65\n * clientWidth 0 when mounted in vue. why?\n */\n alignInputWidth() {\n this.inputRef.current.style.width = `${this.mirrorInputRef.current.clientWidth ||\n this.mirrorInputRef.current.offsetWidth}px`;\n },\n\n /**\n * Need additional timeout for focus cause parent dom is not ready when didMount trigger\n */\n focus(isDidMount) {\n if (this.inputRef.current) {\n if (isDidMount) {\n setTimeout(() => {\n this.inputRef.current.focus();\n }, 0);\n } else {\n // set it into else, Avoid scrolling when focus\n this.inputRef.current.focus();\n }\n }\n },\n\n blur() {\n if (this.inputRef.current) {\n this.inputRef.current.blur();\n }\n },\n handleInputChange(e) {\n const { value, composing } = e.target;\n const { searchValue = '' } = this;\n if (e.isComposing || composing || searchValue === value) {\n this.mirrorSearchValue = value;\n return;\n }\n this.vcTreeSelect.onSearchInputChange(e);\n },\n },\n\n render() {\n const { searchValue, prefixCls, disabled, renderPlaceholder, open, ariaId } = this.$props;\n const {\n vcTreeSelect: { onSearchInputKeyDown },\n handleInputChange,\n mirrorSearchValue,\n } = this;\n return (\n <span class={`${prefixCls}-search__field__wrap`}>\n <input\n type=\"text\"\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.inputRef,\n },\n {\n name: 'ant-input',\n },\n ],\n }}\n onInput={handleInputChange}\n onKeydown={onSearchInputKeyDown}\n value={searchValue}\n disabled={disabled}\n class={`${prefixCls}-search__field`}\n aria-label=\"filter select\"\n aria-autocomplete=\"list\"\n aria-controls={open ? ariaId : undefined}\n aria-multiline=\"false\"\n />\n <span\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.mirrorInputRef,\n },\n ],\n }}\n class={`${prefixCls}-search__field__mirror`}\n >\n {mirrorSearchValue}&nbsp;\n </span>\n {renderPlaceholder && !mirrorSearchValue ? renderPlaceholder() : null}\n </span>\n );\n },\n};\n\nexport default SearchInput;\n","/**\n * ARIA: https://www.w3.org/TR/wai-aria/#combobox\n * Sample 1: https://www.w3.org/TR/2017/NOTE-wai-aria-practices-1.1-20171214/examples/combobox/aria1.1pattern/listbox-combo.html\n * Sample 2: https://www.w3.org/blog/wai-components-gallery/widget/combobox-with-aria-autocompleteinline/\n *\n * Tab logic:\n * Popup is close\n * 1. Focus input (mark component as focused)\n * 2. Press enter to show the popup\n * 3. If popup has input, focus it\n *\n * Popup is open\n * 1. press tab to close the popup\n * 2. Focus back to the selection input box\n * 3. Let the native tab going on\n *\n * TreeSelect use 2 design type.\n * In single mode, we should focus on the `span`\n * In multiple mode, we should focus on the `input`\n */\n\nimport shallowEqual from 'shallowequal';\nimport raf from 'raf';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport warning from 'warning';\nimport PropTypes from '../../_util/vue-types';\nimport KeyCode from '../../_util/KeyCode';\n\nimport SelectTrigger from './SelectTrigger';\nimport SingleSelector from './Selector/SingleSelector';\nimport MultipleSelector from './Selector/MultipleSelector';\nimport SinglePopup from './Popup/SinglePopup';\nimport MultiplePopup from './Popup/MultiplePopup';\n\nimport { SHOW_ALL, SHOW_PARENT, SHOW_CHILD } from './strategies';\nimport BaseMixin from '../../_util/BaseMixin';\nimport {\n createRef,\n generateAriaId,\n formatInternalValue,\n formatSelectorValue,\n parseSimpleTreeData,\n convertDataToTree,\n convertTreeToEntities,\n conductCheck,\n getHalfCheckedKeys,\n flatToHierarchy,\n isPosRelated,\n isLabelInValue,\n getFilterTree,\n cleanEntity,\n findPopupContainer,\n} from './util';\nimport SelectNode from './SelectNode';\nimport {\n initDefaultProps,\n getOptionProps,\n mergeProps,\n getPropsData,\n filterEmpty,\n getListeners,\n} from '../../_util/props-util';\nfunction getWatch(keys = []) {\n const watch = {};\n keys.forEach(k => {\n watch[k] = function() {\n this.needSyncKeys[k] = true;\n };\n });\n return watch;\n}\nconst Select = {\n name: 'Select',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n prefixCls: PropTypes.string,\n prefixAria: PropTypes.string,\n multiple: PropTypes.bool,\n showArrow: PropTypes.bool,\n open: PropTypes.bool,\n value: PropTypes.any,\n\n autoFocus: PropTypes.bool,\n\n defaultOpen: PropTypes.bool,\n defaultValue: PropTypes.any,\n\n showSearch: PropTypes.bool,\n placeholder: PropTypes.any,\n inputValue: PropTypes.string, // [Legacy] Deprecated. Use `searchValue` instead.\n searchValue: PropTypes.string,\n autoClearSearchValue: PropTypes.bool,\n searchPlaceholder: PropTypes.any, // [Legacy] Confuse with placeholder\n disabled: PropTypes.bool,\n children: PropTypes.any,\n labelInValue: PropTypes.bool,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.oneOfType([PropTypes.any, PropTypes.func]),\n maxTagTextLength: PropTypes.number,\n showCheckedStrategy: PropTypes.oneOf([SHOW_ALL, SHOW_PARENT, SHOW_CHILD]),\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.object,\n dropdownVisibleChange: PropTypes.func,\n dropdownMatchSelectWidth: PropTypes.bool,\n treeData: PropTypes.array,\n treeDataSimpleMode: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n treeNodeFilterProp: PropTypes.string,\n treeNodeLabelProp: PropTypes.string,\n treeCheckable: PropTypes.oneOfType([PropTypes.any, PropTypes.object, PropTypes.bool]),\n // treeCheckable: PropTypes.any,\n treeCheckStrictly: PropTypes.bool,\n treeIcon: PropTypes.bool,\n treeLine: PropTypes.bool,\n treeDefaultExpandAll: PropTypes.bool,\n treeDefaultExpandedKeys: PropTypes.array,\n treeExpandedKeys: PropTypes.array,\n loadData: PropTypes.func,\n filterTreeNode: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n\n notFoundContent: PropTypes.any,\n getPopupContainer: PropTypes.func,\n\n // onSearch: PropTypes.func,\n // onSelect: PropTypes.func,\n // onDeselect: PropTypes.func,\n // onChange: PropTypes.func,\n // onDropdownVisibleChange: PropTypes.func,\n\n // onTreeExpand: PropTypes.func,\n allowClear: PropTypes.bool,\n transitionName: PropTypes.string,\n animation: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n inputIcon: PropTypes.any,\n clearIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n switcherIcon: PropTypes.any,\n __propsSymbol__: PropTypes.any,\n },\n {\n prefixCls: 'rc-tree-select',\n prefixAria: 'rc-tree-select',\n showArrow: true,\n showSearch: true,\n autoClearSearchValue: true,\n showCheckedStrategy: SHOW_CHILD,\n\n // dropdownMatchSelectWidth change the origin design, set to false now\n // ref: https://github.com/react-component/select/blob/4cad95e098a341a09de239ad6981067188842020/src/Select.jsx#L344\n // ref: https://github.com/react-component/select/pull/71\n treeNodeFilterProp: 'value',\n treeNodeLabelProp: 'title',\n treeIcon: false,\n notFoundContent: 'Not Found',\n dropdownStyle: {},\n dropdownVisibleChange: () => {\n return true;\n },\n },\n ),\n\n data() {\n warning(this.$props.__propsSymbol__, 'must pass __propsSymbol__');\n const { prefixAria, defaultOpen, open } = this.$props;\n this.needSyncKeys = {};\n this.selectorRef = createRef();\n this.selectTriggerRef = createRef();\n\n // ARIA need `aria-controls` props mapping\n // Since this need user input. Let's generate ourselves\n this.ariaId = generateAriaId(`${prefixAria}-list`);\n\n const state = {\n _open: open || defaultOpen,\n _valueList: [],\n _searchHalfCheckedKeys: [],\n _missValueList: [], // Contains the value not in the tree\n _selectorValueList: [], // Used for multiple selector\n _valueEntities: {},\n _posEntities: new Map(),\n _keyEntities: new Map(),\n _searchValue: '',\n _prevProps: {},\n _init: true,\n _focused: undefined,\n _treeNodes: undefined,\n _filteredTreeNodes: undefined,\n };\n const newState = this.getDerivedState(this.$props, state);\n return {\n ...state,\n ...newState,\n };\n },\n\n provide() {\n return {\n vcTreeSelect: {\n onSelectorFocus: this.onSelectorFocus,\n onSelectorBlur: this.onSelectorBlur,\n onSelectorKeyDown: this.onComponentKeyDown,\n onSelectorClear: this.onSelectorClear,\n onMultipleSelectorRemove: this.onMultipleSelectorRemove,\n\n onTreeNodeSelect: this.onTreeNodeSelect,\n onTreeNodeCheck: this.onTreeNodeCheck,\n onPopupKeyDown: this.onComponentKeyDown,\n\n onSearchInputChange: this.onSearchInputChange,\n onSearchInputKeyDown: this.onSearchInputKeyDown,\n },\n };\n },\n watch: {\n ...getWatch(['treeData', 'defaultValue', 'value']),\n __propsSymbol__() {\n const state = this.getDerivedState(this.$props, this.$data);\n this.setState(state);\n this.needSyncKeys = {};\n },\n '$data._valueList'() {\n this.$nextTick(() => {\n this.forcePopupAlign();\n });\n },\n '$data._open'(open) {\n setTimeout(() => {\n const { prefixCls } = this.$props;\n const { _selectorValueList: selectorValueList, _valueEntities: valueEntities } = this.$data;\n const isMultiple = this.isMultiple();\n\n // Scroll to value position, only need sync on single mode\n if (!isMultiple && selectorValueList.length && open && this.popup) {\n const { value } = selectorValueList[0];\n const { domTreeNodes } = this.popup.getTree();\n const { key } = valueEntities[value] || {};\n const treeNode = domTreeNodes[key];\n\n if (treeNode) {\n const domNode = treeNode.$el;\n raf(() => {\n const popupNode = this.popup.$el;\n const triggerContainer = findPopupContainer(popupNode, `${prefixCls}-dropdown`);\n const searchNode = this.popup.searchRef.current;\n\n if (domNode && triggerContainer && searchNode) {\n scrollIntoView(domNode, triggerContainer, {\n onlyScrollIfNeeded: true,\n offsetTop: searchNode.offsetHeight,\n });\n }\n });\n }\n }\n });\n },\n },\n mounted() {\n this.$nextTick(() => {\n const { autoFocus, disabled } = this.$props;\n if (autoFocus && !disabled) {\n this.focus();\n }\n });\n },\n\n methods: {\n getDerivedState(nextProps, prevState) {\n const h = this.$createElement;\n const { _prevProps: prevProps = {} } = prevState;\n const {\n treeCheckable,\n treeCheckStrictly,\n filterTreeNode,\n treeNodeFilterProp,\n treeDataSimpleMode,\n } = nextProps;\n const newState = {\n _prevProps: { ...nextProps },\n _init: false,\n };\n const self = this;\n // Process the state when props updated\n function processState(propName, updater) {\n if (prevProps[propName] !== nextProps[propName] || self.needSyncKeys[propName]) {\n updater(nextProps[propName], prevProps[propName]);\n return true;\n }\n return false;\n }\n\n let valueRefresh = false;\n\n // Open\n processState('open', propValue => {\n newState._open = propValue;\n });\n\n // Tree Nodes\n let treeNodes;\n let treeDataChanged = false;\n let treeDataModeChanged = false;\n processState('treeData', propValue => {\n treeNodes = convertDataToTree(h, propValue);\n treeDataChanged = true;\n });\n\n processState('treeDataSimpleMode', (propValue, prevValue) => {\n if (!propValue) return;\n\n const prev = !prevValue || prevValue === true ? {} : prevValue;\n\n // Shallow equal to avoid dynamic prop object\n if (!shallowEqual(propValue, prev)) {\n treeDataModeChanged = true;\n }\n });\n\n // Parse by `treeDataSimpleMode`\n if (treeDataSimpleMode && (treeDataChanged || treeDataModeChanged)) {\n const simpleMapper = {\n id: 'id',\n pId: 'pId',\n rootPId: null,\n ...(treeDataSimpleMode !== true ? treeDataSimpleMode : {}),\n };\n treeNodes = convertDataToTree(h, parseSimpleTreeData(nextProps.treeData, simpleMapper));\n }\n\n // If `treeData` not provide, use children TreeNodes\n if (!nextProps.treeData) {\n // processState('children', (propValue) => {\n // treeNodes = Array.isArray(propValue) ? propValue : [propValue]\n // })\n treeNodes = filterEmpty(this.$slots.default);\n }\n\n // Convert `treeData` to entities\n if (treeNodes) {\n const entitiesMap = convertTreeToEntities(treeNodes);\n newState._treeNodes = treeNodes;\n newState._posEntities = entitiesMap.posEntities;\n newState._valueEntities = entitiesMap.valueEntities;\n newState._keyEntities = entitiesMap.keyEntities;\n\n valueRefresh = true;\n }\n\n // Value List\n if (prevState._init) {\n processState('defaultValue', propValue => {\n newState._valueList = formatInternalValue(propValue, nextProps);\n valueRefresh = true;\n });\n }\n\n processState('value', propValue => {\n newState._valueList = formatInternalValue(propValue, nextProps);\n valueRefresh = true;\n });\n\n // Selector Value List\n if (valueRefresh) {\n // Find out that value not exist in the tree\n const missValueList = [];\n const filteredValueList = [];\n const keyList = [];\n\n // Get latest value list\n let latestValueList = newState._valueList;\n if (!latestValueList) {\n // Also need add prev missValueList to avoid new treeNodes contains the value\n latestValueList = [...prevState._valueList, ...prevState._missValueList];\n }\n\n // Get key by value\n const valueLabels = {};\n latestValueList.forEach(wrapperValue => {\n const { value, label } = wrapperValue;\n const entity = (newState._valueEntities || prevState._valueEntities)[value];\n valueLabels[value] = label;\n\n if (entity) {\n keyList.push(entity.key);\n filteredValueList.push(wrapperValue);\n return;\n }\n\n // If not match, it may caused by ajax load. We need keep this\n missValueList.push(wrapperValue);\n });\n\n // We need calculate the value when tree is checked tree\n if (treeCheckable && !treeCheckStrictly) {\n // Calculate the keys need to be checked\n const { checkedKeys } = conductCheck(\n keyList,\n true,\n newState._keyEntities || prevState._keyEntities,\n );\n\n // Format value list again for internal usage\n newState._valueList = checkedKeys.map(key => {\n const val = (newState._keyEntities || prevState._keyEntities).get(key).value;\n\n const wrappedValue = {\n value: val,\n };\n\n if (valueLabels[val] !== undefined) {\n wrappedValue.label = valueLabels[val];\n }\n\n return wrappedValue;\n });\n } else {\n newState._valueList = filteredValueList;\n }\n\n // Fill the missValueList, we still need display in the selector\n newState._missValueList = missValueList;\n\n // Calculate the value list for `Selector` usage\n newState._selectorValueList = formatSelectorValue(\n newState._valueList,\n nextProps,\n newState._valueEntities || prevState._valueEntities,\n );\n }\n\n // [Legacy] To align with `Select` component,\n // We use `searchValue` instead of `inputValue` but still keep the api\n // `inputValue` support `null` to work as `autoClearSearchValue`\n processState('inputValue', propValue => {\n if (propValue !== null) {\n newState._searchValue = propValue;\n }\n });\n\n // Search value\n processState('searchValue', propValue => {\n newState._searchValue = propValue;\n });\n\n // Do the search logic\n if (newState._searchValue !== undefined || (prevState._searchValue && treeNodes)) {\n const searchValue =\n newState._searchValue !== undefined ? newState._searchValue : prevState._searchValue;\n const upperSearchValue = String(searchValue).toUpperCase();\n\n let filterTreeNodeFn = filterTreeNode;\n if (filterTreeNode === false) {\n // Don't filter if is false\n filterTreeNodeFn = () => true;\n } else if (typeof filterTreeNodeFn !== 'function') {\n // When is not function (true or undefined), use inner filter\n filterTreeNodeFn = (_, node) => {\n const nodeValue = String(getPropsData(node)[treeNodeFilterProp]).toUpperCase();\n return nodeValue.indexOf(upperSearchValue) !== -1;\n };\n }\n\n newState._filteredTreeNodes = getFilterTree(\n this.$createElement,\n newState._treeNodes || prevState._treeNodes,\n searchValue,\n filterTreeNodeFn,\n newState._valueEntities || prevState._valueEntities,\n SelectNode,\n );\n }\n\n // We should re-calculate the halfCheckedKeys when in search mode\n if (\n valueRefresh &&\n treeCheckable &&\n !treeCheckStrictly &&\n (newState._searchValue || prevState._searchValue)\n ) {\n newState._searchHalfCheckedKeys = getHalfCheckedKeys(\n newState._valueList,\n newState._valueEntities || prevState._valueEntities,\n );\n }\n\n // Checked Strategy\n processState('showCheckedStrategy', () => {\n newState._selectorValueList =\n newState._selectorValueList ||\n formatSelectorValue(\n newState._valueList || prevState._valueList,\n nextProps,\n newState._valueEntities || prevState._valueEntities,\n );\n });\n\n return newState;\n },\n // ==================== Selector ====================\n onSelectorFocus() {\n this.setState({ _focused: true });\n },\n\n onSelectorBlur() {\n this.setState({ _focused: false });\n\n // TODO: Close when Popup is also not focused\n // this.setState({ open: false });\n },\n\n // Handle key board event in both Selector and Popup\n onComponentKeyDown(event) {\n const { _open: open } = this.$data;\n const { keyCode } = event;\n\n if (!open) {\n if ([KeyCode.ENTER, KeyCode.DOWN].indexOf(keyCode) !== -1) {\n this.setOpenState(true);\n }\n } else if (KeyCode.ESC === keyCode) {\n this.setOpenState(false);\n } else if ([KeyCode.UP, KeyCode.DOWN, KeyCode.LEFT, KeyCode.RIGHT].indexOf(keyCode) !== -1) {\n // TODO: Handle `open` state\n event.stopPropagation();\n }\n },\n\n onDeselect(wrappedValue, node, nodeEventInfo) {\n this.__emit('deselect', wrappedValue, node, nodeEventInfo);\n },\n\n onSelectorClear(event) {\n const { disabled } = this.$props;\n if (disabled) return;\n\n this.triggerChange([], []);\n\n if (!this.isSearchValueControlled()) {\n this.setUncontrolledState({\n _searchValue: '',\n _filteredTreeNodes: null,\n });\n }\n\n event.stopPropagation();\n },\n\n onMultipleSelectorRemove(event, removeValue) {\n event.stopPropagation();\n\n const {\n _valueList: valueList,\n _missValueList: missValueList,\n _valueEntities: valueEntities,\n } = this.$data;\n\n const { treeCheckable, treeCheckStrictly, treeNodeLabelProp, disabled } = this.$props;\n if (disabled) return;\n\n // Find trigger entity\n const triggerEntity = valueEntities[removeValue];\n\n // Clean up value\n let newValueList = valueList;\n if (triggerEntity) {\n // If value is in tree\n if (treeCheckable && !treeCheckStrictly) {\n newValueList = valueList.filter(({ value }) => {\n const entity = valueEntities[value];\n return !isPosRelated(entity.pos, triggerEntity.pos);\n });\n } else {\n newValueList = valueList.filter(({ value }) => value !== removeValue);\n }\n }\n\n const triggerNode = triggerEntity ? triggerEntity.node : null;\n\n const extraInfo = {\n triggerValue: removeValue,\n triggerNode,\n };\n const deselectInfo = {\n node: triggerNode,\n };\n\n // [Legacy] Little hack on this to make same action as `onCheck` event.\n if (treeCheckable) {\n const filteredEntityList = newValueList.map(({ value }) => valueEntities[value]);\n\n deselectInfo.event = 'check';\n deselectInfo.checked = false;\n deselectInfo.checkedNodes = filteredEntityList.map(({ node }) => node);\n deselectInfo.checkedNodesPositions = filteredEntityList.map(({ node, pos }) => ({\n node,\n pos,\n }));\n\n if (treeCheckStrictly) {\n extraInfo.allCheckedNodes = deselectInfo.checkedNodes;\n } else {\n // TODO: It's too expansive to get `halfCheckedKeys` in onDeselect. Not pass this.\n extraInfo.allCheckedNodes = flatToHierarchy(filteredEntityList).map(({ node }) => node);\n }\n } else {\n deselectInfo.event = 'select';\n deselectInfo.selected = false;\n deselectInfo.selectedNodes = newValueList.map(\n ({ value }) => (valueEntities[value] || {}).node,\n );\n }\n\n // Some value user pass prop is not in the tree, we also need clean it\n const newMissValueList = missValueList.filter(({ value }) => value !== removeValue);\n let wrappedValue;\n if (this.isLabelInValue()) {\n wrappedValue = {\n label: triggerNode ? getPropsData(triggerNode)[treeNodeLabelProp] : null,\n value: removeValue,\n };\n } else {\n wrappedValue = removeValue;\n }\n\n this.onDeselect(wrappedValue, triggerNode, deselectInfo);\n\n this.triggerChange(newMissValueList, newValueList, extraInfo);\n },\n\n // ===================== Popup ======================\n onValueTrigger(isAdd, nodeList, nodeEventInfo, nodeExtraInfo) {\n const { node } = nodeEventInfo;\n const { value } = node.$props;\n const {\n _missValueList: missValueList,\n _valueEntities: valueEntities,\n _keyEntities: keyEntities,\n _searchValue: searchValue,\n } = this.$data;\n const {\n disabled,\n inputValue,\n treeNodeLabelProp,\n multiple,\n treeCheckable,\n treeCheckStrictly,\n autoClearSearchValue,\n } = this.$props;\n const label = node.$props[treeNodeLabelProp];\n\n if (disabled) return;\n\n // Wrap the return value for user\n let wrappedValue;\n if (this.isLabelInValue()) {\n wrappedValue = {\n value,\n label,\n };\n } else {\n wrappedValue = value;\n }\n\n // [Legacy] Origin code not trigger `onDeselect` every time. Let's align the behaviour.\n if (isAdd) {\n this.__emit('select', wrappedValue, node, nodeEventInfo);\n } else {\n this.__emit('deselect', wrappedValue, node, nodeEventInfo);\n }\n\n // Get wrapped value list.\n // This is a bit hack cause we use key to match the value.\n let newValueList = nodeList.map(node => {\n const props = getPropsData(node);\n return {\n value: props.value,\n label: props[treeNodeLabelProp],\n };\n });\n\n // When is `treeCheckable` and with `searchValue`, `valueList` is not full filled.\n // We need calculate the missing nodes.\n if (treeCheckable && !treeCheckStrictly) {\n let keyList = newValueList.map(({ value: val }) => valueEntities[val].key);\n if (isAdd) {\n keyList = conductCheck(keyList, true, keyEntities).checkedKeys;\n } else {\n keyList = conductCheck([valueEntities[value].key], false, keyEntities, {\n checkedKeys: keyList,\n }).checkedKeys;\n }\n newValueList = keyList.map(key => {\n const props = getPropsData(keyEntities.get(key).node);\n return {\n value: props.value,\n label: props[treeNodeLabelProp],\n };\n });\n }\n\n // Clean up `searchValue` when this prop is set\n if (autoClearSearchValue || inputValue === null) {\n // Clean state `searchValue` if uncontrolled\n if (!this.isSearchValueControlled() && (multiple || treeCheckable)) {\n this.setUncontrolledState({\n _searchValue: '',\n _filteredTreeNodes: null,\n });\n }\n\n // Trigger onSearch if `searchValue` to be empty.\n // We should also trigger onSearch with empty string here\n // since if user use `treeExpandedKeys`, it need user have the ability to reset it.\n if (searchValue && searchValue.length) {\n this.__emit('update:searchValue', '');\n this.__emit('search', '');\n }\n }\n\n // [Legacy] Provide extra info\n const extraInfo = {\n ...nodeExtraInfo,\n triggerValue: value,\n triggerNode: node,\n };\n\n this.triggerChange(missValueList, newValueList, extraInfo);\n },\n\n onTreeNodeSelect(_, nodeEventInfo) {\n const { _valueList: valueList, _valueEntities: valueEntities } = this.$data;\n const { treeCheckable, multiple } = this.$props;\n if (treeCheckable) return;\n\n if (!multiple) {\n this.setOpenState(false);\n }\n\n const isAdd = nodeEventInfo.selected;\n const {\n $props: { value: selectedValue },\n } = nodeEventInfo.node;\n\n let newValueList;\n\n if (!multiple) {\n newValueList = [{ value: selectedValue }];\n } else {\n newValueList = valueList.filter(({ value }) => value !== selectedValue);\n if (isAdd) {\n newValueList.push({ value: selectedValue });\n }\n }\n\n const selectedNodes = newValueList\n .map(({ value }) => valueEntities[value])\n .filter(entity => entity)\n .map(({ node }) => node);\n\n this.onValueTrigger(isAdd, selectedNodes, nodeEventInfo, { selected: isAdd });\n },\n\n onTreeNodeCheck(_, nodeEventInfo) {\n const {\n _searchValue: searchValue,\n _keyEntities: keyEntities,\n _valueEntities: valueEntities,\n _valueList: valueList,\n } = this.$data;\n const { treeCheckStrictly } = this.$props;\n\n const { checkedNodes, checkedNodesPositions } = nodeEventInfo;\n const isAdd = nodeEventInfo.checked;\n\n const extraInfo = {\n checked: isAdd,\n };\n\n let checkedNodeList = checkedNodes;\n\n // [Legacy] Check event provide `allCheckedNodes`.\n // When `treeCheckStrictly` or internal `searchValue` is set, TreeNode will be unrelated:\n // - Related: Show the top checked nodes and has children prop.\n // - Unrelated: Show all the checked nodes.\n if (searchValue) {\n const oriKeyList = valueList\n .map(({ value }) => valueEntities[value])\n .filter(entity => entity)\n .map(({ key }) => key);\n\n let keyList;\n if (isAdd) {\n keyList = Array.from(\n new Set([\n ...oriKeyList,\n ...checkedNodeList.map(node => {\n const { value } = getPropsData(node);\n return valueEntities[value].key;\n }),\n ]),\n );\n } else {\n keyList = conductCheck([getPropsData(nodeEventInfo.node).eventKey], false, keyEntities, {\n checkedKeys: oriKeyList,\n }).checkedKeys;\n }\n\n checkedNodeList = keyList.map(key => keyEntities.get(key).node);\n\n // Let's follow as not `treeCheckStrictly` format\n extraInfo.allCheckedNodes = keyList.map(key => cleanEntity(keyEntities.get(key)));\n } else if (treeCheckStrictly) {\n extraInfo.allCheckedNodes = nodeEventInfo.checkedNodes;\n } else {\n extraInfo.allCheckedNodes = flatToHierarchy(checkedNodesPositions);\n }\n\n this.onValueTrigger(isAdd, checkedNodeList, nodeEventInfo, extraInfo);\n },\n\n // ==================== Trigger =====================\n\n onDropdownVisibleChange(open) {\n const { multiple, treeCheckable } = this.$props;\n const { _searchValue } = this.$data;\n\n // When set open success and single mode,\n // we will reset the input content.\n if (open && !multiple && !treeCheckable && _searchValue) {\n this.setUncontrolledState({\n _searchValue: '',\n _filteredTreeNodes: null,\n });\n }\n this.setOpenState(open, true);\n },\n\n onSearchInputChange(event) {\n const value = event.target.value;\n const { _treeNodes: treeNodes, _valueEntities: valueEntities } = this.$data;\n const { filterTreeNode, treeNodeFilterProp } = this.$props;\n this.__emit('update:searchValue', value);\n this.__emit('search', value);\n\n let isSet = false;\n\n if (!this.isSearchValueControlled()) {\n isSet = this.setUncontrolledState({\n _searchValue: value,\n });\n this.setOpenState(true);\n }\n\n if (isSet) {\n // Do the search logic\n const upperSearchValue = String(value).toUpperCase();\n\n let filterTreeNodeFn = filterTreeNode;\n if (filterTreeNode === false) {\n filterTreeNodeFn = () => true;\n } else if (!filterTreeNodeFn) {\n filterTreeNodeFn = (_, node) => {\n const nodeValue = String(getPropsData(node)[treeNodeFilterProp]).toUpperCase();\n return nodeValue.indexOf(upperSearchValue) !== -1;\n };\n }\n\n this.setState({\n _filteredTreeNodes: getFilterTree(\n this.$createElement,\n treeNodes,\n value,\n filterTreeNodeFn,\n valueEntities,\n SelectNode,\n ),\n });\n }\n },\n\n onSearchInputKeyDown(event) {\n const { _searchValue: searchValue, _valueList: valueList } = this.$data;\n\n const { keyCode } = event;\n\n if (KeyCode.BACKSPACE === keyCode && this.isMultiple() && !searchValue && valueList.length) {\n const lastValue = valueList[valueList.length - 1].value;\n this.onMultipleSelectorRemove(event, lastValue);\n }\n },\n\n onChoiceAnimationLeave() {\n raf(() => {\n this.forcePopupAlign();\n });\n },\n\n setPopupRef(popup) {\n this.popup = popup;\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 const props = getOptionProps(this);\n Object.keys(state).forEach(name => {\n if (name.slice(1) in props) return;\n\n needSync = true;\n newState[name] = state[name];\n });\n\n if (needSync) {\n this.setState(newState);\n }\n\n return needSync;\n },\n\n // [Legacy] Origin provide `documentClickClose` which triggered by `Trigger`\n // Currently `TreeSelect` align the hide popup logic as `Select` which blur to hide.\n // `documentClickClose` is not accurate anymore. Let's just keep the key word.\n setOpenState(open, byTrigger = false) {\n const { dropdownVisibleChange } = this.$props;\n\n if (\n dropdownVisibleChange &&\n dropdownVisibleChange(open, { documentClickClose: !open && byTrigger }) === false\n ) {\n return;\n }\n\n this.setUncontrolledState({ _open: open });\n },\n\n // Tree checkable is also a multiple case\n isMultiple() {\n const { multiple, treeCheckable } = this.$props;\n return !!(multiple || treeCheckable);\n },\n\n isLabelInValue() {\n return isLabelInValue(this.$props);\n },\n\n // [Legacy] To align with `Select` component,\n // We use `searchValue` instead of `inputValue`\n // but currently still need support that.\n // Add this method the check if is controlled\n isSearchValueControlled() {\n const props = getOptionProps(this);\n const { inputValue } = props;\n if ('searchValue' in props) return true;\n return 'inputValue' in props && inputValue !== null;\n },\n\n forcePopupAlign() {\n const $trigger = this.selectTriggerRef.current;\n if ($trigger) {\n $trigger.forcePopupAlign();\n }\n },\n\n delayForcePopupAlign() {\n // Wait 2 frame to avoid dom update & dom algin in the same time\n // https://github.com/ant-design/ant-design/issues/12031\n raf(() => {\n raf(this.forcePopupAlign);\n });\n },\n\n /**\n * 1. Update state valueList.\n * 2. Fire `onChange` event to user.\n */\n triggerChange(missValueList, valueList, extraInfo = {}) {\n const {\n _valueEntities: valueEntities,\n _searchValue: searchValue,\n _selectorValueList: prevSelectorValueList,\n } = this.$data;\n const props = getOptionProps(this);\n const { disabled, treeCheckable, treeCheckStrictly } = props;\n if (disabled) return;\n\n // Trigger\n const extra = {\n // [Legacy] Always return as array contains label & value\n preValue: prevSelectorValueList.map(({ label, value }) => ({ label, value })),\n ...extraInfo,\n };\n\n // Format value by `treeCheckStrictly`\n const selectorValueList = formatSelectorValue(valueList, props, valueEntities);\n\n if (!('value' in props)) {\n const newState = {\n _missValueList: missValueList,\n _valueList: valueList,\n _selectorValueList: selectorValueList,\n };\n\n if (searchValue && treeCheckable && !treeCheckStrictly) {\n newState._searchHalfCheckedKeys = getHalfCheckedKeys(valueList, valueEntities);\n }\n\n this.setState(newState);\n }\n\n // Only do the logic when `onChange` function provided\n if (getListeners(this).change) {\n let connectValueList;\n\n // Get value by mode\n if (this.isMultiple()) {\n connectValueList = [...missValueList, ...selectorValueList];\n } else {\n connectValueList = selectorValueList.slice(0, 1);\n }\n\n let labelList = null;\n let returnValue;\n\n if (this.isLabelInValue()) {\n returnValue = connectValueList.map(({ label, value }) => ({ label, value }));\n } else {\n labelList = [];\n returnValue = connectValueList.map(({ label, value }) => {\n labelList.push(label);\n return value;\n });\n }\n\n if (!this.isMultiple()) {\n returnValue = returnValue[0];\n }\n this.__emit('change', returnValue, labelList, extra);\n }\n },\n\n focus() {\n this.selectorRef.current.focus();\n },\n\n blur() {\n this.selectorRef.current.blur();\n },\n },\n\n // ===================== Render =====================\n\n render() {\n const {\n _valueList: valueList,\n _missValueList: missValueList,\n _selectorValueList: selectorValueList,\n _searchHalfCheckedKeys: searchHalfCheckedKeys,\n _valueEntities: valueEntities,\n _keyEntities: keyEntities,\n _searchValue: searchValue,\n _open: open,\n _focused: focused,\n _treeNodes: treeNodes,\n _filteredTreeNodes: filteredTreeNodes,\n } = this.$data;\n const props = getOptionProps(this);\n const { prefixCls, treeExpandedKeys } = props;\n const isMultiple = this.isMultiple();\n\n const passProps = {\n props: {\n ...props,\n isMultiple,\n valueList,\n searchHalfCheckedKeys,\n selectorValueList: [...missValueList, ...selectorValueList],\n valueEntities,\n keyEntities,\n searchValue,\n upperSearchValue: (searchValue || '').toUpperCase(), // Perf save\n open,\n focused,\n dropdownPrefixCls: `${prefixCls}-dropdown`,\n ariaId: this.ariaId,\n },\n on: {\n ...getListeners(this),\n choiceAnimationLeave: this.onChoiceAnimationLeave,\n },\n scopedSlots: this.$scopedSlots,\n };\n const popupProps = mergeProps(passProps, {\n props: {\n treeNodes,\n filteredTreeNodes,\n // Tree expanded control\n treeExpandedKeys,\n __propsSymbol__: Symbol(),\n },\n on: {\n treeExpanded: this.delayForcePopupAlign,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.setPopupRef,\n },\n ],\n });\n\n const Popup = isMultiple ? MultiplePopup : SinglePopup;\n const $popup = <Popup {...popupProps} />;\n\n const Selector = isMultiple ? MultipleSelector : SingleSelector;\n const $selector = (\n <Selector\n {...passProps}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.selectorRef,\n },\n ],\n }}\n />\n );\n const selectTriggerProps = mergeProps(passProps, {\n props: {\n popupElement: $popup,\n dropdownVisibleChange: this.onDropdownVisibleChange,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.selectTriggerRef,\n },\n ],\n });\n return <SelectTrigger {...selectTriggerProps}>{$selector}</SelectTrigger>;\n },\n};\n\nSelect.TreeNode = SelectNode;\nSelect.SHOW_ALL = SHOW_ALL;\nSelect.SHOW_PARENT = SHOW_PARENT;\nSelect.SHOW_CHILD = SHOW_CHILD;\n\n// Let warning show correct component name\nSelect.name = 'TreeSelect';\n\nexport default Select;\n","import { TreeNode } from '../../vc-tree';\n/**\n * SelectNode wrapped the tree node.\n * Let's use SelectNode instead of TreeNode\n * since TreeNode is so confuse here.\n */\nexport default {\n name: 'SelectNode',\n functional: true,\n isTreeNode: true,\n props: TreeNode.props,\n render(h, context) {\n const { props, slots, listeners, data, scopedSlots } = context;\n const $slots = slots() || {};\n const children = $slots.default;\n const slotsKey = Object.keys($slots);\n const scopedSlotsTemp = {}; // for vue 2.5.x\n slotsKey.forEach(name => {\n scopedSlotsTemp[name] = () => $slots[name];\n });\n const treeNodeProps = {\n ...data,\n on: { ...listeners, ...data.nativeOn },\n props,\n scopedSlots: {\n ...scopedSlotsTemp,\n ...scopedSlots,\n },\n };\n return <TreeNode {...treeNodeProps}>{children}</TreeNode>;\n },\n};\n","import PropTypes from '../../_util/vue-types';\n\nimport Trigger from '../../vc-trigger';\nimport { createRef } from './util';\nimport classNames from 'classnames';\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 ignoreShake: true,\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n ignoreShake: true,\n },\n};\n\nconst SelectTrigger = {\n name: 'SelectTrigger',\n props: {\n // Pass by outside user props\n disabled: PropTypes.bool,\n showSearch: PropTypes.bool,\n prefixCls: PropTypes.string,\n dropdownPopupAlign: PropTypes.object,\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.object,\n transitionName: PropTypes.string,\n animation: PropTypes.string,\n getPopupContainer: PropTypes.func,\n\n dropdownMatchSelectWidth: PropTypes.bool,\n\n // Pass by Select\n isMultiple: PropTypes.bool,\n dropdownPrefixCls: PropTypes.string,\n dropdownVisibleChange: PropTypes.func,\n popupElement: PropTypes.node,\n open: PropTypes.bool,\n },\n created() {\n this.triggerRef = createRef();\n },\n methods: {\n getDropdownTransitionName() {\n const { transitionName, animation, dropdownPrefixCls } = this.$props;\n if (!transitionName && animation) {\n return `${dropdownPrefixCls}-${animation}`;\n }\n return transitionName;\n },\n\n forcePopupAlign() {\n const $trigger = this.triggerRef.current;\n if ($trigger) {\n $trigger.forcePopupAlign();\n }\n },\n },\n\n render() {\n const {\n disabled,\n isMultiple,\n dropdownPopupAlign,\n dropdownMatchSelectWidth,\n dropdownClassName,\n dropdownStyle,\n dropdownVisibleChange,\n getPopupContainer,\n dropdownPrefixCls,\n popupElement,\n open,\n } = this.$props;\n\n // TODO: [Legacy] Use new action when trigger fixed: https://github.com/react-component/trigger/pull/86\n\n // When false do nothing with the width\n // ref: https://github.com/ant-design/ant-design/issues/10927\n let stretch;\n if (dropdownMatchSelectWidth !== false) {\n stretch = dropdownMatchSelectWidth ? 'width' : 'minWidth';\n }\n return (\n <Trigger\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.triggerRef,\n },\n ],\n }}\n action={disabled ? [] : ['click']}\n popupPlacement=\"bottomLeft\"\n builtinPlacements={BUILT_IN_PLACEMENTS}\n popupAlign={dropdownPopupAlign}\n prefixCls={dropdownPrefixCls}\n popupTransitionName={this.getDropdownTransitionName()}\n onPopupVisibleChange={dropdownVisibleChange}\n popup={popupElement}\n popupVisible={open}\n getPopupContainer={getPopupContainer}\n stretch={stretch}\n popupClassName={classNames(dropdownClassName, {\n [`${dropdownPrefixCls}--multiple`]: isMultiple,\n [`${dropdownPrefixCls}--single`]: !isMultiple,\n })}\n popupStyle={dropdownStyle}\n >\n {this.$slots.default}\n </Trigger>\n );\n },\n};\n\nexport default SelectTrigger;\n","import PropTypes from '../../../../_util/vue-types';\nimport { toTitle, UNSELECTABLE_ATTRIBUTE, UNSELECTABLE_STYLE } from '../../util';\nimport { getComponentFromProp, getListeners } from '../../../../_util/props-util';\nimport BaseMixin from '../../../../_util/BaseMixin';\n\nconst Selection = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n maxTagTextLength: PropTypes.number,\n // onRemove: PropTypes.func,\n\n label: PropTypes.any,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n removeIcon: PropTypes.any,\n },\n methods: {\n onRemove(event) {\n const { value } = this.$props;\n this.__emit('remove', event, value);\n event.stopPropagation();\n },\n },\n\n render() {\n const { prefixCls, maxTagTextLength, label, value } = this.$props;\n let content = label || value;\n if (maxTagTextLength && typeof content === 'string' && content.length > maxTagTextLength) {\n content = `${content.slice(0, maxTagTextLength)}...`;\n }\n\n return (\n <li\n style={UNSELECTABLE_STYLE}\n {...{ attrs: UNSELECTABLE_ATTRIBUTE }}\n role=\"menuitem\"\n class={`${prefixCls}-selection__choice`}\n title={toTitle(label)}\n >\n {getListeners(this).remove && (\n <span class={`${prefixCls}-selection__choice__remove`} onClick={this.onRemove}>\n {getComponentFromProp(this, 'removeIcon')}\n </span>\n )}\n <span class={`${prefixCls}-selection__choice__content`}>{content}</span>\n </li>\n );\n },\n};\n\nexport default Selection;\n","import PropTypes from '../../../../_util/vue-types';\nimport { createRef } from '../../util';\nimport generateSelector, { selectorPropTypes } from '../../Base/BaseSelector';\nimport SearchInput from '../../SearchInput';\nimport Selection from './Selection';\nimport { getComponentFromProp, getListeners } from '../../../../_util/props-util';\nimport getTransitionProps from '../../../../_util/getTransitionProps';\nimport BaseMixin from '../../../../_util/BaseMixin';\nconst TREE_SELECT_EMPTY_VALUE_KEY = 'RC_TREE_SELECT_EMPTY_VALUE_KEY';\n\nconst Selector = generateSelector('multiple');\n\n// export const multipleSelectorContextTypes = {\n// onMultipleSelectorRemove: PropTypes.func.isRequired,\n// }\n\nconst MultipleSelector = {\n mixins: [BaseMixin],\n props: {\n ...selectorPropTypes(),\n ...SearchInput.props,\n selectorValueList: PropTypes.array,\n disabled: PropTypes.bool,\n searchValue: PropTypes.string,\n labelInValue: PropTypes.bool,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n\n // onChoiceAnimationLeave: PropTypes.func,\n },\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n created() {\n this.inputRef = createRef();\n },\n methods: {\n onPlaceholderClick() {\n this.inputRef.current.focus();\n },\n\n focus() {\n this.inputRef.current.focus();\n },\n blur() {\n this.inputRef.current.blur();\n },\n\n _renderPlaceholder() {\n const {\n prefixCls,\n placeholder,\n searchPlaceholder,\n searchValue,\n selectorValueList,\n } = this.$props;\n\n const currentPlaceholder = placeholder || searchPlaceholder;\n\n if (!currentPlaceholder) return null;\n\n const hidden = searchValue || selectorValueList.length;\n\n // [Legacy] Not remove the placeholder\n return (\n <span\n style={{\n display: hidden ? 'none' : 'block',\n }}\n onClick={this.onPlaceholderClick}\n class={`${prefixCls}-search__field__placeholder`}\n >\n {currentPlaceholder}\n </span>\n );\n },\n onChoiceAnimationLeave(...args) {\n this.__emit('choiceAnimationLeave', ...args);\n },\n renderSelection() {\n const {\n selectorValueList,\n choiceTransitionName,\n prefixCls,\n labelInValue,\n maxTagCount,\n } = this.$props;\n const {\n vcTreeSelect: { onMultipleSelectorRemove },\n $slots,\n } = this;\n const listeners = getListeners(this);\n // Check if `maxTagCount` is set\n let myValueList = selectorValueList;\n if (maxTagCount >= 0) {\n myValueList = selectorValueList.slice(0, maxTagCount);\n }\n // Selector node list\n const selectedValueNodes = myValueList.map(({ label, value }) => (\n <Selection\n {...{\n props: {\n ...this.$props,\n label,\n value,\n },\n on: { ...listeners, remove: onMultipleSelectorRemove },\n }}\n key={value || TREE_SELECT_EMPTY_VALUE_KEY}\n >\n {$slots.default}\n </Selection>\n ));\n\n // Rest node count\n if (maxTagCount >= 0 && maxTagCount < selectorValueList.length) {\n let content = `+ ${selectorValueList.length - maxTagCount} ...`;\n const maxTagPlaceholder = getComponentFromProp(this, 'maxTagPlaceholder', {}, false);\n if (typeof maxTagPlaceholder === 'string') {\n content = maxTagPlaceholder;\n } else if (typeof maxTagPlaceholder === 'function') {\n const restValueList = selectorValueList.slice(maxTagCount);\n content = maxTagPlaceholder(\n labelInValue ? restValueList : restValueList.map(({ value }) => value),\n );\n }\n\n const restNodeSelect = (\n <Selection\n {...{\n props: {\n ...this.$props,\n label: content,\n value: null,\n },\n on: listeners,\n }}\n key=\"rc-tree-select-internal-max-tag-counter\"\n >\n {$slots.default}\n </Selection>\n );\n\n selectedValueNodes.push(restNodeSelect);\n }\n\n selectedValueNodes.push(\n <li class={`${prefixCls}-search ${prefixCls}-search--inline`} key=\"__input\">\n <SearchInput\n {...{\n props: {\n ...this.$props,\n needAlign: true,\n },\n on: listeners,\n directives: [\n {\n name: 'ant-ref',\n value: this.inputRef,\n },\n ],\n }}\n >\n {$slots.default}\n </SearchInput>\n </li>,\n );\n const className = `${prefixCls}-selection__rendered`;\n if (choiceTransitionName) {\n const transitionProps = getTransitionProps(choiceTransitionName, {\n tag: 'ul',\n afterLeave: this.onChoiceAnimationLeave,\n });\n return (\n <transition-group class={className} {...transitionProps}>\n {selectedValueNodes}\n </transition-group>\n );\n }\n return (\n <ul class={className} role=\"menubar\">\n {selectedValueNodes}\n </ul>\n );\n },\n },\n\n render() {\n const { $slots } = this;\n const listeners = getListeners(this);\n return (\n <Selector\n {...{\n props: {\n ...this.$props,\n tabIndex: -1,\n showArrow: false,\n renderSelection: this.renderSelection,\n renderPlaceholder: this._renderPlaceholder,\n },\n on: listeners,\n }}\n >\n {$slots.default}\n </Selector>\n );\n },\n};\n\nexport default MultipleSelector;\n","import generateSelector, { selectorPropTypes } from '../Base/BaseSelector';\nimport { toTitle } from '../util';\nimport { getOptionProps, getListeners } from '../../../_util/props-util';\nimport { createRef } from '../util';\nconst Selector = generateSelector('single');\n\nconst SingleSelector = {\n name: 'SingleSelector',\n props: selectorPropTypes(),\n created() {\n this.selectorRef = createRef();\n },\n methods: {\n focus() {\n this.selectorRef.current.focus();\n },\n blur() {\n this.selectorRef.current.blur();\n },\n renderSelection() {\n const { selectorValueList, placeholder, prefixCls } = this.$props;\n\n let innerNode;\n\n if (selectorValueList.length) {\n const { label, value } = selectorValueList[0];\n innerNode = (\n <span key=\"value\" title={toTitle(label)} class={`${prefixCls}-selection-selected-value`}>\n {label || value}\n </span>\n );\n } else {\n innerNode = (\n <span key=\"placeholder\" class={`${prefixCls}-selection__placeholder`}>\n {placeholder}\n </span>\n );\n }\n\n return <span class={`${prefixCls}-selection__rendered`}>{innerNode}</span>;\n },\n },\n\n render() {\n const props = {\n props: {\n ...getOptionProps(this),\n renderSelection: this.renderSelection,\n },\n on: getListeners(this),\n directives: [\n {\n name: 'ant-ref',\n value: this.selectorRef,\n },\n ],\n };\n return <Selector {...props} />;\n },\n};\n\nexport default SingleSelector;\n","import Select from './Select';\nimport SelectNode from './SelectNode';\n\nexport { SHOW_ALL, SHOW_CHILD, SHOW_PARENT } from './strategies';\nexport const TreeNode = SelectNode;\n\nexport default Select;\n","export const SHOW_ALL = 'SHOW_ALL';\nexport const SHOW_PARENT = 'SHOW_PARENT';\nexport const SHOW_CHILD = 'SHOW_CHILD';\n","import warning from 'warning';\nimport omit from 'omit.js';\nimport {\n convertDataToTree as vcConvertDataToTree,\n convertTreeToEntities as vcConvertTreeToEntities,\n conductCheck as rcConductCheck,\n} from '../../vc-tree/src/util';\nimport { hasClass } from '../../vc-util/Dom/class';\nimport { SHOW_CHILD, SHOW_PARENT } from './strategies';\nimport { getSlots, getPropsData, isEmptyElement } from '../../_util/props-util';\n\nlet warnDeprecatedLabel = false;\n\n// =================== DOM =====================\nexport function findPopupContainer(node, prefixClass) {\n let current = node;\n while (current) {\n if (hasClass(current, prefixClass)) {\n return current;\n }\n current = current.parentNode;\n }\n\n return null;\n}\n\n// =================== MISC ====================\nexport function toTitle(title) {\n if (typeof title === 'string') {\n return title;\n }\n return null;\n}\n\nexport function toArray(data) {\n if (data === undefined || data === null) return [];\n\n return Array.isArray(data) ? data : [data];\n}\n\nexport function createRef() {\n const func = function setRef(node) {\n func.current = node;\n };\n return func;\n}\n\n// =============== Legacy ===============\nexport const UNSELECTABLE_STYLE = {\n userSelect: 'none',\n WebkitUserSelect: 'none',\n};\n\nexport const UNSELECTABLE_ATTRIBUTE = {\n unselectable: 'unselectable',\n};\n\n/**\n * Convert position list to hierarchy structure.\n * This is little hack since use '-' to split the position.\n */\nexport function flatToHierarchy(positionList) {\n if (!positionList.length) {\n return [];\n }\n\n const entrances = {};\n\n // Prepare the position map\n const posMap = {};\n const parsedList = positionList.slice().map(entity => {\n const clone = {\n ...entity,\n fields: entity.pos.split('-'),\n };\n delete clone.children;\n return clone;\n });\n\n parsedList.forEach(entity => {\n posMap[entity.pos] = entity;\n });\n\n parsedList.sort((a, b) => {\n return a.fields.length - b.fields.length;\n });\n\n // Create the hierarchy\n parsedList.forEach(entity => {\n const parentPos = entity.fields.slice(0, -1).join('-');\n const parentEntity = posMap[parentPos];\n\n if (!parentEntity) {\n entrances[entity.pos] = entity;\n } else {\n parentEntity.children = parentEntity.children || [];\n parentEntity.children.push(entity);\n }\n\n // Some time position list provide `key`, we don't need it\n delete entity.key;\n delete entity.fields;\n });\n\n return Object.keys(entrances).map(key => entrances[key]);\n}\n\n// =============== Accessibility ===============\nlet ariaId = 0;\n\nexport function resetAriaId() {\n ariaId = 0;\n}\n\nexport function generateAriaId(prefix) {\n ariaId += 1;\n return `${prefix}_${ariaId}`;\n}\n\nexport function isLabelInValue(props) {\n const { treeCheckable, treeCheckStrictly, labelInValue } = props;\n if (treeCheckable && treeCheckStrictly) {\n return true;\n }\n return labelInValue || false;\n}\n\n// =================== Tree ====================\nexport function parseSimpleTreeData(treeData, { id, pId, rootPId }) {\n const keyNodes = {};\n const rootNodeList = [];\n\n // Fill in the map\n const nodeList = treeData.map(node => {\n const clone = { ...node };\n const key = clone[id];\n keyNodes[key] = clone;\n clone.key = clone.key || key;\n return clone;\n });\n\n // Connect tree\n nodeList.forEach(node => {\n const parentKey = node[pId];\n const parent = keyNodes[parentKey];\n\n // Fill parent\n if (parent) {\n parent.children = parent.children || [];\n parent.children.push(node);\n }\n\n // Fill root tree node\n if (parentKey === rootPId || (!parent && rootPId === null)) {\n rootNodeList.push(node);\n }\n });\n\n return rootNodeList;\n}\n\n/**\n * Detect if position has relation.\n * e.g. 1-2 related with 1-2-3\n * e.g. 1-3-2 related with 1\n * e.g. 1-2 not related with 1-21\n */\nexport function isPosRelated(pos1, pos2) {\n const fields1 = pos1.split('-');\n const fields2 = pos2.split('-');\n\n const minLen = Math.min(fields1.length, fields2.length);\n for (let i = 0; i < minLen; i += 1) {\n if (fields1[i] !== fields2[i]) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * This function is only used on treeNode check (none treeCheckStrictly but has searchInput).\n * We convert entity to { node, pos, children } format.\n * This is legacy bug but we still need to do with it.\n * @param entity\n */\nexport function cleanEntity({ node, pos, children }) {\n const instance = {\n node,\n pos,\n };\n\n if (children) {\n instance.children = children.map(cleanEntity);\n }\n\n return instance;\n}\n\n/**\n * Get a filtered TreeNode list by provided treeNodes.\n * [Legacy] Since `Tree` use `key` as map but `key` will changed by React,\n * we have to convert `treeNodes > data > treeNodes` to keep the key.\n * Such performance hungry!\n */\nexport function getFilterTree(h, treeNodes, searchValue, filterFunc, valueEntities, Component) {\n if (!searchValue) {\n return null;\n }\n\n function mapFilteredNodeToData(node) {\n if (!node || isEmptyElement(node)) return null;\n\n let match = false;\n if (filterFunc(searchValue, node)) {\n match = true;\n }\n let children = getSlots(node).default;\n children = ((typeof children === 'function' ? children() : children) || [])\n .map(mapFilteredNodeToData)\n .filter(n => n);\n if (children.length || match) {\n return (\n <Component {...node.data} key={valueEntities[getPropsData(node).value].key}>\n {children}\n </Component>\n );\n }\n\n return null;\n }\n return treeNodes.map(mapFilteredNodeToData).filter(node => node);\n}\n\n// =================== Value ===================\n/**\n * Convert value to array format to make logic simplify.\n */\nexport function formatInternalValue(value, props) {\n const valueList = toArray(value);\n\n // Parse label in value\n if (isLabelInValue(props)) {\n return valueList.map(val => {\n if (typeof val !== 'object' || !val) {\n return {\n value: '',\n label: '',\n };\n }\n\n return val;\n });\n }\n\n return valueList.map(val => ({\n value: val,\n }));\n}\n\nexport function getLabel(wrappedValue, entity, treeNodeLabelProp) {\n if (wrappedValue.label) {\n return wrappedValue.label;\n }\n\n if (entity) {\n const props = getPropsData(entity.node);\n if (Object.keys(props).length) {\n return props[treeNodeLabelProp];\n }\n }\n\n // Since value without entity will be in missValueList.\n // This code will never reached, but we still need this in case.\n return wrappedValue.value;\n}\n\n/**\n * Convert internal state `valueList` to user needed value list.\n * This will return an array list. You need check if is not multiple when return.\n *\n * `allCheckedNodes` is used for `treeCheckStrictly`\n */\nexport function formatSelectorValue(valueList, props, valueEntities) {\n const { treeNodeLabelProp, treeCheckable, treeCheckStrictly, showCheckedStrategy } = props;\n\n // Will hide some value if `showCheckedStrategy` is set\n if (treeCheckable && !treeCheckStrictly) {\n const values = {};\n valueList.forEach(wrappedValue => {\n values[wrappedValue.value] = wrappedValue;\n });\n const hierarchyList = flatToHierarchy(valueList.map(({ value }) => valueEntities[value]));\n\n if (showCheckedStrategy === SHOW_PARENT) {\n // Only get the parent checked value\n return hierarchyList.map(({ node }) => {\n const value = getPropsData(node).value;\n return {\n label: getLabel(values[value], valueEntities[value], treeNodeLabelProp),\n value,\n };\n });\n }\n if (showCheckedStrategy === SHOW_CHILD) {\n // Only get the children checked value\n const targetValueList = [];\n\n // Find the leaf children\n const traverse = ({ node, children }) => {\n const value = getPropsData(node).value;\n if (!children || children.length === 0) {\n targetValueList.push({\n label: getLabel(values[value], valueEntities[value], treeNodeLabelProp),\n value,\n });\n return;\n }\n\n children.forEach(entity => {\n traverse(entity);\n });\n };\n\n hierarchyList.forEach(entity => {\n traverse(entity);\n });\n\n return targetValueList;\n }\n }\n\n return valueList.map(wrappedValue => ({\n label: getLabel(wrappedValue, valueEntities[wrappedValue.value], treeNodeLabelProp),\n value: wrappedValue.value,\n }));\n}\n\n/**\n * Use `rc-tree` convertDataToTree to convert treeData to TreeNodes.\n * This will change the label to title value\n */\nfunction processProps(props) {\n const { title, label, value, class: cls, style, on = {} } = props;\n let key = props.key;\n if (!key && (key === undefined || key === null)) {\n key = value;\n }\n const p = {\n props: omit(props, ['on', 'key', 'class', 'className', 'style']),\n on,\n class: cls || props.className,\n style,\n key,\n };\n // Warning user not to use deprecated label prop.\n if (label && !title) {\n if (!warnDeprecatedLabel) {\n warning(false, \"'label' in treeData is deprecated. Please use 'title' instead.\");\n warnDeprecatedLabel = true;\n }\n\n p.props.title = label;\n }\n\n return p;\n}\n\nexport function convertDataToTree(h, treeData) {\n return vcConvertDataToTree(h, treeData, { processProps });\n}\n\n/**\n * Use `rc-tree` convertTreeToEntities for entities calculation.\n * We have additional entities of `valueEntities`\n */\nfunction initWrapper(wrapper) {\n return {\n ...wrapper,\n valueEntities: {},\n };\n}\n\nfunction processEntity(entity, wrapper) {\n const value = getPropsData(entity.node).value;\n entity.value = value;\n\n // This should be empty, or will get error message.\n const currentEntity = wrapper.valueEntities[value];\n if (currentEntity) {\n warning(\n false,\n `Conflict! value of node '${entity.key}' (${value}) has already used by node '${currentEntity.key}'.`,\n );\n }\n wrapper.valueEntities[value] = entity;\n}\n\nexport function convertTreeToEntities(treeNodes) {\n return vcConvertTreeToEntities(treeNodes, {\n initWrapper,\n processEntity,\n });\n}\n\n/**\n * https://github.com/ant-design/ant-design/issues/13328\n * We need calculate the half check key when searchValue is set.\n */\n// TODO: This logic may better move to rc-tree\nexport function getHalfCheckedKeys(valueList, valueEntities) {\n const values = {};\n\n // Fill checked keys\n valueList.forEach(({ value }) => {\n values[value] = false;\n });\n\n // Fill half checked keys\n valueList.forEach(({ value }) => {\n let current = valueEntities[value];\n\n while (current && current.parent) {\n const parentValue = current.parent.value;\n if (parentValue in values) break;\n values[parentValue] = true;\n\n current = current.parent;\n }\n });\n\n // Get half keys\n return Object.keys(values)\n .filter(value => values[value])\n .map(value => valueEntities[value].key);\n}\n\nexport const conductCheck = rcConductCheck;\n","// based on rc-tree 2.1.3\n'use strict';\n\nmodule.exports = require('./src/');\n","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport warning from 'warning';\nimport { hasProp, initDefaultProps, getOptionProps, getSlots } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport BaseMixin from '../../_util/BaseMixin';\nimport proxyComponent from '../../_util/proxyComponent';\nimport {\n convertTreeToEntities,\n convertDataToTree,\n getPosition,\n getDragNodesKeys,\n parseCheckedKeys,\n conductExpandParent,\n calcSelectedKeys,\n calcDropPosition,\n arrAdd,\n arrDel,\n posToArr,\n mapChildren,\n conductCheck,\n warnOnlyTreeNode,\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 */\n\nfunction getWatch(keys = []) {\n const watch = {};\n keys.forEach(k => {\n watch[k] = function() {\n this.needSyncKeys[k] = true;\n };\n });\n return watch;\n}\n\nconst Tree = {\n name: 'Tree',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n prefixCls: PropTypes.string,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n children: PropTypes.any,\n treeData: PropTypes.array, // Generate treeNode by children\n showLine: PropTypes.bool,\n showIcon: PropTypes.bool,\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n focusable: PropTypes.bool,\n selectable: PropTypes.bool,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n checkable: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n checkStrictly: PropTypes.bool,\n draggable: PropTypes.bool,\n defaultExpandParent: PropTypes.bool,\n autoExpandParent: PropTypes.bool,\n defaultExpandAll: PropTypes.bool,\n defaultExpandedKeys: PropTypes.array,\n expandedKeys: PropTypes.array,\n defaultCheckedKeys: PropTypes.array,\n checkedKeys: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n defaultSelectedKeys: PropTypes.array,\n selectedKeys: PropTypes.array,\n // onClick: PropTypes.func,\n // onDoubleClick: PropTypes.func,\n // onExpand: PropTypes.func,\n // onCheck: PropTypes.func,\n // onSelect: PropTypes.func,\n loadData: PropTypes.func,\n loadedKeys: PropTypes.array,\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.any,\n _propsSymbol: PropTypes.any,\n },\n {\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 },\n ),\n\n data() {\n warning(this.$props.__propsSymbol__, 'must pass __propsSymbol__');\n warning(this.$props.children, 'please use children prop replace slots.default');\n this.needSyncKeys = {};\n this.domTreeNodes = {};\n const state = {\n _posEntities: new Map(),\n _keyEntities: new Map(),\n _expandedKeys: [],\n _selectedKeys: [],\n _checkedKeys: [],\n _halfCheckedKeys: [],\n _loadedKeys: [],\n _loadingKeys: [],\n _treeNode: [],\n _prevProps: null,\n _dragOverNodeKey: '',\n _dropPosition: null,\n _dragNodesKeys: [],\n };\n return {\n ...state,\n ...this.getDerivedState(getOptionProps(this), state),\n };\n },\n provide() {\n return {\n vcTree: this,\n };\n },\n\n watch: {\n ...getWatch([\n 'treeData',\n 'children',\n 'expandedKeys',\n 'autoExpandParent',\n 'selectedKeys',\n 'checkedKeys',\n 'loadedKeys',\n ]),\n __propsSymbol__() {\n this.setState(this.getDerivedState(getOptionProps(this), this.$data));\n this.needSyncKeys = {};\n },\n },\n\n methods: {\n getDerivedState(props, prevState) {\n const { _prevProps } = prevState;\n const newState = {\n _prevProps: { ...props },\n };\n const self = this;\n function needSync(name) {\n return (!_prevProps && name in props) || (_prevProps && self.needSyncKeys[name]);\n }\n\n // ================== Tree Node ==================\n let treeNode = null;\n\n // Check if `treeData` or `children` changed and save into the state.\n if (needSync('treeData')) {\n treeNode = convertDataToTree(this.$createElement, props.treeData);\n } else if (needSync('children')) {\n treeNode = props.children;\n }\n\n // Tree support filter function which will break the tree structure in the vdm.\n // We cache the treeNodes in state so that we can return the treeNode in event trigger.\n if (treeNode) {\n newState._treeNode = treeNode;\n\n // Calculate the entities data for quick match\n const entitiesMap = convertTreeToEntities(treeNode);\n newState._keyEntities = entitiesMap.keyEntities;\n }\n\n const keyEntities = newState._keyEntities || prevState._keyEntities;\n\n // ================ expandedKeys =================\n if (needSync('expandedKeys') || (_prevProps && needSync('autoExpandParent'))) {\n newState._expandedKeys =\n props.autoExpandParent || (!_prevProps && props.defaultExpandParent)\n ? conductExpandParent(props.expandedKeys, keyEntities)\n : props.expandedKeys;\n } else if (!_prevProps && props.defaultExpandAll) {\n newState._expandedKeys = [...keyEntities.keys()];\n } else if (!_prevProps && props.defaultExpandedKeys) {\n newState._expandedKeys =\n props.autoExpandParent || props.defaultExpandParent\n ? conductExpandParent(props.defaultExpandedKeys, keyEntities)\n : props.defaultExpandedKeys;\n }\n\n // ================ selectedKeys =================\n if (props.selectable) {\n if (needSync('selectedKeys')) {\n newState._selectedKeys = calcSelectedKeys(props.selectedKeys, props);\n } else if (!_prevProps && props.defaultSelectedKeys) {\n newState._selectedKeys = calcSelectedKeys(props.defaultSelectedKeys, props);\n }\n }\n\n // ================= checkedKeys =================\n if (props.checkable) {\n let checkedKeyEntity;\n\n if (needSync('checkedKeys')) {\n checkedKeyEntity = parseCheckedKeys(props.checkedKeys) || {};\n } else if (!_prevProps && props.defaultCheckedKeys) {\n checkedKeyEntity = parseCheckedKeys(props.defaultCheckedKeys) || {};\n } else if (treeNode) {\n // If treeNode changed, we also need check it\n checkedKeyEntity = parseCheckedKeys(props.checkedKeys) || {\n checkedKeys: prevState._checkedKeys,\n halfCheckedKeys: prevState._halfCheckedKeys,\n };\n }\n\n if (checkedKeyEntity) {\n let { checkedKeys = [], halfCheckedKeys = [] } = checkedKeyEntity;\n\n if (!props.checkStrictly) {\n const conductKeys = conductCheck(checkedKeys, true, keyEntities);\n ({ checkedKeys, halfCheckedKeys } = conductKeys);\n }\n\n newState._checkedKeys = checkedKeys;\n newState._halfCheckedKeys = halfCheckedKeys;\n }\n }\n // ================= loadedKeys ==================\n if (needSync('loadedKeys')) {\n newState._loadedKeys = props.loadedKeys;\n }\n\n return newState;\n },\n onNodeDragStart(event, node) {\n const { _expandedKeys } = this.$data;\n const { eventKey } = node;\n const children = getSlots(node).default;\n this.dragNode = node;\n\n this.setState({\n _dragNodesKeys: getDragNodesKeys(\n typeof children === 'function' ? children() : children,\n node,\n ),\n _expandedKeys: arrDel(_expandedKeys, eventKey),\n });\n this.__emit('dragstart', { event, node });\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: expandedKeys } = this.$data;\n const { pos, eventKey } = node;\n\n if (!this.dragNode || !node.$refs.selectHandle) return;\n\n const dropPosition = calcDropPosition(event, node);\n\n // Skip if drag node is self\n if (this.dragNode.eventKey === eventKey && dropPosition === 0) {\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: 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 if (!hasProp(this, 'expandedKeys')) {\n this.setState({\n _expandedKeys: newExpandedKeys,\n });\n }\n this.__emit('dragenter', { event, node, expandedKeys: newExpandedKeys });\n }, 400);\n }, 0);\n },\n onNodeDragOver(event, node) {\n const { eventKey } = node;\n const { _dragOverNodeKey, _dropPosition } = this.$data;\n // Update drag position\n if (this.dragNode && eventKey === _dragOverNodeKey && node.$refs.selectHandle) {\n const dropPosition = calcDropPosition(event, node);\n\n if (dropPosition === _dropPosition) return;\n\n this.setState({\n _dropPosition: dropPosition,\n });\n }\n this.__emit('dragover', { event, node });\n },\n onNodeDragLeave(event, node) {\n this.setState({\n _dragOverNodeKey: '',\n });\n this.__emit('dragleave', { event, node });\n },\n onNodeDragEnd(event, node) {\n this.setState({\n _dragOverNodeKey: '',\n });\n this.__emit('dragend', { event, node });\n this.dragNode = null;\n },\n onNodeDrop(event, node) {\n const { _dragNodesKeys = [], _dropPosition } = this.$data;\n\n const { eventKey, pos } = node;\n\n this.setState({\n _dragOverNodeKey: '',\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 dropToGap: false,\n };\n\n if (_dropPosition !== 0) {\n dropResult.dropToGap = true;\n }\n this.__emit('drop', dropResult);\n this.dragNode = null;\n },\n\n onNodeClick(e, treeNode) {\n this.__emit('click', e, treeNode);\n },\n\n onNodeDoubleClick(e, treeNode) {\n this.__emit('dblclick', e, treeNode);\n },\n\n onNodeSelect(e, treeNode) {\n let { _selectedKeys: selectedKeys } = this.$data;\n const { _keyEntities: keyEntities } = this.$data;\n const { multiple } = this.$props;\n const { selected, eventKey } = getOptionProps(treeNode);\n const targetSelected = !selected;\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 const selectedNodes = selectedKeys\n .map(key => {\n const entity = keyEntities.get(key);\n if (!entity) return null;\n\n return entity.node;\n })\n .filter(node => node);\n\n this.setUncontrolledState({ _selectedKeys: selectedKeys });\n\n const eventObj = {\n event: 'select',\n selected: targetSelected,\n node: treeNode,\n selectedNodes,\n nativeEvent: e,\n };\n this.__emit('update:selectedKeys', selectedKeys);\n this.__emit('select', selectedKeys, eventObj);\n },\n onNodeCheck(e, treeNode, checked) {\n const {\n _keyEntities: keyEntities,\n _checkedKeys: oriCheckedKeys,\n _halfCheckedKeys: oriHalfCheckedKeys,\n } = this.$data;\n const { checkStrictly } = this.$props;\n const { eventKey } = getOptionProps(treeNode);\n\n // Prepare trigger arguments\n let checkedObj;\n const eventObj = {\n event: 'check',\n node: treeNode,\n checked,\n nativeEvent: e,\n };\n\n if (checkStrictly) {\n const checkedKeys = checked\n ? arrAdd(oriCheckedKeys, eventKey)\n : arrDel(oriCheckedKeys, eventKey);\n const halfCheckedKeys = arrDel(oriHalfCheckedKeys, eventKey);\n checkedObj = { checked: checkedKeys, halfChecked: halfCheckedKeys };\n\n eventObj.checkedNodes = checkedKeys\n .map(key => keyEntities.get(key))\n .filter(entity => entity)\n .map(entity => entity.node);\n\n this.setUncontrolledState({ _checkedKeys: checkedKeys });\n } else {\n const { checkedKeys, halfCheckedKeys } = conductCheck([eventKey], checked, keyEntities, {\n checkedKeys: oriCheckedKeys,\n halfCheckedKeys: oriHalfCheckedKeys,\n });\n\n checkedObj = checkedKeys;\n\n // [Legacy] This is used for `rc-tree-select`\n eventObj.checkedNodes = [];\n eventObj.checkedNodesPositions = [];\n eventObj.halfCheckedKeys = halfCheckedKeys;\n\n checkedKeys.forEach(key => {\n const entity = keyEntities.get(key);\n if (!entity) return;\n\n const { node, pos } = entity;\n\n eventObj.checkedNodes.push(node);\n eventObj.checkedNodesPositions.push({ node, pos });\n });\n\n this.setUncontrolledState({\n _checkedKeys: checkedKeys,\n _halfCheckedKeys: halfCheckedKeys,\n });\n }\n this.__emit('check', checkedObj, eventObj);\n },\n onNodeLoad(treeNode) {\n return new Promise(resolve => {\n // We need to get the latest state of loading/loaded keys\n this.setState(({ _loadedKeys: loadedKeys = [], _loadingKeys: loadingKeys = [] }) => {\n const { loadData } = this.$props;\n const { eventKey } = getOptionProps(treeNode);\n\n if (\n !loadData ||\n loadedKeys.indexOf(eventKey) !== -1 ||\n loadingKeys.indexOf(eventKey) !== -1\n ) {\n return {};\n }\n\n // Process load data\n const promise = loadData(treeNode);\n promise.then(() => {\n const { _loadedKeys: currentLoadedKeys, _loadingKeys: currentLoadingKeys } = this.$data;\n const newLoadedKeys = arrAdd(currentLoadedKeys, eventKey);\n const newLoadingKeys = arrDel(currentLoadingKeys, eventKey);\n\n // onLoad should trigger before internal setState to avoid `loadData` trigger twice.\n // https://github.com/ant-design/ant-design/issues/12464\n this.__emit('load', newLoadedKeys, {\n event: 'load',\n node: treeNode,\n });\n this.setUncontrolledState({\n _loadedKeys: newLoadedKeys,\n });\n this.setState({\n _loadingKeys: newLoadingKeys,\n });\n resolve();\n });\n\n return {\n _loadingKeys: arrAdd(loadingKeys, eventKey),\n };\n });\n });\n },\n\n onNodeExpand(e, treeNode) {\n let { _expandedKeys: expandedKeys } = this.$data;\n const { loadData } = this.$props;\n const { eventKey, expanded } = getOptionProps(treeNode);\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\n if (targetExpanded) {\n expandedKeys = arrAdd(expandedKeys, eventKey);\n } else {\n expandedKeys = arrDel(expandedKeys, eventKey);\n }\n\n this.setUncontrolledState({ _expandedKeys: expandedKeys });\n this.__emit('expand', expandedKeys, {\n node: treeNode,\n expanded: targetExpanded,\n nativeEvent: e,\n });\n this.__emit('update:expandedKeys', expandedKeys);\n\n // Async Load data\n if (targetExpanded && loadData) {\n const loadPromise = this.onNodeLoad(treeNode);\n return loadPromise\n ? loadPromise.then(() => {\n // [Legacy] Refresh logic\n this.setUncontrolledState({ _expandedKeys: expandedKeys });\n })\n : null;\n }\n\n return null;\n },\n\n onNodeMouseEnter(event, node) {\n this.__emit('mouseenter', { event, node });\n },\n\n onNodeMouseLeave(event, node) {\n this.__emit('mouseleave', { event, node });\n },\n\n onNodeContextMenu(event, node) {\n event.preventDefault();\n this.__emit('rightClick', { event, node });\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 const props = getOptionProps(this);\n Object.keys(state).forEach(name => {\n if (name.replace('_', '') in props) return;\n needSync = true;\n newState[name] = state[name];\n });\n\n if (needSync) {\n this.setState(newState);\n }\n },\n\n registerTreeNode(key, node) {\n if (node) {\n this.domTreeNodes[key] = node;\n } else {\n delete this.domTreeNodes[key];\n }\n },\n\n isKeyChecked(key) {\n const { _checkedKeys: checkedKeys = [] } = this.$data;\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 _keyEntities: keyEntities,\n _expandedKeys: expandedKeys = [],\n _selectedKeys: selectedKeys = [],\n _halfCheckedKeys: halfCheckedKeys = [],\n _loadedKeys: loadedKeys = [],\n _loadingKeys: loadingKeys = [],\n _dragOverNodeKey: dragOverNodeKey,\n _dropPosition: dropPosition,\n } = this.$data;\n const pos = getPosition(level, index);\n let key = child.key;\n if (!key && (key === undefined || key === null)) {\n key = pos;\n }\n if (!keyEntities.get(key)) {\n warnOnlyTreeNode();\n return null;\n }\n\n return cloneElement(child, {\n props: {\n eventKey: key,\n expanded: expandedKeys.indexOf(key) !== -1,\n selected: selectedKeys.indexOf(key) !== -1,\n loaded: loadedKeys.indexOf(key) !== -1,\n loading: loadingKeys.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 key,\n });\n },\n },\n\n render() {\n const { _treeNode: treeNode } = this.$data;\n const { prefixCls, focusable, showLine, tabIndex = 0 } = this.$props;\n\n return (\n <ul\n class={classNames(prefixCls, {\n [`${prefixCls}-show-line`]: showLine,\n })}\n role=\"tree\"\n unselectable=\"on\"\n tabIndex={focusable ? tabIndex : null}\n >\n {mapChildren(treeNode, (node, index) => this.renderTreeNode(node, index))}\n </ul>\n );\n },\n};\n\nexport { Tree };\n\nexport default proxyComponent(Tree);\n","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport { getNodeChildren, mapChildren, warnOnlyTreeNode } from './util';\nimport { initDefaultProps, filterEmpty, getComponentFromProp } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport getTransitionProps from '../../_util/getTransitionProps';\n\nfunction noop() {}\nconst ICON_OPEN = 'open';\nconst ICON_CLOSE = 'close';\n\nconst defaultTitle = '---';\n\nconst TreeNode = {\n name: 'TreeNode',\n mixins: [BaseMixin],\n __ANT_TREE_NODE: true,\n props: initDefaultProps(\n {\n eventKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), // Pass by parent `cloneElement`\n prefixCls: PropTypes.string,\n // className: PropTypes.string,\n root: PropTypes.object,\n // onSelect: PropTypes.func,\n\n // By parent\n expanded: PropTypes.bool,\n selected: PropTypes.bool,\n checked: PropTypes.bool,\n loaded: PropTypes.bool,\n loading: PropTypes.bool,\n halfChecked: PropTypes.bool,\n title: PropTypes.any,\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 checkable: PropTypes.bool,\n selectable: PropTypes.bool,\n disabled: PropTypes.bool,\n disableCheckbox: PropTypes.bool,\n icon: PropTypes.any,\n dataRef: PropTypes.object,\n switcherIcon: PropTypes.any,\n label: PropTypes.any,\n value: PropTypes.any,\n },\n {},\n ),\n\n data() {\n return {\n dragNodeHighlight: false,\n };\n },\n inject: {\n vcTree: { default: () => ({}) },\n vcTreeNode: { default: () => ({}) },\n },\n provide() {\n return {\n vcTreeNode: this,\n };\n },\n\n // Isomorphic needn't load data in server side\n mounted() {\n const {\n eventKey,\n vcTree: { registerTreeNode },\n } = this;\n this.syncLoadData(this.$props);\n registerTreeNode && registerTreeNode(eventKey, this);\n },\n updated() {\n this.syncLoadData(this.$props);\n },\n beforeDestroy() {\n const {\n eventKey,\n vcTree: { registerTreeNode },\n } = this;\n registerTreeNode && registerTreeNode(eventKey, null);\n },\n\n methods: {\n onSelectorClick(e) {\n // Click trigger before select/check operation\n const {\n vcTree: { onNodeClick },\n } = this;\n onNodeClick(e, this);\n if (this.isSelectable()) {\n this.onSelect(e);\n } else {\n this.onCheck(e);\n }\n },\n\n onSelectorDoubleClick(e) {\n const {\n vcTree: { onNodeDoubleClick },\n } = this;\n onNodeDoubleClick(e, this);\n },\n\n onSelect(e) {\n if (this.isDisabled()) return;\n\n const {\n vcTree: { onNodeSelect },\n } = this;\n e.preventDefault();\n onNodeSelect(e, this);\n },\n\n onCheck(e) {\n if (this.isDisabled()) return;\n\n const { disableCheckbox, checked } = this;\n const {\n vcTree: { onNodeCheck },\n } = this;\n\n if (!this.isCheckable() || disableCheckbox) return;\n\n e.preventDefault();\n const targetChecked = !checked;\n onNodeCheck(e, this, targetChecked);\n },\n\n onMouseEnter(e) {\n const {\n vcTree: { onNodeMouseEnter },\n } = this;\n onNodeMouseEnter(e, this);\n },\n\n onMouseLeave(e) {\n const {\n vcTree: { onNodeMouseLeave },\n } = this;\n onNodeMouseLeave(e, this);\n },\n\n onContextMenu(e) {\n const {\n vcTree: { onNodeContextMenu },\n } = this;\n onNodeContextMenu(e, this);\n },\n\n onDragStart(e) {\n const {\n vcTree: { onNodeDragStart },\n } = this;\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 {\n vcTree: { onNodeDragEnter },\n } = this;\n\n e.preventDefault();\n e.stopPropagation();\n onNodeDragEnter(e, this);\n },\n\n onDragOver(e) {\n const {\n vcTree: { onNodeDragOver },\n } = this;\n\n e.preventDefault();\n e.stopPropagation();\n onNodeDragOver(e, this);\n },\n\n onDragLeave(e) {\n const {\n vcTree: { onNodeDragLeave },\n } = this;\n\n e.stopPropagation();\n onNodeDragLeave(e, this);\n },\n\n onDragEnd(e) {\n const {\n vcTree: { onNodeDragEnd },\n } = this;\n\n e.stopPropagation();\n this.setState({\n dragNodeHighlight: false,\n });\n onNodeDragEnd(e, this);\n },\n\n onDrop(e) {\n const {\n vcTree: { onNodeDrop },\n } = this;\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 {\n vcTree: { onNodeExpand },\n } = this;\n onNodeExpand(e, this);\n },\n\n getNodeChildren() {\n const {\n $slots: { default: children },\n } = this;\n const originList = filterEmpty(children);\n const targetList = getNodeChildren(originList);\n\n if (originList.length !== targetList.length) {\n warnOnlyTreeNode();\n }\n\n return targetList;\n },\n\n getNodeState() {\n const { expanded } = this;\n\n if (this.isLeaf2()) {\n return null;\n }\n\n return expanded ? ICON_OPEN : ICON_CLOSE;\n },\n\n isLeaf2() {\n const { isLeaf, loaded } = this;\n const {\n vcTree: { loadData },\n } = this;\n\n const hasChildren = this.getNodeChildren().length !== 0;\n if (isLeaf === false) {\n return false;\n }\n return isLeaf || (!loadData && !hasChildren) || (loadData && loaded && !hasChildren);\n },\n\n isDisabled() {\n const { disabled } = this;\n const {\n vcTree: { disabled: treeDisabled },\n } = this;\n\n // Follow the logic of Selectable\n if (disabled === false) {\n return false;\n }\n\n return !!(treeDisabled || disabled);\n },\n\n isCheckable() {\n const { checkable } = this.$props;\n const {\n vcTree: { checkable: treeCheckable },\n } = this;\n\n // Return false if tree or treeNode is not checkable\n if (!treeCheckable || checkable === false) return false;\n return treeCheckable;\n },\n\n // Load data to avoid default expanded tree without data\n syncLoadData(props) {\n const { expanded, loading, loaded } = props;\n const {\n vcTree: { loadData, onNodeLoad },\n } = this;\n if (loading) return;\n // read from state to avoid loadData at same time\n if (loadData && expanded && !this.isLeaf2()) {\n // We needn't reload data when has children in sync logic\n // It's only needed in node expanded\n const hasChildren = this.getNodeChildren().length !== 0;\n if (!hasChildren && !loaded) {\n onNodeLoad(this);\n }\n }\n },\n\n isSelectable() {\n const { selectable } = this;\n const {\n vcTree: { selectable: treeSelectable },\n } = this;\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 // Switcher\n renderSwitcher() {\n const { expanded } = this;\n const {\n vcTree: { prefixCls },\n } = this;\n const switcherIcon =\n getComponentFromProp(this, 'switcherIcon', {}, false) ||\n getComponentFromProp(this.vcTree, 'switcherIcon', {}, false);\n if (this.isLeaf2()) {\n return (\n <span\n key=\"switcher\"\n class={classNames(`${prefixCls}-switcher`, `${prefixCls}-switcher-noop`)}\n >\n {typeof switcherIcon === 'function'\n ? switcherIcon({ ...this.$props, ...this.$props.dataRef, isLeaf: true })\n : switcherIcon}\n </span>\n );\n }\n\n const switcherCls = classNames(\n `${prefixCls}-switcher`,\n `${prefixCls}-switcher_${expanded ? ICON_OPEN : ICON_CLOSE}`,\n );\n return (\n <span key=\"switcher\" onClick={this.onExpand} class={switcherCls}>\n {typeof switcherIcon === 'function'\n ? switcherIcon({ ...this.$props, ...this.$props.dataRef, isLeaf: false })\n : switcherIcon}\n </span>\n );\n },\n\n // Checkbox\n renderCheckbox() {\n const { checked, halfChecked, disableCheckbox } = this;\n const {\n vcTree: { prefixCls },\n } = this;\n const disabled = this.isDisabled();\n const checkable = this.isCheckable();\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 key=\"checkbox\"\n class={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 { loading } = this;\n const {\n vcTree: { prefixCls },\n } = this;\n\n return (\n <span\n key=\"icon\"\n class={classNames(\n `${prefixCls}-iconEle`,\n `${prefixCls}-icon__${this.getNodeState() || 'docu'}`,\n loading && `${prefixCls}-icon_loading`,\n )}\n />\n );\n },\n\n // Icon + Title\n renderSelector(h) {\n const { selected, loading, dragNodeHighlight } = this;\n const icon = getComponentFromProp(this, 'icon', {}, false);\n const {\n vcTree: { prefixCls, showIcon, icon: treeIcon, draggable, loadData },\n } = this;\n const disabled = this.isDisabled();\n const title = getComponentFromProp(this, 'title', {}, false);\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 const currentIcon = icon || treeIcon;\n $icon = currentIcon ? (\n <span class={classNames(`${prefixCls}-iconEle`, `${prefixCls}-icon__customize`)}>\n {typeof currentIcon === 'function'\n ? currentIcon({ ...this.$props, ...this.$props.dataRef }, h)\n : currentIcon}\n </span>\n ) : (\n this.renderIcon()\n );\n } else if (loadData && loading) {\n $icon = this.renderIcon();\n }\n\n const currentTitle = title;\n let $title = currentTitle ? (\n <span class={`${prefixCls}-title`}>\n {typeof currentTitle === 'function'\n ? currentTitle({ ...this.$props, ...this.$props.dataRef }, h)\n : currentTitle}\n </span>\n ) : (\n <span class={`${prefixCls}-title`}>{defaultTitle}</span>\n );\n\n return (\n <span\n key=\"selector\"\n ref=\"selectHandle\"\n title={typeof title === 'string' ? title : ''}\n class={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 onMouseenter={this.onMouseEnter}\n onMouseleave={this.onMouseLeave}\n onContextmenu={this.onContextMenu}\n onClick={this.onSelectorClick}\n onDblclick={this.onSelectorDoubleClick}\n onDragstart={draggable ? this.onDragStart : noop}\n >\n {$icon}\n {$title}\n </span>\n );\n },\n\n // Children list wrapped with `Animation`\n renderChildren() {\n const { expanded, pos } = this;\n const {\n vcTree: { prefixCls, openTransitionName, openAnimation, renderTreeNode },\n } = this;\n\n let animProps = {};\n if (openTransitionName) {\n animProps = getTransitionProps(openTransitionName);\n } else if (typeof openAnimation === 'object') {\n animProps = { ...openAnimation };\n animProps.props = { css: false, ...animProps.props };\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 $children = (\n <ul\n class={classNames(\n `${prefixCls}-child-tree`,\n expanded && `${prefixCls}-child-tree-open`,\n )}\n data-expanded={expanded}\n role=\"group\"\n >\n {mapChildren(nodeList, (node, index) => renderTreeNode(node, index, pos))}\n </ul>\n );\n }\n\n return <transition {...animProps}>{$children}</transition>;\n },\n },\n\n render(h) {\n const {\n dragOver,\n dragOverGapTop,\n dragOverGapBottom,\n isLeaf,\n expanded,\n selected,\n checked,\n halfChecked,\n loading,\n } = this.$props;\n const {\n vcTree: { prefixCls, filterTreeNode, draggable },\n } = this;\n const disabled = this.isDisabled();\n return (\n <li\n class={{\n [`${prefixCls}-treenode-disabled`]: disabled,\n [`${prefixCls}-treenode-switcher-${expanded ? 'open' : 'close'}`]: !isLeaf,\n [`${prefixCls}-treenode-checkbox-checked`]: checked,\n [`${prefixCls}-treenode-checkbox-indeterminate`]: halfChecked,\n [`${prefixCls}-treenode-selected`]: selected,\n [`${prefixCls}-treenode-loading`]: loading,\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 role=\"treeitem\"\n onDragenter={draggable ? this.onDragEnter : noop}\n onDragover={draggable ? this.onDragOver : noop}\n onDragleave={draggable ? this.onDragLeave : noop}\n onDrop={draggable ? this.onDrop : noop}\n onDragend={draggable ? this.onDragEnd : noop}\n >\n {this.renderSwitcher()}\n {this.renderCheckbox()}\n {this.renderSelector(h)}\n {this.renderChildren()}\n </li>\n );\n },\n};\n\nTreeNode.isTreeNode = 1;\n\nexport default TreeNode;\n","import ProxyTree, { Tree } from './Tree';\nimport TreeNode from './TreeNode';\nTree.TreeNode = TreeNode;\nProxyTree.TreeNode = TreeNode;\n\nexport { Tree, TreeNode };\nexport default ProxyTree;\n","/* eslint no-loop-func: 0*/\nimport warning from 'warning';\nimport omit from 'omit.js';\nimport TreeNode from './TreeNode';\nimport { getSlotOptions, getOptionProps } from '../../_util/props-util';\nconst DRAG_SIDE_RANGE = 0.25;\nconst DRAG_MIN_GAP = 2;\n\nlet onlyTreeNodeWarned = false;\n\nexport function warnOnlyTreeNode() {\n if (onlyTreeNodeWarned) return;\n\n onlyTreeNodeWarned = true;\n warning(false, 'Tree only accept TreeNode as children.');\n}\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\nexport function getPosition(level, index) {\n return `${level}-${index}`;\n}\n\nexport function isTreeNode(node) {\n return getSlotOptions(node).isTreeNode;\n}\n\nexport function getNodeChildren(children = []) {\n return children.filter(isTreeNode);\n}\n\nexport function isCheckDisabled(node) {\n const { disabled, disableCheckbox, checkable } = getOptionProps(node) || {};\n return !!(disabled || disableCheckbox) || checkable === false;\n}\n\nexport function traverseTreeNodes(treeNodes, callback) {\n function processNode(node, index, parent) {\n const children = node ? node.componentOptions.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 let key = node.key;\n if (!key && (key === undefined || key === null)) {\n key = pos;\n }\n const data = {\n node,\n index,\n pos,\n key,\n parentPos: parent.node ? parent.pos : null,\n };\n callback(data);\n }\n\n // Process children node\n childList.forEach((subNode, subIndex) => {\n processNode(subNode, subIndex, { node, pos });\n });\n }\n\n processNode(null);\n}\n\n/**\n * Use `rc-util` `toArray` to get the children list which keeps the key.\n * And return single node if children is only one(This can avoid `key` missing check).\n */\nexport function mapChildren(children = [], func) {\n const list = children.map(func);\n if (list.length === 1) {\n return list[0];\n }\n return list;\n}\n\nexport function getDragNodesKeys(treeNodes, node) {\n const { eventKey, pos } = getOptionProps(node);\n const dragNodesKeys = [];\n\n traverseTreeNodes(treeNodes, ({ key }) => {\n dragNodesKeys.push(key);\n });\n dragNodesKeys.push(eventKey || pos);\n return dragNodesKeys;\n}\n\nexport function calcDropPosition(event, treeNode) {\n const { clientY } = event;\n const { top, bottom, height } = treeNode.$refs.selectHandle.getBoundingClientRect();\n const des = Math.max(height * DRAG_SIDE_RANGE, DRAG_MIN_GAP);\n\n if (clientY <= top + des) {\n return -1;\n }\n if (clientY >= bottom - des) {\n return 1;\n }\n return 0;\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 * Since React internal will convert key to string,\n * we need do this to avoid `checkStrictly` use number match\n */\n// function keyListToString (keyList) {\n// if (!keyList) return keyList\n// return keyList.map(key => String(key))\n// }\n\nconst internalProcessProps = (props = {}) => {\n return {\n props: omit(props, ['on', 'key', 'class', 'className', 'style']),\n on: props.on || {},\n class: props.class || props.className,\n style: props.style,\n key: props.key,\n };\n};\nexport function convertDataToTree(h, treeData, processor) {\n if (!treeData) return [];\n\n const { processProps = internalProcessProps } = processor || {};\n const list = Array.isArray(treeData) ? treeData : [treeData];\n return list.map(({ children, ...props }) => {\n const childrenNodes = convertDataToTree(h, children, processor);\n return <TreeNode {...processProps(props)}>{childrenNodes}</TreeNode>;\n });\n}\n\n// TODO: ========================= NEW LOGIC =========================\n/**\n * Calculate treeNodes entities. `processTreeEntity` is used for `rc-tree-select`\n * @param treeNodes\n * @param processTreeEntity User can customize the entity\n */\nexport function convertTreeToEntities(\n treeNodes,\n { initWrapper, processEntity, onProcessFinished } = {},\n) {\n const posEntities = new Map();\n const keyEntities = new Map();\n let wrapper = {\n posEntities,\n keyEntities,\n };\n\n if (initWrapper) {\n wrapper = initWrapper(wrapper) || wrapper;\n }\n\n traverseTreeNodes(treeNodes, item => {\n const { node, index, pos, key, parentPos } = item;\n const entity = { node, index, key, pos };\n\n posEntities.set(pos, entity);\n keyEntities.set(key, entity);\n\n // Fill children\n entity.parent = posEntities.get(parentPos);\n if (entity.parent) {\n entity.parent.children = entity.parent.children || [];\n entity.parent.children.push(entity);\n }\n\n if (processEntity) {\n processEntity(entity, wrapper);\n }\n });\n\n if (onProcessFinished) {\n onProcessFinished(wrapper);\n }\n\n return wrapper;\n}\n\n/**\n * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style\n */\nexport function parseCheckedKeys(keys) {\n if (!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 // keyProps.checkedKeys = keyListToString(keyProps.checkedKeys)\n // keyProps.halfCheckedKeys = keyListToString(keyProps.halfCheckedKeys)\n\n return keyProps;\n}\n\n/**\n * Conduct check state by the keyList. It will conduct up & from the provided key.\n * If the conduct path reach the disabled or already checked / unchecked node will stop conduct.\n * @param keyList list of keys\n * @param isCheck is check the node or not\n * @param keyEntities parsed by `convertTreeToEntities` function in Tree\n * @param checkStatus Can pass current checked status for process (usually for uncheck operation)\n * @returns {{checkedKeys: [], halfCheckedKeys: []}}\n */\nexport function conductCheck(keyList, isCheck, keyEntities, checkStatus = {}) {\n const checkedKeys = new Map();\n const halfCheckedKeys = new Map(); // Record the key has some child checked (include child half checked)\n\n (checkStatus.checkedKeys || []).forEach(key => {\n checkedKeys.set(key, true);\n });\n\n (checkStatus.halfCheckedKeys || []).forEach(key => {\n halfCheckedKeys.set(key, true);\n });\n\n // Conduct up\n function conductUp(key) {\n if (checkedKeys.get(key) === isCheck) return;\n\n const entity = keyEntities.get(key);\n if (!entity) return;\n\n const { children, parent, node } = entity;\n\n if (isCheckDisabled(node)) return;\n\n // Check child node checked status\n let everyChildChecked = true;\n let someChildChecked = false; // Child checked or half checked\n\n (children || [])\n .filter(child => !isCheckDisabled(child.node))\n .forEach(({ key: childKey }) => {\n const childChecked = checkedKeys.get(childKey);\n const childHalfChecked = halfCheckedKeys.get(childKey);\n\n if (childChecked || childHalfChecked) someChildChecked = true;\n if (!childChecked) everyChildChecked = false;\n });\n\n // Update checked status\n if (isCheck) {\n checkedKeys.set(key, everyChildChecked);\n } else {\n checkedKeys.set(key, false);\n }\n halfCheckedKeys.set(key, someChildChecked);\n\n if (parent) {\n conductUp(parent.key);\n }\n }\n\n // Conduct down\n function conductDown(key) {\n if (checkedKeys.get(key) === isCheck) return;\n\n const entity = keyEntities.get(key);\n if (!entity) return;\n\n const { children, node } = entity;\n\n if (isCheckDisabled(node)) return;\n\n checkedKeys.set(key, isCheck);\n\n (children || []).forEach(child => {\n conductDown(child.key);\n });\n }\n\n function conduct(key) {\n const entity = keyEntities.get(key);\n\n if (!entity) {\n warning(false, `'${key}' does not exist in the tree.`);\n return;\n }\n const { children, parent, node } = entity;\n checkedKeys.set(key, isCheck);\n\n if (isCheckDisabled(node)) return;\n\n // Conduct down\n (children || [])\n .filter(child => !isCheckDisabled(child.node))\n .forEach(child => {\n conductDown(child.key);\n });\n\n // Conduct up\n if (parent) {\n conductUp(parent.key);\n }\n }\n\n (keyList || []).forEach(key => {\n conduct(key);\n });\n\n const checkedKeyList = [];\n const halfCheckedKeyList = [];\n\n // Fill checked list\n for (const [key, value] of checkedKeys) {\n if (value) {\n checkedKeyList.push(key);\n }\n }\n\n // Fill half checked list\n for (const [key, value] of halfCheckedKeys) {\n if (!checkedKeys.get(key) && value) {\n halfCheckedKeyList.push(key);\n }\n }\n\n return {\n checkedKeys: checkedKeyList,\n halfCheckedKeys: halfCheckedKeyList,\n };\n}\n\n/**\n * If user use `autoExpandParent` we should get the list of parent node\n * @param keyList\n * @param keyEntities\n */\nexport function conductExpandParent(keyList, keyEntities) {\n const expandedKeys = new Map();\n\n function conductUp(key) {\n if (expandedKeys.get(key)) return;\n\n const entity = keyEntities.get(key);\n if (!entity) return;\n\n expandedKeys.set(key, true);\n\n const { parent, node } = entity;\n const props = getOptionProps(node);\n if (props && props.disabled) return;\n\n if (parent) {\n conductUp(parent.key);\n }\n }\n\n (keyList || []).forEach(key => {\n conductUp(key);\n });\n\n return [...expandedKeys.keys()];\n}\n\n/**\n * Returns only the data- and aria- key/value pairs\n * @param {object} props\n */\nexport function getDataAndAria(props) {\n return Object.keys(props).reduce((prev, key) => {\n if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-') {\n prev[key] = props[key];\n }\n return prev;\n }, {});\n}\n","import PropTypes from '../_util/vue-types';\n\nexport default {\n props: {\n visible: PropTypes.bool,\n hiddenClassName: PropTypes.string,\n },\n render() {\n const { hiddenClassName, visible } = this.$props;\n let children = null;\n if (hiddenClassName || !this.$slots.default || this.$slots.default.length > 1) {\n const cls = '';\n if (!visible && hiddenClassName) {\n // cls += ` ${hiddenClassName}`\n }\n children = <div class={cls}>{this.$slots.default}</div>;\n } else {\n children = this.$slots.default[0];\n }\n return children;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport Align from '../vc-align';\nimport PopupInner from './PopupInner';\nimport LazyRenderBox from './LazyRenderBox';\nimport animate from '../_util/css-animation';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getListeners } from '../_util/props-util';\n\nexport default {\n name: 'VCTriggerPopup',\n mixins: [BaseMixin],\n props: {\n visible: PropTypes.bool,\n getClassNameFromAlign: PropTypes.func,\n getRootDomNode: PropTypes.func,\n align: PropTypes.any,\n destroyPopupOnHide: PropTypes.bool,\n prefixCls: PropTypes.string,\n getContainer: PropTypes.func,\n transitionName: PropTypes.string,\n animation: PropTypes.any,\n maskAnimation: PropTypes.string,\n maskTransitionName: PropTypes.string,\n mask: PropTypes.bool,\n zIndex: PropTypes.number,\n popupClassName: PropTypes.any,\n popupStyle: PropTypes.object.def(() => ({})),\n stretch: PropTypes.string,\n point: PropTypes.shape({\n pageX: PropTypes.number,\n pageY: PropTypes.number,\n }),\n },\n data() {\n this.domEl = null;\n return {\n // Used for stretch\n stretchChecked: false,\n targetWidth: undefined,\n targetHeight: undefined,\n };\n },\n mounted() {\n this.$nextTick(() => {\n this.rootNode = this.getPopupDomNode();\n this.setStretchSize();\n });\n },\n // 如添加会导致动画失效,如放开会导致快速输入时闪动 https://github.com/vueComponent/ant-design-vue/issues/1327,\n // 目前方案是保留动画,闪动问题(动画多次执行)进一步定位\n // beforeUpdate() {\n // if (this.domEl && this.domEl.rcEndListener) {\n // this.domEl.rcEndListener();\n // this.domEl = null;\n // }\n // },\n updated() {\n this.$nextTick(() => {\n this.setStretchSize();\n });\n },\n beforeDestroy() {\n if (this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n } else if (this.$el.remove) {\n this.$el.remove();\n }\n },\n methods: {\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 const listeners = getListeners(this);\n listeners.align && listeners.align(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.$data;\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 this.$refs.popupInstance ? this.$refs.popupInstance.$el : null;\n },\n\n getTargetElement() {\n return this.$props.getRootDomNode();\n },\n\n // `target` on `rc-align` can accept as a function to get the bind element or a point.\n // ref: https://www.npmjs.com/package/rc-align\n getAlignTarget() {\n const { point } = this.$props;\n if (point) {\n return point;\n }\n return this.getTargetElement;\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 const animation = props.animation;\n if (!transitionName) {\n if (typeof animation === 'string') {\n transitionName = `${animation}`;\n } else if (animation && animation.props && animation.props.name) {\n transitionName = animation.props.name;\n }\n }\n return transitionName;\n },\n\n getClassName(currentAlignClassName) {\n return `${this.$props.prefixCls} ${this.$props.popupClassName} ${currentAlignClassName}`;\n },\n getPopupElement() {\n const { $props: props, $slots, getTransitionName } = this;\n const { stretchChecked, targetHeight, targetWidth } = this.$data;\n\n const {\n align,\n visible,\n prefixCls,\n animation,\n popupStyle,\n getClassNameFromAlign,\n destroyPopupOnHide,\n stretch,\n } = props;\n const className = this.getClassName(\n this.currentAlignClassName || getClassNameFromAlign(align),\n );\n // const hiddenClassName = `${prefixCls}-hidden`\n if (!visible) {\n this.currentAlignClassName = null;\n }\n const sizeStyle = {};\n if (stretch) {\n // Stretch with target\n if (stretch.indexOf('height') !== -1) {\n sizeStyle.height = typeof targetHeight === 'number' ? `${targetHeight}px` : targetHeight;\n } else if (stretch.indexOf('minHeight') !== -1) {\n sizeStyle.minHeight =\n typeof targetHeight === 'number' ? `${targetHeight}px` : targetHeight;\n }\n if (stretch.indexOf('width') !== -1) {\n sizeStyle.width = typeof targetWidth === 'number' ? `${targetWidth}px` : targetWidth;\n } else if (stretch.indexOf('minWidth') !== -1) {\n sizeStyle.minWidth = typeof targetWidth === 'number' ? `${targetWidth}px` : targetWidth;\n }\n // Delay force align to makes ui smooth\n if (!stretchChecked) {\n // sizeStyle.visibility = 'hidden'\n setTimeout(() => {\n if (this.$refs.alignInstance) {\n this.$refs.alignInstance.forceAlign();\n }\n }, 0);\n }\n }\n const popupInnerProps = {\n props: {\n prefixCls,\n visible,\n // hiddenClassName,\n },\n class: className,\n on: getListeners(this),\n ref: 'popupInstance',\n style: { ...sizeStyle, ...popupStyle, ...this.getZIndexStyle() },\n };\n let transitionProps = {\n props: {\n appear: true,\n css: false,\n },\n };\n const transitionName = getTransitionName();\n let useTransition = !!transitionName;\n const transitionEvent = {\n beforeEnter: () => {\n // el.style.display = el.__vOriginalDisplay\n // this.$refs.alignInstance.forceAlign();\n },\n enter: (el, done) => {\n // render 后 vue 会移除通过animate动态添加的 class导致动画闪动,延迟两帧添加动画class,可以进一步定位或者重写 transition 组件\n this.$nextTick(() => {\n if (this.$refs.alignInstance) {\n this.$refs.alignInstance.$nextTick(() => {\n this.domEl = el;\n animate(el, `${transitionName}-enter`, done);\n });\n } else {\n done();\n }\n });\n },\n beforeLeave: () => {\n this.domEl = null;\n },\n leave: (el, done) => {\n animate(el, `${transitionName}-leave`, done);\n },\n };\n\n if (typeof animation === 'object') {\n useTransition = true;\n const { on = {}, props = {} } = animation;\n transitionProps.props = { ...transitionProps.props, ...props };\n transitionProps.on = { ...transitionEvent, ...on };\n } else {\n transitionProps.on = transitionEvent;\n }\n if (!useTransition) {\n transitionProps = {};\n }\n if (destroyPopupOnHide) {\n return (\n <transition {...transitionProps}>\n {visible ? (\n <Align\n target={this.getAlignTarget()}\n key=\"popup\"\n ref=\"alignInstance\"\n monitorWindowResize\n align={align}\n onAlign={this.onAlign}\n >\n <PopupInner {...popupInnerProps}>{$slots.default}</PopupInner>\n </Align>\n ) : null}\n </transition>\n );\n }\n return (\n <transition {...transitionProps}>\n <Align\n v-show={visible}\n target={this.getAlignTarget()}\n key=\"popup\"\n ref=\"alignInstance\"\n monitorWindowResize\n disabled={!visible}\n align={align}\n onAlign={this.onAlign}\n >\n <PopupInner {...popupInnerProps}>{$slots.default}</PopupInner>\n </Align>\n </transition>\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 = null;\n if (props.mask) {\n const maskTransition = this.getMaskTransitionName();\n maskElement = (\n <LazyRenderBox\n v-show={props.visible}\n style={this.getZIndexStyle()}\n key=\"mask\"\n class={`${props.prefixCls}-mask`}\n visible={props.visible}\n />\n );\n if (maskTransition) {\n maskElement = (\n <transition appear name={maskTransition}>\n {maskElement}\n </transition>\n );\n }\n }\n return maskElement;\n },\n },\n\n render() {\n const { getMaskElement, getPopupElement } = this;\n return (\n <div>\n {getMaskElement()}\n {getPopupElement()}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport LazyRenderBox from './LazyRenderBox';\nimport { getListeners } from '../_util/props-util';\n\nexport default {\n props: {\n hiddenClassName: PropTypes.string.def(''),\n prefixCls: PropTypes.string,\n visible: PropTypes.bool,\n },\n render() {\n const { prefixCls, visible, hiddenClassName } = this.$props;\n const divProps = {\n on: getListeners(this),\n };\n\n return (\n <div {...divProps} class={!visible ? hiddenClassName : ''}>\n <LazyRenderBox class={`${prefixCls}-content`} visible={visible}>\n {this.$slots.default}\n </LazyRenderBox>\n </div>\n );\n },\n};\n","import Vue from 'vue';\nimport ref from 'vue-ref';\nimport PropTypes from '../_util/vue-types';\nimport contains from '../vc-util/Dom/contains';\nimport {\n hasProp,\n getComponentFromProp,\n getDataEvents,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport { requestAnimationTimeout, cancelAnimationTimeout } from '../_util/requestAnimationTimeout';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport warning from '../_util/warning';\nimport Popup from './Popup';\nimport { getAlignFromPlacement, getAlignPopupClassName, noop } from './utils';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement } from '../_util/vnode';\nimport ContainerRender from '../_util/ContainerRender';\n\nVue.use(ref, { name: 'ant-ref' });\n\nfunction returnEmptyString() {\n return '';\n}\n\nfunction returnDocument() {\n return window.document;\n}\nconst ALL_HANDLERS = [\n 'click',\n 'mousedown',\n 'touchstart',\n 'mouseenter',\n 'mouseleave',\n 'focus',\n 'blur',\n 'contextmenu',\n];\n\nexport default {\n name: 'Trigger',\n mixins: [BaseMixin],\n props: {\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]).def([]),\n showAction: PropTypes.any.def([]),\n hideAction: PropTypes.any.def([]),\n getPopupClassNameFromAlign: PropTypes.any.def(returnEmptyString),\n // onPopupVisibleChange: PropTypes.func.def(noop),\n afterPopupVisibleChange: PropTypes.func.def(noop),\n popup: PropTypes.any,\n popupStyle: PropTypes.object.def(() => ({})),\n prefixCls: PropTypes.string.def('rc-trigger-popup'),\n popupClassName: PropTypes.string.def(''),\n popupPlacement: PropTypes.string,\n builtinPlacements: PropTypes.object,\n popupTransitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n popupAnimation: PropTypes.any,\n mouseEnterDelay: PropTypes.number.def(0),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n zIndex: PropTypes.number,\n focusDelay: PropTypes.number.def(0),\n blurDelay: PropTypes.number.def(0.15),\n getPopupContainer: PropTypes.func,\n getDocument: PropTypes.func.def(returnDocument),\n forceRender: PropTypes.bool,\n destroyPopupOnHide: PropTypes.bool.def(false),\n mask: PropTypes.bool.def(false),\n maskClosable: PropTypes.bool.def(true),\n // onPopupAlign: PropTypes.func.def(noop),\n popupAlign: PropTypes.object.def(() => ({})),\n popupVisible: PropTypes.bool,\n defaultPopupVisible: PropTypes.bool.def(false),\n maskTransitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n maskAnimation: PropTypes.string,\n stretch: PropTypes.string,\n alignPoint: PropTypes.bool, // Maybe we can support user pass position in the future\n },\n provide() {\n return {\n vcTriggerContext: this,\n };\n },\n inject: {\n vcTriggerContext: { default: () => ({}) },\n savePopupRef: { default: () => noop },\n dialogContext: { default: () => null },\n },\n data() {\n const props = this.$props;\n let popupVisible;\n if (hasProp(this, 'popupVisible')) {\n popupVisible = !!props.popupVisible;\n } else {\n popupVisible = !!props.defaultPopupVisible;\n }\n ALL_HANDLERS.forEach(h => {\n this[`fire${h}`] = e => {\n this.fireEvents(h, e);\n };\n });\n return {\n prevPopupVisible: popupVisible,\n sPopupVisible: popupVisible,\n point: null,\n };\n },\n watch: {\n popupVisible(val) {\n if (val !== undefined) {\n this.prevPopupVisible = this.sPopupVisible;\n this.sPopupVisible = val;\n }\n },\n },\n deactivated() {\n this.setPopupVisible(false);\n },\n mounted() {\n this.$nextTick(() => {\n this.renderComponent(null);\n this.updatedCal();\n });\n },\n\n updated() {\n const triggerAfterPopupVisibleChange = () => {\n if (this.sPopupVisible !== this.prevPopupVisible) {\n this.afterPopupVisibleChange(this.sPopupVisible);\n }\n this.prevPopupVisible = this.sPopupVisible;\n };\n this.renderComponent(null, triggerAfterPopupVisibleChange);\n this.$nextTick(() => {\n this.updatedCal();\n });\n },\n\n beforeDestroy() {\n this.clearDelayTimer();\n this.clearOutsideHandler();\n clearTimeout(this.mouseDownTimeout);\n },\n methods: {\n updatedCal() {\n const props = this.$props;\n const state = this.$data;\n\n // We must listen to `mousedown` or `touchstart`, edge case:\n // https://github.com/ant-design/ant-design/issues/5804\n // https://github.com/react-component/calendar/issues/250\n // https://github.com/react-component/trigger/issues/50\n if (state.sPopupVisible) {\n let currentDocument;\n if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextmenuToShow())) {\n currentDocument = props.getDocument();\n this.clickOutsideHandler = addEventListener(\n currentDocument,\n 'mousedown',\n this.onDocumentClick,\n );\n }\n // always hide on mobile\n if (!this.touchOutsideHandler) {\n currentDocument = currentDocument || props.getDocument();\n this.touchOutsideHandler = addEventListener(\n currentDocument,\n 'touchstart',\n this.onDocumentClick,\n );\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(\n currentDocument,\n 'scroll',\n this.onContextmenuClose,\n );\n }\n // close popup when trigger type contains 'onContextmenu' and window is blur.\n if (!this.contextmenuOutsideHandler2 && this.isContextmenuToShow()) {\n this.contextmenuOutsideHandler2 = addEventListener(\n window,\n 'blur',\n this.onContextmenuClose,\n );\n }\n } else {\n this.clearOutsideHandler();\n }\n },\n onMouseenter(e) {\n const { mouseEnterDelay } = this.$props;\n this.fireEvents('mouseenter', e);\n this.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n },\n\n onMouseMove(e) {\n this.fireEvents('mousemove', e);\n this.setPoint(e);\n },\n\n onMouseleave(e) {\n this.fireEvents('mouseleave', e);\n this.delaySetPopupVisible(false, this.$props.mouseLeaveDelay);\n },\n\n onPopupMouseenter() {\n this.clearDelayTimer();\n },\n\n onPopupMouseleave(e) {\n if (\n e &&\n e.relatedTarget &&\n !e.relatedTarget.setTimeout &&\n this._component &&\n this._component.getPopupDomNode &&\n contains(this._component.getPopupDomNode(), e.relatedTarget)\n ) {\n return;\n }\n this.delaySetPopupVisible(false, this.$props.mouseLeaveDelay);\n },\n\n onFocus(e) {\n this.fireEvents('focus', 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('mousedown', e);\n this.preClickTime = Date.now();\n },\n\n onTouchstart(e) {\n this.fireEvents('touchstart', e);\n this.preTouchTime = Date.now();\n },\n\n onBlur(e) {\n if (!contains(e.target, e.relatedTarget || document.activeElement)) {\n this.fireEvents('blur', e);\n this.clearDelayTimer();\n if (this.isBlurToHide()) {\n this.delaySetPopupVisible(false, this.$props.blurDelay);\n }\n }\n },\n\n onContextmenu(e) {\n e.preventDefault();\n this.fireEvents('contextmenu', e);\n this.setPopupVisible(true, e);\n },\n\n onContextmenuClose() {\n if (this.isContextmenuToShow()) {\n this.close();\n }\n },\n\n onClick(event) {\n this.fireEvents('click', 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 // Only prevent default when all the action is click.\n // https://github.com/ant-design/ant-design/issues/17043\n // https://github.com/ant-design/ant-design/issues/17291\n if (\n this.isClickToShow() &&\n (this.isClickToHide() || this.isBlurToHide()) &&\n event &&\n event.preventDefault\n ) {\n event.preventDefault();\n }\n if (event && event.domEvent) {\n event.domEvent.preventDefault();\n }\n const nextVisible = !this.$data.sPopupVisible;\n if ((this.isClickToHide() && !nextVisible) || (nextVisible && this.isClickToShow())) {\n this.setPopupVisible(!this.$data.sPopupVisible, event);\n }\n },\n onPopupMouseDown(...args) {\n const { vcTriggerContext = {} } = this;\n this.hasPopupMouseDown = true;\n\n clearTimeout(this.mouseDownTimeout);\n this.mouseDownTimeout = setTimeout(() => {\n this.hasPopupMouseDown = false;\n }, 0);\n\n if (vcTriggerContext.onPopupMouseDown) {\n vcTriggerContext.onPopupMouseDown(...args);\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 = this.$el;\n if (!contains(root, target) && !this.hasPopupMouseDown) {\n this.close();\n }\n },\n getPopupDomNode() {\n if (this._component && this._component.getPopupDomNode) {\n return this._component.getPopupDomNode();\n }\n return null;\n },\n\n getRootDomNode() {\n return this.$el;\n // return this.$el.children[0] || this.$el\n },\n\n handleGetPopupClassFromAlign(align) {\n const className = [];\n const props = this.$props;\n const {\n popupPlacement,\n builtinPlacements,\n prefixCls,\n alignPoint,\n getPopupClassNameFromAlign,\n } = props;\n if (popupPlacement && builtinPlacements) {\n className.push(getAlignPopupClassName(builtinPlacements, prefixCls, align, alignPoint));\n }\n if (getPopupClassNameFromAlign) {\n className.push(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 savePopup(node) {\n this._component = node;\n this.savePopupRef(node);\n },\n getComponent() {\n const self = this;\n const mouseProps = {};\n if (this.isMouseEnterToShow()) {\n mouseProps.mouseenter = self.onPopupMouseenter;\n }\n if (this.isMouseLeaveToHide()) {\n mouseProps.mouseleave = self.onPopupMouseleave;\n }\n mouseProps.mousedown = this.onPopupMouseDown;\n mouseProps.touchstart = this.onPopupMouseDown;\n const { handleGetPopupClassFromAlign, getRootDomNode, getContainer } = self;\n const {\n prefixCls,\n destroyPopupOnHide,\n popupClassName,\n action,\n popupAnimation,\n popupTransitionName,\n popupStyle,\n mask,\n maskAnimation,\n maskTransitionName,\n zIndex,\n stretch,\n alignPoint,\n } = self.$props;\n const { sPopupVisible, point } = this.$data;\n const align = this.getPopupAlign();\n const popupProps = {\n props: {\n prefixCls,\n destroyPopupOnHide,\n visible: sPopupVisible,\n point: alignPoint && point,\n action,\n align,\n animation: popupAnimation,\n getClassNameFromAlign: handleGetPopupClassFromAlign,\n stretch,\n getRootDomNode,\n mask,\n zIndex,\n transitionName: popupTransitionName,\n maskAnimation,\n maskTransitionName,\n getContainer,\n popupClassName,\n popupStyle,\n },\n on: {\n align: getListeners(this).popupAlign || noop,\n ...mouseProps,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.savePopup,\n },\n ],\n };\n return <Popup {...popupProps}>{getComponentFromProp(self, 'popup')}</Popup>;\n },\n\n getContainer() {\n const { $props: props, dialogContext } = 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\n ? props.getPopupContainer(this.$el, dialogContext)\n : props.getDocument().body;\n mountNode.appendChild(popupContainer);\n this.popupContainer = popupContainer;\n return popupContainer;\n },\n\n setPopupVisible(sPopupVisible, event) {\n const { alignPoint, sPopupVisible: prevPopupVisible } = this;\n this.clearDelayTimer();\n if (prevPopupVisible !== sPopupVisible) {\n if (!hasProp(this, 'popupVisible')) {\n this.setState({\n sPopupVisible,\n prevPopupVisible,\n });\n }\n const listeners = getListeners(this);\n listeners.popupVisibleChange && listeners.popupVisibleChange(sPopupVisible);\n }\n // Always record the point position since mouseEnterDelay will delay the show\n if (alignPoint && event) {\n this.setPoint(event);\n }\n },\n\n setPoint(point) {\n const { alignPoint } = this.$props;\n if (!alignPoint || !point) return;\n\n this.setState({\n point: {\n pageX: point.pageX,\n pageY: point.pageY,\n },\n });\n },\n\n delaySetPopupVisible(visible, delayS, event) {\n const delay = delayS * 1000;\n this.clearDelayTimer();\n if (delay) {\n const point = event ? { pageX: event.pageX, pageY: event.pageY } : null;\n this.delayTimer = requestAnimationTimeout(() => {\n this.setPopupVisible(visible, point);\n this.clearDelayTimer();\n }, delay);\n } else {\n this.setPopupVisible(visible, event);\n }\n },\n\n clearDelayTimer() {\n if (this.delayTimer) {\n cancelAnimationTimeout(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 let fn = () => {};\n const events = getListeners(this);\n if (this.childOriginEvents[event] && events[event]) {\n return this[`fire${event}`];\n }\n fn = this.childOriginEvents[event] || events[event] || fn;\n return fn;\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 forcePopupAlign() {\n if (this.$data.sPopupVisible && this._component && this._component.$refs.alignInstance) {\n this._component.$refs.alignInstance.forceAlign();\n }\n },\n fireEvents(type, e) {\n if (this.childOriginEvents[type]) {\n this.childOriginEvents[type](e);\n }\n this.__emit(type, e);\n },\n\n close() {\n this.setPopupVisible(false);\n },\n },\n render() {\n const { sPopupVisible } = this;\n const children = filterEmpty(this.$slots.default);\n const { forceRender, alignPoint } = this.$props;\n\n if (children.length > 1) {\n warning(false, 'Trigger $slots.default.length > 1, just support only one default', true);\n }\n const child = children[0];\n this.childOriginEvents = getDataEvents(child);\n const newChildProps = {\n props: {},\n nativeOn: {},\n key: 'trigger',\n };\n\n if (this.isContextmenuToShow()) {\n newChildProps.nativeOn.contextmenu = this.onContextmenu;\n } else {\n newChildProps.nativeOn.contextmenu = this.createTwoChains('contextmenu');\n }\n\n if (this.isClickToHide() || this.isClickToShow()) {\n newChildProps.nativeOn.click = this.onClick;\n newChildProps.nativeOn.mousedown = this.onMousedown;\n newChildProps.nativeOn.touchstart = this.onTouchstart;\n } else {\n newChildProps.nativeOn.click = this.createTwoChains('click');\n newChildProps.nativeOn.mousedown = this.createTwoChains('mousedown');\n newChildProps.nativeOn.touchstart = this.createTwoChains('onTouchstart');\n }\n if (this.isMouseEnterToShow()) {\n newChildProps.nativeOn.mouseenter = this.onMouseenter;\n if (alignPoint) {\n newChildProps.nativeOn.mousemove = this.onMouseMove;\n }\n } else {\n newChildProps.nativeOn.mouseenter = this.createTwoChains('mouseenter');\n }\n if (this.isMouseLeaveToHide()) {\n newChildProps.nativeOn.mouseleave = this.onMouseleave;\n } else {\n newChildProps.nativeOn.mouseleave = this.createTwoChains('mouseleave');\n }\n\n if (this.isFocusToShow() || this.isBlurToHide()) {\n newChildProps.nativeOn.focus = this.onFocus;\n newChildProps.nativeOn.blur = this.onBlur;\n } else {\n newChildProps.nativeOn.focus = this.createTwoChains('focus');\n newChildProps.nativeOn.blur = e => {\n if (e && (!e.relatedTarget || !contains(e.target, e.relatedTarget))) {\n this.createTwoChains('blur')(e);\n }\n };\n }\n\n this.trigger = cloneElement(child, newChildProps);\n\n return (\n <ContainerRender\n parent={this}\n visible={sPopupVisible}\n autoMount={false}\n forceRender={forceRender}\n getComponent={this.getComponent}\n getContainer={this.getContainer}\n children={({ renderComponent }) => {\n this.renderComponent = renderComponent;\n return this.trigger;\n }}\n />\n );\n },\n};\n","// based on rc-trigger 2.6.5\nimport Trigger from './Trigger';\nexport default Trigger;\n","function isPointsEq(a1, a2, isAlignPoint) {\n if (isAlignPoint) {\n return a1[0] === a2[0];\n }\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 getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n const points = align.points;\n for (const placement in builtinPlacements) {\n if (builtinPlacements.hasOwnProperty(placement)) {\n if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n return `${prefixCls}-placement-${placement}`;\n }\n }\n }\n return '';\n}\nexport function noop() {}\n","// rc-upload 2.9.4\nimport upload from './src';\n\nexport default upload;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport partition from 'lodash/partition';\nimport classNames from 'classnames';\nimport defaultRequest from './request';\nimport getUid from './uid';\nimport attrAccept from './attr-accept';\nimport traverseFileTree from './traverseFileTree';\nimport { getListeners } from '../../_util/props-util';\n\nconst upLoadPropTypes = {\n componentTag: PropTypes.string,\n // style: PropTypes.object,\n prefixCls: PropTypes.string,\n name: PropTypes.string,\n // className: PropTypes.string,\n multiple: PropTypes.bool,\n directory: PropTypes.bool,\n disabled: PropTypes.bool,\n accept: PropTypes.string,\n // children: PropTypes.any,\n // onStart: PropTypes.func,\n data: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n headers: PropTypes.object,\n beforeUpload: PropTypes.func,\n customRequest: PropTypes.func,\n // onProgress: PropTypes.func,\n withCredentials: PropTypes.bool,\n openFileDialogOnClick: PropTypes.bool,\n transformFile: PropTypes.func,\n method: PropTypes.string,\n};\n\nconst AjaxUploader = {\n inheritAttrs: false,\n name: 'ajaxUploader',\n mixins: [BaseMixin],\n props: upLoadPropTypes,\n data() {\n this.reqs = {};\n return {\n uid: getUid(),\n };\n },\n mounted() {\n this._isMounted = true;\n },\n beforeDestroy() {\n this._isMounted = false;\n this.abort();\n },\n methods: {\n onChange(e) {\n const files = e.target.files;\n this.uploadFiles(files);\n this.reset();\n },\n onClick() {\n const el = this.$refs.fileInputRef;\n if (!el) {\n return;\n }\n el.click();\n },\n onKeyDown(e) {\n if (e.key === 'Enter') {\n this.onClick();\n }\n },\n onFileDrop(e) {\n const { multiple } = this.$props;\n e.preventDefault();\n if (e.type === 'dragover') {\n return;\n }\n if (this.directory) {\n traverseFileTree(e.dataTransfer.items, this.uploadFiles, _file =>\n attrAccept(_file, this.accept),\n );\n } else {\n let files = partition(Array.prototype.slice.call(e.dataTransfer.files), file =>\n attrAccept(file, this.accept),\n );\n let successFiles = files[0];\n const errorFiles = files[1];\n if (multiple === false) {\n successFiles = successFiles.slice(0, 1);\n }\n this.uploadFiles(successFiles);\n\n if (errorFiles.length) {\n this.$emit('reject', errorFiles);\n }\n }\n },\n uploadFiles(files) {\n const postFiles = Array.prototype.slice.call(files);\n postFiles\n .map(file => {\n file.uid = getUid();\n return file;\n })\n .forEach(file => {\n this.upload(file, postFiles);\n });\n },\n upload(file, fileList) {\n if (!this.beforeUpload) {\n // always async in case use react state to keep fileList\n return setTimeout(() => this.post(file), 0);\n }\n\n const before = this.beforeUpload(file, fileList);\n if (before && before.then) {\n before\n .then(processedFile => {\n const processedFileType = Object.prototype.toString.call(processedFile);\n if (processedFileType === '[object File]' || processedFileType === '[object Blob]') {\n return this.post(processedFile);\n }\n return 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 post(file) {\n if (!this._isMounted) {\n return;\n }\n const { $props: props } = this;\n let { data } = props;\n const { transformFile = originFile => originFile } = props;\n\n new Promise(resolve => {\n const { action } = this;\n if (typeof action === 'function') {\n return resolve(action(file));\n }\n resolve(action);\n }).then(action => {\n const { uid } = file;\n const request = this.customRequest || defaultRequest;\n const transform = Promise.resolve(transformFile(file)).catch(e => {\n console.error(e); // eslint-disable-line no-console\n });\n transform.then(transformedFile => {\n if (typeof data === 'function') {\n data = data(file);\n }\n\n const requestOption = {\n action,\n filename: this.name,\n data,\n file: transformedFile,\n headers: this.headers,\n withCredentials: this.withCredentials,\n method: props.method || 'post',\n onProgress: e => {\n this.$emit('progress', e, file);\n },\n onSuccess: (ret, xhr) => {\n delete this.reqs[uid];\n this.$emit('success', ret, file, xhr);\n },\n onError: (err, ret) => {\n delete this.reqs[uid];\n this.$emit('error', err, ret, file);\n },\n };\n this.reqs[uid] = request(requestOption);\n this.$emit('start', file);\n });\n });\n },\n reset() {\n this.setState({\n uid: getUid(),\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] && reqs[uid].abort) {\n reqs[uid].abort();\n }\n delete reqs[uid];\n } else {\n Object.keys(reqs).forEach(uid => {\n if (reqs[uid] && reqs[uid].abort) {\n reqs[uid].abort();\n }\n\n delete reqs[uid];\n });\n }\n },\n },\n\n render() {\n const { $props, $attrs } = this;\n const {\n componentTag: Tag,\n prefixCls,\n disabled,\n multiple,\n accept,\n directory,\n openFileDialogOnClick,\n } = $props;\n const cls = classNames({\n [prefixCls]: true,\n [`${prefixCls}-disabled`]: disabled,\n });\n const events = disabled\n ? {}\n : {\n click: openFileDialogOnClick ? this.onClick : () => {},\n keydown: openFileDialogOnClick ? this.onKeyDown : () => {},\n drop: this.onFileDrop,\n dragover: this.onFileDrop,\n };\n const tagProps = {\n on: {\n ...getListeners(this),\n ...events,\n },\n attrs: {\n role: 'button',\n tabIndex: disabled ? null : '0',\n },\n class: cls,\n };\n return (\n <Tag {...tagProps}>\n <input\n id={$attrs.id}\n type=\"file\"\n ref=\"fileInputRef\"\n onClick={e => e.stopPropagation()} // https://github.com/ant-design/ant-design/issues/19948\n key={this.uid}\n style={{ display: 'none' }}\n accept={accept}\n directory={directory ? 'directory' : null}\n webkitdirectory={directory ? 'webkitdirectory' : null}\n multiple={multiple}\n onChange={this.onChange}\n />\n {this.$slots.default}\n </Tag>\n );\n },\n};\n\nexport default AjaxUploader;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\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\nconst IframeUploader = {\n mixins: [BaseMixin],\n props: {\n componentTag: 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([PropTypes.object, PropTypes.func]),\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n name: PropTypes.string,\n },\n data() {\n this.file = {};\n return {\n uploading: false,\n };\n },\n methods: {\n onLoad() {\n if (!this.uploading) {\n return;\n }\n const { 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 this.$emit('success', response, file);\n } catch (err) {\n warning(\n false,\n 'cross domain error for Upload. Maybe server should return document.domain script. see Note from https://github.com/react-component/upload',\n );\n response = 'cross-domain';\n this.$emit('error', err, null, file);\n }\n this.endUpload();\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:\n target.value &&\n target.value.substring(target.value.lastIndexOf('\\\\') + 1, target.value.length),\n });\n this.startUpload();\n const { $props: 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 () => {\n this.post(file);\n },\n () => {\n this.endUpload();\n },\n );\n } else if (before !== false) {\n this.post(file);\n } else {\n this.endUpload();\n }\n },\n getIframeNode() {\n return this.$refs.iframeRef;\n },\n getIframeDocument() {\n return this.getIframeNode().contentDocument;\n },\n getFormNode() {\n return this.getIframeDocument().getElementById('form');\n },\n getFormInputNode() {\n return this.getIframeDocument().getElementById('input');\n },\n getFormDataNode() {\n return this.getIframeDocument().getElementById('data');\n },\n getFileForMultiple(file) {\n return this.multiple ? [file] : file;\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=\"\" id=\"form\"\n style=\"display:block;height:9999px;position:relative;overflow:hidden;\">\n <input id=\"input\" type=\"file\"\n name=\"${this.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 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 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 endUpload() {\n if (this.uploading) {\n this.file = {};\n // hack avoid batch\n this.uploading = false;\n this.setState({\n uploading: false,\n });\n this.initIframe();\n }\n },\n startUpload() {\n if (!this.uploading) {\n this.uploading = true;\n this.setState({\n uploading: true,\n });\n }\n },\n updateIframeWH() {\n const rootNode = this.$el;\n const iframeNode = this.getIframeNode();\n iframeNode.style.height = `${rootNode.offsetHeight}px`;\n iframeNode.style.width = `${rootNode.offsetWidth}px`;\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 post(file) {\n const formNode = this.getFormNode();\n const dataSpan = this.getFormDataNode();\n let { data } = 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 new Promise(resolve => {\n const { action } = this;\n if (typeof action === 'function') {\n return resolve(action(file));\n }\n resolve(action);\n }).then(action => {\n formNode.setAttribute('action', action);\n formNode.submit();\n dataSpan.innerHTML = '';\n this.$emit('start', file);\n });\n },\n },\n mounted() {\n this.$nextTick(() => {\n this.updateIframeWH();\n this.initIframe();\n });\n },\n updated() {\n this.$nextTick(() => {\n this.updateIframeWH();\n });\n },\n\n render() {\n const { componentTag: Tag, disabled, prefixCls } = this.$props;\n const iframeStyle = {\n ...IFRAME_STYLE,\n display: this.uploading || disabled ? 'none' : '',\n };\n const cls = classNames({\n [prefixCls]: true,\n [`${prefixCls}-disabled`]: disabled,\n });\n\n return (\n <Tag className={cls} style={{ position: 'relative', zIndex: 0 }}>\n <iframe ref=\"iframeRef\" onLoad={this.onLoad} style={iframeStyle} />\n {this.$slots.default}\n </Tag>\n );\n },\n};\n\nexport default IframeUploader;\n","import PropTypes from '../../_util/vue-types';\nimport { initDefaultProps, getListeners } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport AjaxUpload from './AjaxUploader';\nimport IframeUpload from './IframeUploader';\n\nfunction empty() {}\n\nconst uploadProps = {\n componentTag: PropTypes.string,\n prefixCls: PropTypes.string,\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n name: PropTypes.string,\n multipart: PropTypes.bool,\n directory: PropTypes.bool,\n // onError: PropTypes.func,\n // onSuccess: PropTypes.func,\n // onProgress: PropTypes.func,\n // onStart: PropTypes.func,\n data: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\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 openFileDialogOnClick: PropTypes.bool,\n};\nexport default {\n name: 'Upload',\n mixins: [BaseMixin],\n inheritAttrs: false,\n props: initDefaultProps(uploadProps, {\n componentTag: '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: empty,\n withCredentials: false,\n openFileDialogOnClick: true,\n }),\n data() {\n return {\n Component: null,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.supportServerRender) {\n this.setState(\n {\n Component: this.getComponent(),\n },\n () => {\n this.$emit('ready');\n },\n );\n }\n });\n },\n methods: {\n getComponent() {\n return typeof File !== 'undefined' ? AjaxUpload : IframeUpload;\n },\n abort(file) {\n this.$refs.uploaderRef.abort(file);\n },\n },\n\n render() {\n const componentProps = {\n props: {\n ...this.$props,\n },\n on: getListeners(this),\n ref: 'uploaderRef',\n attrs: this.$attrs,\n };\n if (this.supportServerRender) {\n const ComponentUploader = this.Component;\n if (ComponentUploader) {\n return <ComponentUploader {...componentProps}>{this.$slots.default}</ComponentUploader>;\n }\n return null;\n }\n const ComponentUploader = this.getComponent();\n return <ComponentUploader {...componentProps}>{this.$slots.default}</ComponentUploader>;\n },\n};\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 ${option.method} ${option.action} ${xhr.status}'`;\n const err = new Error(msg);\n err.status = xhr.status;\n err.method = option.method;\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 window.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 window.FormData();\n\n if (option.data) {\n Object.keys(option.data).forEach(key => {\n const value = option.data[key];\n // support key-value array data\n if (Array.isArray(value)) {\n value.forEach(item => {\n // { list: [ 11, 22 ] }\n // formData.append('list[]', 11);\n formData.append(`${key}[]`, item);\n });\n return;\n }\n\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 xhr.open(option.method, 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","function loopFiles(item, callback) {\n const dirReader = item.createReader();\n let fileList = [];\n\n function sequence() {\n dirReader.readEntries(entries => {\n const entryList = Array.prototype.slice.apply(entries);\n fileList = fileList.concat(entryList);\n\n // Check if all the file has been viewed\n const isFinished = !entryList.length;\n\n if (isFinished) {\n callback(fileList);\n } else {\n sequence();\n }\n });\n }\n\n sequence();\n}\n\nconst traverseFileTree = (files, callback, isAccepted) => {\n const _traverseFileTree = (item, path) => {\n path = path || '';\n if (item.isFile) {\n item.file(file => {\n if (isAccepted(file)) {\n // https://github.com/ant-design/ant-design/issues/16426\n if (item.fullPath && !file.webkitRelativePath) {\n Object.defineProperties(file, {\n webkitRelativePath: {\n writable: true,\n },\n });\n file.webkitRelativePath = item.fullPath.replace(/^\\//, '');\n Object.defineProperties(file, {\n webkitRelativePath: {\n writable: false,\n },\n });\n }\n callback([file]);\n }\n });\n } else if (item.isDirectory) {\n loopFiles(item, entries => {\n entries.forEach(entryItem => {\n _traverseFileTree(entryItem, `${path}${item.name}/`);\n });\n });\n }\n };\n for (const file of files) {\n _traverseFileTree(file.webkitGetAsEntry());\n }\n};\n\nexport default traverseFileTree;\n","const now = +new Date();\nlet index = 0;\n\nexport default function uid() {\n return `vc-upload-${now}-${++index}`;\n}\n","import addDOMEventListener from 'add-dom-event-listener';\n\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n return addDOMEventListener(target, eventType, cb, option);\n}\n","export function hasClass(node, className) {\n if (node.classList) {\n return node.classList.contains(className);\n }\n const originClass = node.className;\n return ` ${originClass} `.indexOf(` ${className} `) > -1;\n}\n\nexport function addClass(node, className) {\n if (node.classList) {\n node.classList.add(className);\n } else {\n if (!hasClass(node, className)) {\n node.className = `${node.className} ${className}`;\n }\n }\n}\n\nexport function removeClass(node, className) {\n if (node.classList) {\n node.classList.remove(className);\n } else {\n if (hasClass(node, className)) {\n const originClass = node.className;\n node.className = ` ${originClass} `.replace(` ${className} `, ' ');\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","/* eslint-disable no-console */\nlet warned = {};\n\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(`Warning: ${message}`);\n }\n}\n\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(`Note: ${message}`);\n }\n}\n\nexport function resetWarned() {\n warned = {};\n}\n\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\n\nexport default warningOnce;\n/* eslint-enable */\n","import packageInfo from '../../package.json';\n\nexport default packageInfo.version;\n","// empty file prevent babel-plugin-import error\nimport '../../style/index.less';\n","/* eslint no-console:0 */\nfunction camelCase(name) {\n return (\n name.charAt(0).toUpperCase() +\n name.slice(1).replace(/-(\\w)/g, (m, n) => {\n return n.toUpperCase();\n })\n );\n}\n\n// Just import style for https://github.com/ant-design/ant-design/issues/3745\nconst req = require.context('./components', true, /^\\.\\/[^_][\\w-]+\\/style\\/index\\.js?$/);\n\nreq.keys().forEach(mod => {\n let v = req(mod);\n if (v && v.default) {\n v = v.default;\n }\n const match = mod.match(/^\\.\\/([^_][\\w-]+)\\/index\\.js?$/);\n if (match && match[1]) {\n if (match[1] === 'message' || match[1] === 'notification') {\n // message & notification should not be capitalized\n exports[match[1]] = v;\n } else {\n exports[camelCase(match[1])] = v;\n }\n }\n});\n\nmodule.exports = require('./components');\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tinycolor2_1 = __importDefault(require(\"tinycolor2\"));\nvar hueStep = 2; // 色相阶梯\nvar saturationStep = 16; // 饱和度阶梯,浅色部分\nvar saturationStep2 = 5; // 饱和度阶梯,深色部分\nvar brightnessStep1 = 5; // 亮度阶梯,浅色部分\nvar brightnessStep2 = 15; // 亮度阶梯,深色部分\nvar lightColorCount = 5; // 浅色数量,主色上\nvar darkColorCount = 4; // 深色数量,主色下\nfunction getHue(hsv, i, light) {\n var hue;\n // 根据色相不同,色相转向不同\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n }\n else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n if (hue < 0) {\n hue += 360;\n }\n else if (hue >= 360) {\n hue -= 360;\n }\n return hue;\n}\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n var saturation;\n if (light) {\n saturation = Math.round(hsv.s * 100) - saturationStep * i;\n }\n else if (i === darkColorCount) {\n saturation = Math.round(hsv.s * 100) + saturationStep;\n }\n else {\n saturation = Math.round(hsv.s * 100) + saturationStep2 * i;\n }\n // 边界值修正\n if (saturation > 100) {\n saturation = 100;\n }\n // 第一格的 s 限制在 6-10 之间\n if (light && i === lightColorCount && saturation > 10) {\n saturation = 10;\n }\n if (saturation < 6) {\n saturation = 6;\n }\n return saturation;\n}\nfunction getValue(hsv, i, light) {\n if (light) {\n return Math.round(hsv.v * 100) + brightnessStep1 * i;\n }\n return Math.round(hsv.v * 100) - brightnessStep2 * i;\n}\nfunction generate(color) {\n var patterns = [];\n var pColor = tinycolor2_1.default(color);\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = pColor.toHsv();\n var colorString = tinycolor2_1.default({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true),\n }).toHexString();\n patterns.push(colorString);\n }\n patterns.push(pColor.toHexString());\n for (var i = 1; i <= darkColorCount; i += 1) {\n var hsv = pColor.toHsv();\n var colorString = tinycolor2_1.default({\n h: getHue(hsv, i),\n s: getSaturation(hsv, i),\n v: getValue(hsv, i),\n }).toHexString();\n patterns.push(colorString);\n }\n return patterns;\n}\nexports.default = generate;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar generate_1 = __importDefault(require(\"./generate\"));\nexports.generate = generate_1.default;\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1890FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666',\n};\nexports.presetPrimaryColors = presetPrimaryColors;\nvar presetPalettes = {};\nexports.presetPalettes = presetPalettes;\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = generate_1.default(presetPrimaryColors[key]);\n presetPalettes[key].primary = presetPalettes[key][5];\n});\nvar red = presetPalettes.red;\nexports.red = red;\nvar volcano = presetPalettes.volcano;\nexports.volcano = volcano;\nvar gold = presetPalettes.gold;\nexports.gold = gold;\nvar orange = presetPalettes.orange;\nexports.orange = orange;\nvar yellow = presetPalettes.yellow;\nexports.yellow = yellow;\nvar lime = presetPalettes.lime;\nexports.lime = lime;\nvar green = presetPalettes.green;\nexports.green = green;\nvar cyan = presetPalettes.cyan;\nexports.cyan = cyan;\nvar blue = presetPalettes.blue;\nexports.blue = blue;\nvar geekblue = presetPalettes.geekblue;\nexports.geekblue = geekblue;\nvar purple = presetPalettes.purple;\nexports.purple = purple;\nvar magenta = presetPalettes.magenta;\nexports.magenta = magenta;\nvar grey = presetPalettes.grey;\nexports.grey = grey;\n","import _extends from 'babel-runtime/helpers/extends';\nimport { generate, getSecondaryColor, isIconDefinition, log, MiniMap, withSuffix } from '../utils';\n\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6'\n};\n\nvar Icon = {\n name: 'AntdIcon',\n props: ['type', 'primaryColor', 'secondaryColor'],\n displayName: 'IconVue',\n definitions: new MiniMap(),\n data: function data() {\n return {\n twoToneColorPalette: twoToneColorPalette\n };\n },\n add: function add() {\n for (var _len = arguments.length, icons = Array(_len), _key = 0; _key < _len; _key++) {\n icons[_key] = arguments[_key];\n }\n\n icons.forEach(function (icon) {\n Icon.definitions.set(withSuffix(icon.name, icon.theme), icon);\n });\n },\n clear: function clear() {\n Icon.definitions.clear();\n },\n get: function get(key) {\n var colors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : twoToneColorPalette;\n\n if (key) {\n var target = Icon.definitions.get(key);\n if (target && typeof target.icon === 'function') {\n target = _extends({}, target, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return target;\n }\n },\n setTwoToneColors: function setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n },\n getTwoToneColors: function getTwoToneColors() {\n return _extends({}, twoToneColorPalette);\n },\n render: function render(h) {\n var _$props = this.$props,\n type = _$props.type,\n primaryColor = _$props.primaryColor,\n secondaryColor = _$props.secondaryColor;\n\n\n var target = void 0;\n var colors = twoToneColorPalette;\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n if (isIconDefinition(type)) {\n target = type;\n } else if (typeof type === 'string') {\n target = Icon.get(type, colors);\n if (!target) {\n // log(`Could not find icon: ${type}`);\n return null;\n }\n }\n if (!target) {\n log('type should be string or icon definiton, but got ' + type);\n return null;\n }\n if (target && typeof target.icon === 'function') {\n target = _extends({}, target, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return generate(h, target.icon, 'svg-' + target.name, {\n attrs: {\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n },\n on: this.$listeners\n });\n }\n};\n\n/* istanbul ignore next */\nIcon.install = function (Vue) {\n Vue.component(Icon.name, Icon);\n};\n\nexport default Icon;","import Icon from './components/Icon';\n\nexport default Icon;","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport { generate as generateColor } from '@ant-design/colors';\n\nexport function log(message) {\n if (!(process && process.env && process.env.NODE_ENV === 'production')) {\n console.error('[@ant-design/icons-vue]: ' + message + '.');\n }\n}\n\nexport function isIconDefinition(target) {\n return typeof target === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (typeof target.icon === 'object' || typeof target.icon === 'function');\n}\n\nexport function normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc['class'];\n break;\n default:\n acc[key] = val;\n }\n return acc;\n }, {});\n}\n\nexport var MiniMap = function () {\n function MiniMap() {\n _classCallCheck(this, MiniMap);\n\n this.collection = {};\n }\n\n _createClass(MiniMap, [{\n key: 'clear',\n value: function clear() {\n this.collection = {};\n }\n }, {\n key: 'delete',\n value: function _delete(key) {\n return delete this.collection[key];\n }\n }, {\n key: 'get',\n value: function get(key) {\n return this.collection[key];\n }\n }, {\n key: 'has',\n value: function has(key) {\n return Boolean(this.collection[key]);\n }\n }, {\n key: 'set',\n value: function set(key, value) {\n this.collection[key] = value;\n return this;\n }\n }, {\n key: 'size',\n get: function get() {\n return Object.keys(this.collection).length;\n }\n }]);\n\n return MiniMap;\n}();\n\nexport function generate(h, node, key, rootProps) {\n if (!rootProps) {\n return h(node.tag, { key: key, attrs: _extends({}, normalizeAttrs(node.attrs)) }, (node.children || []).map(function (child, index) {\n return generate(h, child, key + '-' + node.tag + '-' + index);\n }));\n }\n return h(node.tag, _extends({\n key: key\n }, rootProps, {\n attrs: _extends({}, normalizeAttrs(node.attrs), rootProps.attrs)\n }), (node.children || []).map(function (child, index) {\n return generate(h, child, key + '-' + node.tag + '-' + index);\n }));\n}\n\nexport function getSecondaryColor(primaryColor) {\n // choose the second color\n return generateColor(primaryColor)[0];\n}\n\nexport function withSuffix(name, theme) {\n switch (theme) {\n case 'fill':\n return name + '-fill';\n case 'outline':\n return name + '-o';\n case 'twotone':\n return name + '-twotone';\n default:\n throw new TypeError('Unknown theme type: ' + theme + ', name: ' + name);\n }\n}","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar normalViewBox = '0 0 1024 1024';\nvar newViewBox = '64 64 896 896';\nvar fill = 'fill';\nvar outline = 'outline';\nvar twotone = 'twotone';\nfunction getNode(viewBox) {\n var paths = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n paths[_i - 1] = arguments[_i];\n }\n return {\n tag: 'svg',\n attrs: { viewBox: viewBox, focusable: false },\n children: paths.map(function (path) {\n if (Array.isArray(path)) {\n return {\n tag: 'path',\n attrs: {\n fill: path[0],\n d: path[1]\n }\n };\n }\n return {\n tag: 'path',\n attrs: {\n d: path\n }\n };\n })\n };\n}\nfunction getIcon(name, theme, icon) {\n return {\n name: name,\n theme: theme,\n icon: icon\n };\n}\nexports.AccountBookFill = getIcon('account-book', fill, getNode(newViewBox, 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zM648.3 426.8l-87.7 161.1h45.7c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4v29.7h63.4c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4V752c0 5.5-4.5 10-10 10h-41.3c-5.5 0-10-4.5-10-10v-51.8h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h63.1v-29.7h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h45.2l-88-161.1c-2.6-4.8-.9-10.9 4-13.6 1.5-.8 3.1-1.2 4.8-1.2h46c3.8 0 7.2 2.1 8.9 5.5l72.9 144.3 73.2-144.3a10 10 0 0 1 8.9-5.5h45c5.5 0 10 4.5 10 10 .1 1.7-.3 3.3-1.1 4.8z'));\nexports.AlertFill = getIcon('alert', fill, getNode(newViewBox, 'M512 244c176.18 0 319 142.82 319 319v233a32 32 0 0 1-32 32H225a32 32 0 0 1-32-32V563c0-176.18 142.82-319 319-319zM484 68h56a8 8 0 0 1 8 8v96a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8V76a8 8 0 0 1 8-8zM177.25 191.66a8 8 0 0 1 11.32 0l67.88 67.88a8 8 0 0 1 0 11.31l-39.6 39.6a8 8 0 0 1-11.31 0l-67.88-67.88a8 8 0 0 1 0-11.31l39.6-39.6zm669.6 0l39.6 39.6a8 8 0 0 1 0 11.3l-67.88 67.9a8 8 0 0 1-11.32 0l-39.6-39.6a8 8 0 0 1 0-11.32l67.89-67.88a8 8 0 0 1 11.31 0zM192 892h640a32 32 0 0 1 32 32v24a8 8 0 0 1-8 8H168a8 8 0 0 1-8-8v-24a32 32 0 0 1 32-32zm148-317v253h64V575h-64z'));\nexports.AlipaySquareFill = getIcon('alipay-square', fill, getNode(newViewBox, 'M308.6 545.7c-19.8 2-57.1 10.7-77.4 28.6-61 53-24.5 150 99 150 71.8 0 143.5-45.7 199.8-119-80.2-38.9-148.1-66.8-221.4-59.6zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm29.4 663.2S703 689.4 598.7 639.5C528.8 725.2 438.6 777.3 345 777.3c-158.4 0-212.1-138.1-137.2-229 16.3-19.8 44.2-38.7 87.3-49.4 67.5-16.5 175 10.3 275.7 43.4 18.1-33.3 33.4-69.9 44.7-108.9H305.1V402h160v-56.2H271.3v-31.3h193.8v-80.1s0-13.5 13.7-13.5H557v93.6h191.7v31.3H557.1V402h156.4c-15 61.1-37.7 117.4-66.2 166.8 47.5 17.1 90.1 33.3 121.8 43.9 114.3 38.2 140.2 40.2 140.2 40.2v122.3z'));\nexports.AliwangwangFill = getIcon('aliwangwang', fill, getNode(newViewBox, 'M868.2 377.4c-18.9-45.1-46.3-85.6-81.2-120.6a377.26 377.26 0 0 0-120.5-81.2A375.65 375.65 0 0 0 519 145.8c-41.9 0-82.9 6.7-121.9 20C306 123.3 200.8 120 170.6 120c-2.2 0-7.4 0-9.4.2-11.9.4-22.8 6.5-29.2 16.4-6.5 9.9-7.7 22.4-3.4 33.5l64.3 161.6a378.59 378.59 0 0 0-52.8 193.2c0 51.4 10 101 29.8 147.6 18.9 45 46.2 85.6 81.2 120.5 34.7 34.8 75.4 62.1 120.5 81.2C418.3 894 467.9 904 519 904c51.3 0 100.9-10 147.7-29.8 44.9-18.9 85.5-46.3 120.4-81.2 34.7-34.8 62.1-75.4 81.2-120.6a376.5 376.5 0 0 0 29.8-147.6c-.2-51.2-10.1-100.8-29.9-147.4zm-325.2 79c0 20.4-16.6 37.1-37.1 37.1-20.4 0-37.1-16.7-37.1-37.1v-55.1c0-20.4 16.6-37.1 37.1-37.1 20.4 0 37.1 16.6 37.1 37.1v55.1zm175.2 0c0 20.4-16.6 37.1-37.1 37.1S644 476.8 644 456.4v-55.1c0-20.4 16.7-37.1 37.1-37.1 20.4 0 37.1 16.6 37.1 37.1v55.1z'));\nexports.AlipayCircleFill = getIcon('alipay-circle', fill, getNode(newViewBox, 'M308.6 545.7c-19.8 2-57.1 10.7-77.4 28.6-61 53-24.5 150 99 150 71.8 0 143.5-45.7 199.8-119-80.2-38.9-148.1-66.8-221.4-59.6zm460.5 67c100.1 33.4 154.7 43 166.7 44.8A445.9 445.9 0 0 0 960 512c0-247.4-200.6-448-448-448S64 264.6 64 512s200.6 448 448 448c155.9 0 293.2-79.7 373.5-200.5-75.6-29.8-213.6-85-286.8-120.1-69.9 85.7-160.1 137.8-253.7 137.8-158.4 0-212.1-138.1-137.2-229 16.3-19.8 44.2-38.7 87.3-49.4 67.5-16.5 175 10.3 275.7 43.4 18.1-33.3 33.4-69.9 44.7-108.9H305.1V402h160v-56.2H271.3v-31.3h193.8v-80.1s0-13.5 13.7-13.5H557v93.6h191.7v31.3H557.1V402h156.4c-15 61.1-37.7 117.4-66.2 166.8 47.5 17.1 90.1 33.3 121.8 43.9z'));\nexports.AmazonCircleFill = getIcon('amazon-circle', fill, getNode(newViewBox, 'M485 467.5c-11.6 4.9-20.9 12.2-27.8 22-6.9 9.8-10.4 21.6-10.4 35.5 0 17.8 7.5 31.5 22.4 41.2 14.1 9.1 28.9 11.4 44.4 6.8 17.9-5.2 30-17.9 36.4-38.1 3-9.3 4.5-19.7 4.5-31.3v-50.2c-12.6.4-24.4 1.6-35.5 3.7-11.1 2.1-22.4 5.6-34 10.4zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm35.8 262.7c-7.2-10.9-20.1-16.4-38.7-16.4-1.3 0-3 .1-5.3.3-2.2.2-6.6 1.5-12.9 3.7a79.4 79.4 0 0 0-17.9 9.1c-5.5 3.8-11.5 10-18 18.4-6.4 8.5-11.5 18.4-15.3 29.8l-94-8.4c0-12.4 2.4-24.7 7-36.9 4.7-12.2 11.8-23.9 21.4-35 9.6-11.2 21.1-21 34.5-29.4 13.4-8.5 29.6-15.2 48.4-20.3 18.9-5.1 39.1-7.6 60.9-7.6 21.3 0 40.6 2.6 57.8 7.7 17.2 5.2 31.1 11.5 41.4 19.1a117 117 0 0 1 25.9 25.7c6.9 9.6 11.7 18.5 14.4 26.7 2.7 8.2 4 15.7 4 22.8v182.5c0 6.4 1.4 13 4.3 19.8 2.9 6.8 6.3 12.8 10.2 18 3.9 5.2 7.9 9.9 12 14.3 4.1 4.3 7.6 7.7 10.6 9.9l4.1 3.4-72.5 69.4c-8.5-7.7-16.9-15.4-25.2-23.4-8.3-8-14.5-14-18.5-18.1l-6.1-6.2c-2.4-2.3-5-5.7-8-10.2-8.1 12.2-18.5 22.8-31.1 31.8-12.7 9-26.3 15.6-40.7 19.7-14.5 4.1-29.4 6.5-44.7 7.1-15.3.6-30-1.5-43.9-6.5-13.9-5-26.5-11.7-37.6-20.3-11.1-8.6-19.9-20.2-26.5-35-6.6-14.8-9.9-31.5-9.9-50.4 0-17.4 3-33.3 8.9-47.7 6-14.5 13.6-26.5 23-36.1 9.4-9.6 20.7-18.2 34-25.7s26.4-13.4 39.2-17.7c12.8-4.2 26.6-7.8 41.5-10.7 14.9-2.9 27.6-4.8 38.2-5.7 10.6-.9 21.2-1.6 31.8-2v-39.4c0-13.5-2.3-23.5-6.7-30.1zm180.5 379.6c-2.8 3.3-7.5 7.8-14.1 13.5s-16.8 12.7-30.5 21.1c-13.7 8.4-28.8 16-45 22.9-16.3 6.9-36.3 12.9-60.1 18-23.7 5.1-48.2 7.6-73.3 7.6-25.4 0-50.7-3.2-76.1-9.6-25.4-6.4-47.6-14.3-66.8-23.7-19.1-9.4-37.6-20.2-55.1-32.2-17.6-12.1-31.7-22.9-42.4-32.5-10.6-9.6-19.6-18.7-26.8-27.1-1.7-1.9-2.8-3.6-3.2-5.1-.4-1.5-.3-2.8.3-3.7.6-.9 1.5-1.6 2.6-2.2a7.42 7.42 0 0 1 7.4.8c40.9 24.2 72.9 41.3 95.9 51.4 82.9 36.4 168 45.7 255.3 27.9 40.5-8.3 82.1-22.2 124.9-41.8 3.2-1.2 6-1.5 8.3-.9 2.3.6 3.5 2.4 3.5 5.4 0 2.8-1.6 6.3-4.8 10.2zm59.9-29c-1.8 11.1-4.9 21.6-9.1 31.8-7.2 17.1-16.3 30-27.1 38.4-3.6 2.9-6.4 3.8-8.3 2.8-1.9-1-1.9-3.5 0-7.4 4.5-9.3 9.2-21.8 14.2-37.7 5-15.8 5.7-26 2.1-30.5-1.1-1.5-2.7-2.6-5-3.6-2.2-.9-5.1-1.5-8.6-1.9s-6.7-.6-9.4-.8c-2.8-.2-6.5-.2-11.2 0-4.7.2-8 .4-10.1.6a874.4 874.4 0 0 1-17.1 1.5c-1.3.2-2.7.4-4.1.5-1.5.1-2.7.2-3.5.3l-2.7.3c-1 .1-1.7.2-2.2.2h-3.2l-1-.2-.6-.5-.5-.9c-1.3-3.3 3.7-7.4 15-12.4s22.3-8.1 32.9-9.3c9.8-1.5 21.3-1.5 34.5-.3s21.3 3.7 24.3 7.4c2.3 3.5 2.5 10.7.7 21.7z'));\nexports.AndroidFill = getIcon('android', fill, getNode(newViewBox, 'M270.1 741.7c0 23.4 19.1 42.5 42.6 42.5h48.7v120.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V784.1h85v120.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V784.1h48.7c23.5 0 42.6-19.1 42.6-42.5V346.4h-486v395.3zm357.1-600.1l44.9-65c2.6-3.8 2-8.9-1.5-11.4-3.5-2.4-8.5-1.2-11.1 2.6l-46.6 67.6c-30.7-12.1-64.9-18.8-100.8-18.8-35.9 0-70.1 6.7-100.8 18.8l-46.6-67.5c-2.6-3.8-7.6-5.1-11.1-2.6-3.5 2.4-4.1 7.4-1.5 11.4l44.9 65c-71.4 33.2-121.4 96.1-127.8 169.6h486c-6.6-73.6-56.7-136.5-128-169.7zM409.5 244.1a26.9 26.9 0 1 1 26.9-26.9 26.97 26.97 0 0 1-26.9 26.9zm208.4 0a26.9 26.9 0 1 1 26.9-26.9 26.97 26.97 0 0 1-26.9 26.9zm223.4 100.7c-30.2 0-54.6 24.8-54.6 55.4v216.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V400.1c.1-30.6-24.3-55.3-54.6-55.3zm-658.6 0c-30.2 0-54.6 24.8-54.6 55.4v216.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V400.1c0-30.6-24.5-55.3-54.6-55.3z'));\nexports.AmazonSquareFill = getIcon('amazon-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM547.8 326.7c-7.2-10.9-20.1-16.4-38.7-16.4-1.3 0-3 .1-5.3.3-2.2.2-6.6 1.5-12.9 3.7a79.4 79.4 0 0 0-17.9 9.1c-5.5 3.8-11.5 10-18 18.4-6.4 8.5-11.5 18.4-15.3 29.8l-94-8.4c0-12.4 2.4-24.7 7-36.9s11.8-23.9 21.4-35c9.6-11.2 21.1-21 34.5-29.4 13.4-8.5 29.6-15.2 48.4-20.3 18.9-5.1 39.1-7.6 60.9-7.6 21.3 0 40.6 2.6 57.8 7.7 17.2 5.2 31.1 11.5 41.4 19.1a117 117 0 0 1 25.9 25.7c6.9 9.6 11.7 18.5 14.4 26.7 2.7 8.2 4 15.7 4 22.8v182.5c0 6.4 1.4 13 4.3 19.8 2.9 6.8 6.3 12.8 10.2 18 3.9 5.2 7.9 9.9 12 14.3 4.1 4.3 7.6 7.7 10.6 9.9l4.1 3.4-72.5 69.4c-8.5-7.7-16.9-15.4-25.2-23.4-8.3-8-14.5-14-18.5-18.1l-6.1-6.2c-2.4-2.3-5-5.7-8-10.2-8.1 12.2-18.5 22.8-31.1 31.8-12.7 9-26.3 15.6-40.7 19.7-14.5 4.1-29.4 6.5-44.7 7.1-15.3.6-30-1.5-43.9-6.5-13.9-5-26.5-11.7-37.6-20.3-11.1-8.6-19.9-20.2-26.5-35-6.6-14.8-9.9-31.5-9.9-50.4 0-17.4 3-33.3 8.9-47.7 6-14.5 13.6-26.5 23-36.1 9.4-9.6 20.7-18.2 34-25.7s26.4-13.4 39.2-17.7c12.8-4.2 26.6-7.8 41.5-10.7 14.9-2.9 27.6-4.8 38.2-5.7 10.6-.9 21.2-1.6 31.8-2v-39.4c0-13.5-2.3-23.5-6.7-30.1zm180.5 379.6c-2.8 3.3-7.5 7.8-14.1 13.5s-16.8 12.7-30.5 21.1c-13.7 8.4-28.8 16-45 22.9-16.3 6.9-36.3 12.9-60.1 18-23.7 5.1-48.2 7.6-73.3 7.6-25.4 0-50.7-3.2-76.1-9.6-25.4-6.4-47.6-14.3-66.8-23.7-19.1-9.4-37.6-20.2-55.1-32.2-17.6-12.1-31.7-22.9-42.4-32.5-10.6-9.6-19.6-18.7-26.8-27.1-1.7-1.9-2.8-3.6-3.2-5.1-.4-1.5-.3-2.8.3-3.7.6-.9 1.5-1.6 2.6-2.2a7.42 7.42 0 0 1 7.4.8c40.9 24.2 72.9 41.3 95.9 51.4 82.9 36.4 168 45.7 255.3 27.9 40.5-8.3 82.1-22.2 124.9-41.8 3.2-1.2 6-1.5 8.3-.9 2.3.6 3.5 2.4 3.5 5.4 0 2.8-1.6 6.3-4.8 10.2zm59.9-29c-1.8 11.1-4.9 21.6-9.1 31.8-7.2 17.1-16.3 30-27.1 38.4-3.6 2.9-6.4 3.8-8.3 2.8-1.9-1-1.9-3.5 0-7.4 4.5-9.3 9.2-21.8 14.2-37.7 5-15.8 5.7-26 2.1-30.5-1.1-1.5-2.7-2.6-5-3.6-2.2-.9-5.1-1.5-8.6-1.9s-6.7-.6-9.4-.8c-2.8-.2-6.5-.2-11.2 0-4.7.2-8 .4-10.1.6a874.4 874.4 0 0 1-17.1 1.5c-1.3.2-2.7.4-4.1.5-1.5.1-2.7.2-3.5.3l-2.7.3c-1 .1-1.7.2-2.2.2h-3.2l-1-.2-.6-.5-.5-.9c-1.3-3.3 3.7-7.4 15-12.4s22.3-8.1 32.9-9.3c9.8-1.5 21.3-1.5 34.5-.3s21.3 3.7 24.3 7.4c2.3 3.5 2.5 10.7.7 21.7zM485 467.5c-11.6 4.9-20.9 12.2-27.8 22-6.9 9.8-10.4 21.6-10.4 35.5 0 17.8 7.5 31.5 22.4 41.2 14.1 9.1 28.9 11.4 44.4 6.8 17.9-5.2 30-17.9 36.4-38.1 3-9.3 4.5-19.7 4.5-31.3v-50.2c-12.6.4-24.4 1.6-35.5 3.7-11.1 2.1-22.4 5.6-34 10.4z'));\nexports.ApiFill = getIcon('api', fill, getNode(newViewBox, 'M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 0 0-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 0 0 0 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM578.9 546.7a8.03 8.03 0 0 0-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 0 0-11.3 0L363 475.3l-43-43a7.85 7.85 0 0 0-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 68.9-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 0 0 0 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2z'));\nexports.AppstoreFill = getIcon('appstore', fill, getNode(newViewBox, 'M864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm0 400H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zM464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm0 400H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16z'));\nexports.AudioFill = getIcon('audio', fill, getNode(newViewBox, 'M512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm330-170c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1z'));\nexports.AppleFill = getIcon('apple', fill, getNode(newViewBox, 'M747.4 535.7c-.4-68.2 30.5-119.6 92.9-157.5-34.9-50-87.7-77.5-157.3-82.8-65.9-5.2-138 38.4-164.4 38.4-27.9 0-91.7-36.6-141.9-36.6C273.1 298.8 163 379.8 163 544.6c0 48.7 8.9 99 26.7 150.8 23.8 68.2 109.6 235.3 199.1 232.6 46.8-1.1 79.9-33.2 140.8-33.2 59.1 0 89.7 33.2 141.9 33.2 90.3-1.3 167.9-153.2 190.5-221.6-121.1-57.1-114.6-167.2-114.6-170.7zm-105.1-305c50.7-60.2 46.1-115 44.6-134.7-44.8 2.6-96.6 30.5-126.1 64.8-32.5 36.8-51.6 82.3-47.5 133.6 48.4 3.7 92.6-21.2 129-63.7z'));\nexports.BackwardFill = getIcon('backward', fill, getNode(normalViewBox, 'M485.6 249.9L198.2 498c-8.3 7.1-8.3 20.8 0 27.9l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9zm320 0L518.2 498a18.6 18.6 0 0 0-6.2 14c0 5.2 2.1 10.4 6.2 14l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9z'));\nexports.BankFill = getIcon('bank', fill, getNode(newViewBox, 'M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 0 0-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM381 836H264V462h117v374zm189 0H453V462h117v374zm190 0H642V462h118v374z'));\nexports.BehanceCircleFill = getIcon('behance-circle', fill, getNode(newViewBox, 'M420.3 470.3c8.7-6.3 12.9-16.7 12.9-31 .3-6.8-1.1-13.5-4.1-19.6-2.7-4.9-6.7-9-11.6-11.9a44.8 44.8 0 0 0-16.6-6c-6.4-1.2-12.9-1.8-19.3-1.7h-70.3v79.7h76.1c13.1.1 24.2-3.1 32.9-9.5zm11.8 72c-9.8-7.5-22.9-11.2-39.2-11.2h-81.8v94h80.2c7.5 0 14.4-.7 21.1-2.1a50.5 50.5 0 0 0 17.8-7.2c5.1-3.3 9.2-7.8 12.3-13.6 3-5.8 4.5-13.2 4.5-22.1 0-17.7-5-30.2-14.9-37.8zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm86.5 286.9h138.4v33.7H598.5v-33.7zM512 628.8a89.52 89.52 0 0 1-27 31c-11.8 8.2-24.9 14.2-38.8 17.7a167.4 167.4 0 0 1-44.6 5.7H236V342.1h161c16.3 0 31.1 1.5 44.6 4.3 13.4 2.8 24.8 7.6 34.4 14.1 9.5 6.5 17 15.2 22.3 26 5.2 10.7 7.9 24.1 7.9 40 0 17.2-3.9 31.4-11.7 42.9-7.9 11.5-19.3 20.8-34.8 28.1 21.1 6 36.6 16.7 46.8 31.7 10.4 15.2 15.5 33.4 15.5 54.8 0 17.4-3.3 32.3-10 44.8zM790.8 576H612.4c0 19.4 6.7 38 16.8 48 10.2 9.9 24.8 14.9 43.9 14.9 13.8 0 25.5-3.5 35.5-10.4 9.9-6.9 15.9-14.2 18.1-21.8h59.8c-9.6 29.7-24.2 50.9-44 63.7-19.6 12.8-43.6 19.2-71.5 19.2-19.5 0-37-3.2-52.7-9.3-15.1-5.9-28.7-14.9-39.9-26.5a121.2 121.2 0 0 1-25.1-41.2c-6.1-16.9-9.1-34.7-8.9-52.6 0-18.5 3.1-35.7 9.1-51.7 11.5-31.1 35.4-56 65.9-68.9 16.3-6.8 33.8-10.2 51.5-10 21 0 39.2 4 55 12.2a111.6 111.6 0 0 1 38.6 32.8c10.1 13.7 17.2 29.3 21.7 46.9 4.3 17.3 5.8 35.5 4.6 54.7zm-122-95.6c-10.8 0-19.9 1.9-26.9 5.6-7 3.7-12.8 8.3-17.2 13.6a48.4 48.4 0 0 0-9.1 17.4c-1.6 5.3-2.7 10.7-3.1 16.2H723c-1.6-17.3-7.6-30.1-15.6-39.1-8.4-8.9-21.9-13.7-38.6-13.7z'));\nexports.BellFill = getIcon('bell', fill, getNode(newViewBox, 'M816 768h-24V428c0-141.1-104.3-257.8-240-277.2V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.8C336.3 170.2 232 286.9 232 428v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48z'));\nexports.BehanceSquareFill = getIcon('behance-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM598.5 350.9h138.4v33.7H598.5v-33.7zM512 628.8a89.52 89.52 0 0 1-27 31c-11.8 8.2-24.9 14.2-38.8 17.7a167.4 167.4 0 0 1-44.6 5.7H236V342.1h161c16.3 0 31.1 1.5 44.6 4.3 13.4 2.8 24.8 7.6 34.4 14.1 9.5 6.5 17 15.2 22.3 26 5.2 10.7 7.9 24.1 7.9 40 0 17.2-3.9 31.4-11.7 42.9-7.9 11.5-19.3 20.8-34.8 28.1 21.1 6 36.6 16.7 46.8 31.7 10.4 15.2 15.5 33.4 15.5 54.8 0 17.4-3.3 32.3-10 44.8zM790.8 576H612.4c0 19.4 6.7 38 16.8 48 10.2 9.9 24.8 14.9 43.9 14.9 13.8 0 25.5-3.5 35.5-10.4 9.9-6.9 15.9-14.2 18.1-21.8h59.8c-9.6 29.7-24.2 50.9-44 63.7-19.6 12.8-43.6 19.2-71.5 19.2-19.5 0-37-3.2-52.7-9.3-15.1-5.9-28.7-14.9-39.9-26.5a121.2 121.2 0 0 1-25.1-41.2c-6.1-16.9-9.1-34.7-8.9-52.6 0-18.5 3.1-35.7 9.1-51.7 11.5-31.1 35.4-56 65.9-68.9 16.3-6.8 33.8-10.2 51.5-10 21 0 39.2 4 55 12.2a111.6 111.6 0 0 1 38.6 32.8c10.1 13.7 17.2 29.3 21.7 46.9 4.3 17.3 5.8 35.5 4.6 54.7zm-122-95.6c-10.8 0-19.9 1.9-26.9 5.6-7 3.7-12.8 8.3-17.2 13.6a48.4 48.4 0 0 0-9.1 17.4c-1.6 5.3-2.7 10.7-3.1 16.2H723c-1.6-17.3-7.6-30.1-15.6-39.1-8.4-8.9-21.9-13.7-38.6-13.7zm-248.5-10.1c8.7-6.3 12.9-16.7 12.9-31 .3-6.8-1.1-13.5-4.1-19.6-2.7-4.9-6.7-9-11.6-11.9a44.8 44.8 0 0 0-16.6-6c-6.4-1.2-12.9-1.8-19.3-1.7h-70.3v79.7h76.1c13.1.1 24.2-3.1 32.9-9.5zm11.8 72c-9.8-7.5-22.9-11.2-39.2-11.2h-81.8v94h80.2c7.5 0 14.4-.7 21.1-2.1s12.7-3.8 17.8-7.2c5.1-3.3 9.2-7.8 12.3-13.6 3-5.8 4.5-13.2 4.5-22.1 0-17.7-5-30.2-14.9-37.8z'));\nexports.BookFill = getIcon('book', fill, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM668 345.9L621.5 312 572 347.4V124h96v221.9z'));\nexports.BoxPlotFill = getIcon('box-plot', fill, getNode(newViewBox, 'M952 224h-52c-4.4 0-8 3.6-8 8v248h-92V304c0-4.4-3.6-8-8-8H448v432h344c4.4 0 8-3.6 8-8V548h92v244c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm-728 80v176h-92V232c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V548h92v172c0 4.4 3.6 8 8 8h152V296H232c-4.4 0-8 3.6-8 8z'));\nexports.BugFill = getIcon('bug', fill, getNode(newViewBox, 'M304 280h416c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1a184.31 184.31 0 0 0-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9a184.31 184.31 0 0 0-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z', 'M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8a63 63 0 0 1-63 63H232a63 63 0 0 1-63-63c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7a273 273 0 0 0 22.7 49c24.3 41.5 59 76.2 100.5 100.5 28.9 16.9 61 28.8 95.3 34.5 4.4 0 8-3.6 8-8V484c0-4.4 3.6-8 8-8h60c4.4 0 8 3.6 8 8v464.2c0 4.4 3.6 8 8 8 34.3-5.7 66.4-17.6 95.3-34.5a281.38 281.38 0 0 0 123.2-149.5A120.4 120.4 0 0 1 836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.CalculatorFill = getIcon('calculator', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM440.2 765h-50.8c-2.2 0-4.5-1.1-5.9-2.9L348 718.6l-35.5 43.5a7.38 7.38 0 0 1-5.9 2.9h-50.8c-6.6 0-10.2-7.9-5.8-13.1l62.7-76.8-61.2-74.9c-4.3-5.2-.7-13.1 5.9-13.1h50.9c2.2 0 4.5 1.1 5.9 2.9l34 41.6 34-41.6c1.5-1.9 3.6-2.9 5.9-2.9h50.8c6.6 0 10.2 7.9 5.9 13.1L383.5 675l62.7 76.8c4.2 5.3.6 13.2-6 13.2zm7.8-382c0 2.2-1.4 4-3.2 4H376v68.7c0 1.9-1.8 3.3-4 3.3h-48c-2.2 0-4-1.4-4-3.2V387h-68.8c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4H320v-68.8c0-1.8 1.8-3.2 4-3.2h48c2.2 0 4 1.4 4 3.2V331h68.7c1.9 0 3.3 1.8 3.3 4v48zm328 369c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48zm0-104c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48zm0-265c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48z'));\nexports.BulbFill = getIcon('bulb', fill, getNode(newViewBox, 'M348 676.1C250 619.4 184 513.4 184 392c0-181.1 146.9-328 328-328s328 146.9 328 328c0 121.4-66 227.4-164 284.1V792c0 17.7-14.3 32-32 32H380c-17.7 0-32-14.3-32-32V676.1zM392 888h240c4.4 0 8 3.6 8 8v32c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32v-32c0-4.4 3.6-8 8-8z'));\nexports.BuildFill = getIcon('build', fill, getNode(newViewBox, 'M916 210H376c-17.7 0-32 14.3-32 32v236H108c-17.7 0-32 14.3-32 32v272c0 17.7 14.3 32 32 32h540c17.7 0 32-14.3 32-32V546h236c17.7 0 32-14.3 32-32V242c0-17.7-14.3-32-32-32zM612 746H412V546h200v200zm268-268H680V278h200v200z'));\nexports.CalendarFill = getIcon('calendar', fill, getNode(newViewBox, 'M112 880c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V460H112v420zm768-696H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v176h800V216c0-17.7-14.3-32-32-32z'));\nexports.CameraFill = getIcon('camera', fill, getNode(newViewBox, 'M864 260H728l-32.4-90.8a32.07 32.07 0 0 0-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 260H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V340c0-44.2-35.8-80-80-80zM512 716c-88.4 0-160-71.6-160-160s71.6-160 160-160 160 71.6 160 160-71.6 160-160 160zm-96-160a96 96 0 1 0 192 0 96 96 0 1 0-192 0z'));\nexports.CarFill = getIcon('car', fill, getNode(newViewBox, 'M959 413.4L935.3 372a8 8 0 0 0-10.9-2.9l-50.7 29.6-78.3-216.2a63.9 63.9 0 0 0-60.9-44.4H301.2c-34.7 0-65.5 22.4-76.2 55.5l-74.6 205.2-50.8-29.6a8 8 0 0 0-10.9 2.9L65 413.4c-2.2 3.8-.9 8.6 2.9 10.8l60.4 35.2-14.5 40c-1.2 3.2-1.8 6.6-1.8 10v348.2c0 15.7 11.8 28.4 26.3 28.4h67.6c12.3 0 23-9.3 25.6-22.3l7.7-37.7h545.6l7.7 37.7c2.7 13 13.3 22.3 25.6 22.3h67.6c14.5 0 26.3-12.7 26.3-28.4V509.4c0-3.4-.6-6.8-1.8-10l-14.5-40 60.3-35.2a8 8 0 0 0 3-10.8zM264 621c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm388 75c0 4.4-3.6 8-8 8H380c-4.4 0-8-3.6-8-8v-84c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v36h168v-36c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v84zm108-75c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zM220 418l72.7-199.9.5-1.3.4-1.3c1.1-3.3 4.1-5.5 7.6-5.5h427.6l75.4 208H220z'));\nexports.CaretDownFill = getIcon('caret-down', fill, getNode(normalViewBox, 'M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z'));\nexports.CaretLeftFill = getIcon('caret-left', fill, getNode(normalViewBox, 'M689 165.1L308.2 493.5c-10.9 9.4-10.9 27.5 0 37L689 858.9c14.2 12.2 35 1.2 35-18.5V183.6c0-19.7-20.8-30.7-35-18.5z'));\nexports.CaretRightFill = getIcon('caret-right', fill, getNode(normalViewBox, 'M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z'));\nexports.CarryOutFill = getIcon('carry-out', fill, getNode(newViewBox, 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zM694.5 432.7L481.9 725.4a16.1 16.1 0 0 1-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.1 0 10 2.5 13 6.6l64.7 89 150.9-207.8c3-4.1 7.8-6.6 13-6.6H688c6.5.1 10.3 7.5 6.5 12.8z'));\nexports.CaretUpFill = getIcon('caret-up', fill, getNode(normalViewBox, 'M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z'));\nexports.CheckCircleFill = getIcon('check-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z'));\nexports.CheckSquareFill = getIcon('check-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM695.5 365.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L308.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H689c6.5 0 10.3 7.4 6.5 12.7z'));\nexports.ChromeFill = getIcon('chrome', fill, getNode(newViewBox, 'M371.8 512c0 77.5 62.7 140.2 140.2 140.2S652.2 589.5 652.2 512 589.5 371.8 512 371.8 371.8 434.4 371.8 512zM900 362.4l-234.3 12.1c63.6 74.3 64.6 181.5 11.1 263.7l-188 289.2c78 4.2 158.4-12.9 231.2-55.2 180-104 253-322.1 180-509.8zM320.3 591.9L163.8 284.1A415.35 415.35 0 0 0 96 512c0 208 152.3 380.3 351.4 410.8l106.9-209.4c-96.6 18.2-189.9-34.8-234-121.5zm218.5-285.5l344.4 18.1C848 254.7 792.6 194 719.8 151.7 653.9 113.6 581.5 95.5 510.5 96c-122.5.5-242.2 55.2-322.1 154.5l128.2 196.9c32-91.9 124.8-146.7 222.2-141z'));\nexports.CiCircleFill = getIcon('ci-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-63.6 656c-103 0-162.4-68.6-162.4-182.6v-49C286 373.5 345.4 304 448.3 304c88.3 0 152.3 56.9 152.3 138.1 0 2.4-2 4.4-4.4 4.4h-52.6c-4.2 0-7.6-3.2-8-7.4-4-46.1-37.6-77.6-87-77.6-61.1 0-95.6 45.4-95.6 126.9v49.3c0 80.3 34.5 125.1 95.6 125.1 49.3 0 82.8-29.5 87-72.4.4-4.1 3.8-7.3 8-7.3h52.7c2.4 0 4.4 2 4.4 4.4 0 77.4-64.3 132.5-152.3 132.5zM738 704.1c0 4.4-3.6 8-8 8h-50.4c-4.4 0-8-3.6-8-8V319.9c0-4.4 3.6-8 8-8H730c4.4 0 8 3.6 8 8v384.2z'));\nexports.ClockCircleFill = getIcon('clock-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm176.5 585.7l-28.6 39a7.99 7.99 0 0 1-11.2 1.7L483.3 569.8a7.92 7.92 0 0 1-3.3-6.5V288c0-4.4 3.6-8 8-8h48.1c4.4 0 8 3.6 8 8v247.5l142.6 103.1c3.6 2.5 4.4 7.5 1.8 11.1z'));\nexports.CloseCircleFill = getIcon('close-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 0 1-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z'));\nexports.CloudFill = getIcon('cloud', fill, getNode(newViewBox, 'M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3z'));\nexports.CloseSquareFill = getIcon('close-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM676.1 657.9c4.4 5.2.7 13.1-6.1 13.1h-58.9c-4.7 0-9.2-2.1-12.3-5.7L512 561.8l-86.8 103.5c-3 3.6-7.5 5.7-12.3 5.7H354c-6.8 0-10.5-7.9-6.1-13.1L470.2 512 347.9 366.1A7.95 7.95 0 0 1 354 353h58.9c4.7 0 9.2 2.1 12.3 5.7L512 462.2l86.8-103.5c3-3.6 7.5-5.7 12.3-5.7H670c6.8 0 10.5 7.9 6.1 13.1L553.8 512l122.3 145.9z'));\nexports.CodeSandboxSquareFill = getIcon('code-sandbox-square', fill, getNode(newViewBox, 'M307.9 536.7l87.6 49.9V681l96.7 55.9V524.8L307.9 418.4zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM755.7 653.2L512 794 268.3 653.2V371.8l110-63.6-.4-.2h.2L512 231l134 77h-.2l-.3.2 110.1 63.6v281.4zm-223.9 83.7l97.3-56.2v-94.1l87-49.5V418.5L531.8 525zm-20-352L418 331l-91.1 52.6 185.2 107 185.2-106.9-91.4-52.8z'));\nexports.CodeSandboxCircleFill = getIcon('code-sandbox-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm243.7 589.2L512 794 268.3 653.2V371.8l110-63.6-.4-.2h.2L512 231l134 77h-.2l-.3.2 110.1 63.6v281.4zM307.9 536.7l87.6 49.9V681l96.7 55.9V524.8L307.9 418.4zm203.9-151.8L418 331l-91.1 52.6 185.2 107 185.2-106.9-91.4-52.8zm20 352l97.3-56.2v-94.1l87-49.5V418.5L531.8 525z'));\nexports.CodeFill = getIcon('code', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM513.1 518.1l-192 161c-5.2 4.4-13.1.7-13.1-6.1v-62.7c0-2.3 1.1-4.6 2.9-6.1L420.7 512l-109.8-92.2a7.63 7.63 0 0 1-2.9-6.1V351c0-6.8 7.9-10.5 13.1-6.1l192 160.9c3.9 3.2 3.9 9.1 0 12.3zM716 673c0 4.4-3.4 8-7.5 8h-185c-4.1 0-7.5-3.6-7.5-8v-48c0-4.4 3.4-8 7.5-8h185c4.1 0 7.5 3.6 7.5 8v48z'));\nexports.CompassFill = getIcon('compass', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM327.3 702.4c-2 .9-4.4 0-5.3-2.1-.4-1-.4-2.2 0-3.2l98.7-225.5 132.1 132.1-225.5 98.7zm375.1-375.1l-98.7 225.5-132.1-132.1L697.1 322c2-.9 4.4 0 5.3 2.1.4 1 .4 2.1 0 3.2z'));\nexports.CodepenCircleFill = getIcon('codepen-circle', fill, getNode(newViewBox, 'M488.1 414.7V303.4L300.9 428l83.6 55.8zm254.1 137.7v-79.8l-59.8 39.9zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm278 533c0 1.1-.1 2.1-.2 3.1 0 .4-.1.7-.2 1a14.16 14.16 0 0 1-.8 3.2c-.2.6-.4 1.2-.6 1.7-.2.4-.4.8-.5 1.2-.3.5-.5 1.1-.8 1.6-.2.4-.4.7-.7 1.1-.3.5-.7 1-1 1.5-.3.4-.5.7-.8 1-.4.4-.8.9-1.2 1.3-.3.3-.6.6-1 .9-.4.4-.9.8-1.4 1.1-.4.3-.7.6-1.1.8-.1.1-.3.2-.4.3L525.2 786c-4 2.7-8.6 4-13.2 4-4.7 0-9.3-1.4-13.3-4L244.6 616.9c-.1-.1-.3-.2-.4-.3l-1.1-.8c-.5-.4-.9-.7-1.3-1.1-.3-.3-.6-.6-1-.9-.4-.4-.8-.8-1.2-1.3a7 7 0 0 1-.8-1c-.4-.5-.7-1-1-1.5-.2-.4-.5-.7-.7-1.1-.3-.5-.6-1.1-.8-1.6-.2-.4-.4-.8-.5-1.2-.2-.6-.4-1.2-.6-1.7-.1-.4-.3-.8-.4-1.2-.2-.7-.3-1.3-.4-2-.1-.3-.1-.7-.2-1-.1-1-.2-2.1-.2-3.1V427.9c0-1 .1-2.1.2-3.1.1-.3.1-.7.2-1a14.16 14.16 0 0 1 .8-3.2c.2-.6.4-1.2.6-1.7.2-.4.4-.8.5-1.2.2-.5.5-1.1.8-1.6.2-.4.4-.7.7-1.1.6-.9 1.2-1.7 1.8-2.5.4-.4.8-.9 1.2-1.3.3-.3.6-.6 1-.9.4-.4.9-.8 1.3-1.1.4-.3.7-.6 1.1-.8.1-.1.3-.2.4-.3L498.7 239c8-5.3 18.5-5.3 26.5 0l254.1 169.1c.1.1.3.2.4.3l1.1.8 1.4 1.1c.3.3.6.6 1 .9.4.4.8.8 1.2 1.3.7.8 1.3 1.6 1.8 2.5.2.4.5.7.7 1.1.3.5.6 1 .8 1.6.2.4.4.8.5 1.2.2.6.4 1.2.6 1.7.1.4.3.8.4 1.2.2.7.3 1.3.4 2 .1.3.1.7.2 1 .1 1 .2 2.1.2 3.1V597zm-254.1 13.3v111.3L723.1 597l-83.6-55.8zM281.8 472.6v79.8l59.8-39.9zM512 456.1l-84.5 56.4 84.5 56.4 84.5-56.4zM723.1 428L535.9 303.4v111.3l103.6 69.1zM384.5 541.2L300.9 597l187.2 124.6V610.3l-103.6-69.1z'));\nexports.CodepenSquareFill = getIcon('codepen-square', fill, getNode(newViewBox, 'M723.1 428L535.9 303.4v111.3l103.6 69.1zM512 456.1l-84.5 56.4 84.5 56.4 84.5-56.4zm23.9 154.2v111.3L723.1 597l-83.6-55.8zm-151.4-69.1L300.9 597l187.2 124.6V610.3l-103.6-69.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-90 485c0 1.1-.1 2.1-.2 3.1 0 .4-.1.7-.2 1a14.16 14.16 0 0 1-.8 3.2c-.2.6-.4 1.2-.6 1.7-.2.4-.4.8-.5 1.2-.3.5-.5 1.1-.8 1.6-.2.4-.4.7-.7 1.1-.3.5-.7 1-1 1.5-.3.4-.5.7-.8 1-.4.4-.8.9-1.2 1.3-.3.3-.6.6-1 .9-.4.4-.9.8-1.4 1.1-.4.3-.7.6-1.1.8-.1.1-.3.2-.4.3L525.2 786c-4 2.7-8.6 4-13.2 4-4.7 0-9.3-1.4-13.3-4L244.6 616.9c-.1-.1-.3-.2-.4-.3l-1.1-.8c-.5-.4-.9-.7-1.3-1.1-.3-.3-.6-.6-1-.9-.4-.4-.8-.8-1.2-1.3a7 7 0 0 1-.8-1c-.4-.5-.7-1-1-1.5-.2-.4-.5-.7-.7-1.1-.3-.5-.6-1.1-.8-1.6-.2-.4-.4-.8-.5-1.2-.2-.6-.4-1.2-.6-1.7-.1-.4-.3-.8-.4-1.2-.2-.7-.3-1.3-.4-2-.1-.3-.1-.7-.2-1-.1-1-.2-2.1-.2-3.1V427.9c0-1 .1-2.1.2-3.1.1-.3.1-.7.2-1a14.16 14.16 0 0 1 .8-3.2c.2-.6.4-1.2.6-1.7.2-.4.4-.8.5-1.2.2-.5.5-1.1.8-1.6.2-.4.4-.7.7-1.1.6-.9 1.2-1.7 1.8-2.5.4-.4.8-.9 1.2-1.3.3-.3.6-.6 1-.9.4-.4.9-.8 1.3-1.1.4-.3.7-.6 1.1-.8.1-.1.3-.2.4-.3L498.7 239c8-5.3 18.5-5.3 26.5 0l254.1 169.1c.1.1.3.2.4.3l1.1.8 1.4 1.1c.3.3.6.6 1 .9.4.4.8.8 1.2 1.3.7.8 1.3 1.6 1.8 2.5.2.4.5.7.7 1.1.3.5.6 1 .8 1.6.2.4.4.8.5 1.2.2.6.4 1.2.6 1.7.1.4.3.8.4 1.2.2.7.3 1.3.4 2 .1.3.1.7.2 1 .1 1 .2 2.1.2 3.1V597zm-47.8-44.6v-79.8l-59.8 39.9zm-460.4-79.8v79.8l59.8-39.9zm206.3-57.9V303.4L300.9 428l83.6 55.8z'));\nexports.ContactsFill = getIcon('contacts', fill, getNode(newViewBox, 'M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zM661 736h-43.9c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.6-46-90.5-97.2-90.5s-93.4 40-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5H363a8 8 0 0 1-8-8.4c2.8-53.3 32-99.7 74.6-126.1a111.8 111.8 0 0 1-29.1-75.5c0-61.9 49.9-112 111.4-112 61.5 0 111.4 50.1 111.4 112 0 29.1-11 55.5-29.1 75.5 42.7 26.5 71.8 72.8 74.6 126.1.4 4.6-3.2 8.4-7.8 8.4zM512 474c-28.5 0-51.7 23.3-51.7 52s23.2 52 51.7 52c28.5 0 51.7-23.3 51.7-52s-23.2-52-51.7-52z'));\nexports.ControlFill = getIcon('control', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM404 683v77c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-77c-41.7-13.6-72-52.8-72-99s30.3-85.5 72-99V264c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v221c41.7 13.6 72 52.8 72 99s-30.3 85.5-72 99zm279.6-143.9c.2 0 .3-.1.4-.1v221c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V539c.2 0 .3.1.4.1-42-13.4-72.4-52.7-72.4-99.1 0-46.4 30.4-85.7 72.4-99.1-.2 0-.3.1-.4.1v-77c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v77c-.2 0-.3-.1-.4-.1 42 13.4 72.4 52.7 72.4 99.1 0 46.4-30.4 85.7-72.4 99.1zM616 440a36 36 0 1 0 72 0 36 36 0 1 0-72 0zM403.4 566.5l-1.5-2.4c0-.1-.1-.1-.1-.2l-.9-1.2c-.1-.1-.2-.2-.2-.3-1-1.3-2-2.5-3.2-3.6l-.2-.2c-.4-.4-.8-.8-1.2-1.1-.8-.8-1.7-1.5-2.6-2.1h-.1l-1.2-.9c-.1-.1-.3-.2-.4-.3-1.2-.8-2.5-1.6-3.9-2.2-.2-.1-.5-.2-.7-.4-.4-.2-.7-.3-1.1-.5-.3-.1-.7-.3-1-.4-.5-.2-1-.4-1.5-.5-.4-.1-.9-.3-1.3-.4l-.9-.3-1.4-.3c-.2-.1-.5-.1-.7-.2-.7-.1-1.4-.3-2.1-.4-.2 0-.4 0-.6-.1-.6-.1-1.1-.1-1.7-.2-.2 0-.4 0-.7-.1-.8 0-1.5-.1-2.3-.1s-1.5 0-2.3.1c-.2 0-.4 0-.7.1-.6 0-1.2.1-1.7.2-.2 0-.4 0-.6.1-.7.1-1.4.2-2.1.4-.2.1-.5.1-.7.2l-1.4.3-.9.3c-.4.1-.9.3-1.3.4-.5.2-1 .4-1.5.5-.3.1-.7.3-1 .4-.4.2-.7.3-1.1.5-.2.1-.5.2-.7.4-1.3.7-2.6 1.4-3.9 2.2-.1.1-.3.2-.4.3l-1.2.9h-.1c-.9.7-1.8 1.4-2.6 2.1-.4.4-.8.7-1.2 1.1l-.2.2a54.8 54.8 0 0 0-3.2 3.6c-.1.1-.2.2-.2.3l-.9 1.2c0 .1-.1.1-.1.2l-1.5 2.4c-.1.2-.2.3-.3.5-2.7 5.1-4.3 10.9-4.3 17s1.6 12 4.3 17c.1.2.2.3.3.5l1.5 2.4c0 .1.1.1.1.2l.9 1.2c.1.1.2.2.2.3 1 1.3 2 2.5 3.2 3.6l.2.2c.4.4.8.8 1.2 1.1.8.8 1.7 1.5 2.6 2.1h.1l1.2.9c.1.1.3.2.4.3 1.2.8 2.5 1.6 3.9 2.2.2.1.5.2.7.4.4.2.7.3 1.1.5.3.1.7.3 1 .4.5.2 1 .4 1.5.5.4.1.9.3 1.3.4l.9.3 1.4.3c.2.1.5.1.7.2.7.1 1.4.3 2.1.4.2 0 .4 0 .6.1.6.1 1.1.1 1.7.2.2 0 .4 0 .7.1.8 0 1.5.1 2.3.1s1.5 0 2.3-.1c.2 0 .4 0 .7-.1.6 0 1.2-.1 1.7-.2.2 0 .4 0 .6-.1.7-.1 1.4-.2 2.1-.4.2-.1.5-.1.7-.2l1.4-.3.9-.3c.4-.1.9-.3 1.3-.4.5-.2 1-.4 1.5-.5.3-.1.7-.3 1-.4.4-.2.7-.3 1.1-.5.2-.1.5-.2.7-.4 1.3-.7 2.6-1.4 3.9-2.2.1-.1.3-.2.4-.3l1.2-.9h.1c.9-.7 1.8-1.4 2.6-2.1.4-.4.8-.7 1.2-1.1l.2-.2c1.1-1.1 2.2-2.4 3.2-3.6.1-.1.2-.2.2-.3l.9-1.2c0-.1.1-.1.1-.2l1.5-2.4c.1-.2.2-.3.3-.5 2.7-5.1 4.3-10.9 4.3-17s-1.6-12-4.3-17c-.1-.2-.2-.4-.3-.5z'));\nexports.ContainerFill = getIcon('container', fill, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v529c0-.6.4-1 1-1h219.3l5.2 24.7C397.6 708.5 450.8 752 512 752s114.4-43.5 126.4-103.3l5.2-24.7H863c.6 0 1 .4 1 1V96c0-17.7-14.3-32-32-32zM712 493c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h384c4.4 0 8 3.6 8 8v48zm0-160c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h384c4.4 0 8 3.6 8 8v48zm151 354H694.1c-11.6 32.8-32 62.3-59.1 84.7-34.5 28.6-78.2 44.3-123 44.3s-88.5-15.8-123-44.3a194.02 194.02 0 0 1-59.1-84.7H161c-.6 0-1-.4-1-1v242c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V686c0 .6-.4 1-1 1z'));\nexports.CopyFill = getIcon('copy', fill, getNode(newViewBox, 'M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM382 896h-.2L232 746.2v-.2h150v150z'));\nexports.CopyrightCircleFill = getIcon('copyright-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm5.4 670c-110 0-173.4-73.2-173.4-194.9v-52.3C344 364.2 407.4 290 517.3 290c94.3 0 162.7 60.7 162.7 147.4 0 2.6-2.1 4.7-4.7 4.7h-56.7c-4.2 0-7.6-3.2-8-7.4-4-49.5-40-83.4-93-83.4-65.3 0-102.1 48.5-102.1 135.5v52.6c0 85.7 36.9 133.6 102.1 133.6 52.8 0 88.7-31.7 93-77.8.4-4.1 3.8-7.3 8-7.3h56.8c2.6 0 4.7 2.1 4.7 4.7 0 82.6-68.7 141.4-162.7 141.4z'));\nexports.CreditCardFill = getIcon('credit-card', fill, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v160h896V192c0-17.7-14.3-32-32-32zM64 832c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V440H64v392zm579-184c0-4.4 3.6-8 8-8h165c4.4 0 8 3.6 8 8v72c0 4.4-3.6 8-8 8H651c-4.4 0-8-3.6-8-8v-72z'));\nexports.CrownFill = getIcon('crown', fill, getNode(newViewBox, 'M899.6 276.5L705 396.4 518.4 147.5a8.06 8.06 0 0 0-12.9 0L319 396.4 124.3 276.5c-5.7-3.5-13.1 1.2-12.2 7.9L188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.8-6.7-6.5-11.4-12.3-7.9zM512 734.2c-62.1 0-112.6-50.5-112.6-112.6S449.9 509 512 509s112.6 50.5 112.6 112.6S574.1 734.2 512 734.2zm0-160.9c-26.6 0-48.2 21.6-48.2 48.3 0 26.6 21.6 48.3 48.2 48.3s48.2-21.6 48.2-48.3c0-26.6-21.6-48.3-48.2-48.3z'));\nexports.CustomerServiceFill = getIcon('customer-service', fill, getNode(newViewBox, 'M512 128c-212.1 0-384 171.9-384 384v360c0 13.3 10.7 24 24 24h184c35.3 0 64-28.7 64-64V624c0-35.3-28.7-64-64-64H200v-48c0-172.3 139.7-312 312-312s312 139.7 312 312v48H688c-35.3 0-64 28.7-64 64v208c0 35.3 28.7 64 64 64h184c13.3 0 24-10.7 24-24V512c0-212.1-171.9-384-384-384z'));\nexports.DashboardFill = getIcon('dashboard', fill, getNode(newViewBox, 'M924.8 385.6a446.7 446.7 0 0 0-96-142.4 446.7 446.7 0 0 0-142.4-96C631.1 123.8 572.5 112 512 112s-119.1 11.8-174.4 35.2a446.7 446.7 0 0 0-142.4 96 446.7 446.7 0 0 0-96 142.4C75.8 440.9 64 499.5 64 560c0 132.7 58.3 257.7 159.9 343.1l1.7 1.4c5.8 4.8 13.1 7.5 20.6 7.5h531.7c7.5 0 14.8-2.7 20.6-7.5l1.7-1.4C901.7 817.7 960 692.7 960 560c0-60.5-11.9-119.1-35.2-174.4zM482 232c0-4.4 3.6-8 8-8h44c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8h-44c-4.4 0-8-3.6-8-8v-80zM270 582c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v44zm90.7-204.5l-31.1 31.1a8.03 8.03 0 0 1-11.3 0L261.7 352a8.03 8.03 0 0 1 0-11.3l31.1-31.1c3.1-3.1 8.2-3.1 11.3 0l56.6 56.6c3.1 3.1 3.1 8.2 0 11.3zm291.1 83.6l-84.5 84.5c5 18.7.2 39.4-14.5 54.1a55.95 55.95 0 0 1-79.2 0 55.95 55.95 0 0 1 0-79.2 55.87 55.87 0 0 1 54.1-14.5l84.5-84.5c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3c3.1 3.1 3.1 8.1 0 11.3zm43-52.4l-31.1-31.1a8.03 8.03 0 0 1 0-11.3l56.6-56.6c3.1-3.1 8.2-3.1 11.3 0l31.1 31.1c3.1 3.1 3.1 8.2 0 11.3l-56.6 56.6a8.03 8.03 0 0 1-11.3 0zM846 582c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v44z'));\nexports.DeleteFill = getIcon('delete', fill, getNode(newViewBox, 'M864 256H736v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zm-200 0H360v-72h304v72z'));\nexports.DiffFill = getIcon('diff', fill, getNode(newViewBox, 'M854.2 306.6L611.3 72.9c-6-5.7-13.9-8.9-22.2-8.9H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h277l219 210.6V824c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V329.6c0-8.7-3.5-17-9.8-23zM553.4 201.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v704c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32V397.3c0-8.5-3.4-16.6-9.4-22.6L553.4 201.4zM568 753c0 3.8-3.4 7-7.5 7h-225c-4.1 0-7.5-3.2-7.5-7v-42c0-3.8 3.4-7 7.5-7h225c4.1 0 7.5 3.2 7.5 7v42zm0-220c0 3.8-3.4 7-7.5 7H476v84.9c0 3.9-3.1 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V540h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.9 3.4-7 7.5-7H420v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.9 0 7 3.2 7 7.1V484h84.5c4.1 0 7.5 3.1 7.5 7v42z'));\nexports.DingtalkCircleFill = getIcon('dingtalk-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm227 385.3c-1 4.2-3.5 10.4-7 17.8h.1l-.4.7c-20.3 43.1-73.1 127.7-73.1 127.7s-.1-.2-.3-.5l-15.5 26.8h74.5L575.1 810l32.3-128h-58.6l20.4-84.7c-16.5 3.9-35.9 9.4-59 16.8 0 0-31.2 18.2-89.9-35 0 0-39.6-34.7-16.6-43.4 9.8-3.7 47.4-8.4 77-12.3 40-5.4 64.6-8.2 64.6-8.2S422 517 392.7 512.5c-29.3-4.6-66.4-53.1-74.3-95.8 0 0-12.2-23.4 26.3-12.3 38.5 11.1 197.9 43.2 197.9 43.2s-207.4-63.3-221.2-78.7c-13.8-15.4-40.6-84.2-37.1-126.5 0 0 1.5-10.5 12.4-7.7 0 0 153.3 69.7 258.1 107.9 104.8 37.9 195.9 57.3 184.2 106.7z'));\nexports.DatabaseFill = getIcon('database', fill, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v224h704V96c0-17.7-14.3-32-32-32zM288 232c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zM160 928c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V704H160v224zm128-136c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM160 640h704V384H160v256zm128-168c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'));\nexports.DingtalkSquareFill = getIcon('dingtalk-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM739 449.3c-1 4.2-3.5 10.4-7 17.8h.1l-.4.7c-20.3 43.1-73.1 127.7-73.1 127.7s-.1-.2-.3-.5l-15.5 26.8h74.5L575.1 810l32.3-128h-58.6l20.4-84.7c-16.5 3.9-35.9 9.4-59 16.8 0 0-31.2 18.2-89.9-35 0 0-39.6-34.7-16.6-43.4 9.8-3.7 47.4-8.4 77-12.3 40-5.4 64.6-8.2 64.6-8.2S422 517 392.7 512.5c-29.3-4.6-66.4-53.1-74.3-95.8 0 0-12.2-23.4 26.3-12.3 38.5 11.1 197.9 43.2 197.9 43.2s-207.4-63.3-221.2-78.7c-13.8-15.4-40.6-84.2-37.1-126.5 0 0 1.5-10.5 12.4-7.7 0 0 153.3 69.7 258.1 107.9 104.8 37.9 195.9 57.3 184.2 106.7z'));\nexports.DislikeFill = getIcon('dislike', fill, getNode(newViewBox, 'M885.9 490.3c3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-51.6-30.7-98.1-78.3-118.4a66.1 66.1 0 0 0-26.5-5.4H273v428h.3l85.8 310.8C372.9 889 418.9 924 470.9 924c29.7 0 57.4-11.8 77.9-33.4 20.5-21.5 31-49.7 29.5-79.4l-6-122.9h239.9c12.1 0 23.9-3.2 34.3-9.3 40.4-23.5 65.5-66.1 65.5-111 0-28.3-9.3-55.5-26.1-77.7zM112 132v364c0 17.7 14.3 32 32 32h65V100h-65c-17.7 0-32 14.3-32 32z'));\nexports.DollarCircleFill = getIcon('dollar-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm22.3 665.2l.2 31.7c0 4.4-3.6 8.1-8 8.1h-28.4c-4.4 0-8-3.6-8-8v-31.4C401.3 723 359.5 672.4 355 617.4c-.4-4.7 3.3-8.7 8-8.7h46.2c3.9 0 7.3 2.8 7.9 6.6 5.1 31.7 29.8 55.4 74.1 61.3V533.9l-24.7-6.3c-52.3-12.5-102.1-45.1-102.1-112.7 0-72.9 55.4-112.1 126.2-119v-33c0-4.4 3.6-8 8-8h28.1c4.4 0 8 3.6 8 8v32.7c68.5 6.9 119.9 46.9 125.9 109.2.5 4.7-3.2 8.8-8 8.8h-44.9c-4 0-7.4-3-7.9-6.9-4-29.2-27.4-53-65.5-58.2v134.3l25.4 5.9c64.8 16 108.9 47 108.9 116.4 0 75.3-56 117.3-134.3 124.1zM426.6 410.3c0 25.4 15.7 45.1 49.5 57.3 4.7 1.9 9.4 3.4 15 5v-124c-36.9 4.7-64.5 25.4-64.5 61.7zm116.5 135.2c-2.8-.6-5.6-1.3-8.8-2.2V677c42.6-3.8 72-27.2 72-66.4 0-30.7-15.9-50.7-63.2-65.1z'));\nexports.DownCircleFill = getIcon('down-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm184.5 353.7l-178 246a7.95 7.95 0 0 1-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7H381c10.2 0 19.9 4.9 25.9 13.2L512 563.6l105.2-145.4c6-8.3 15.6-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.5 12.7z'));\nexports.DownSquareFill = getIcon('down-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM696.5 412.7l-178 246a7.95 7.95 0 0 1-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7H381c10.2 0 19.9 4.9 25.9 13.2L512 558.6l105.2-145.4c6-8.3 15.6-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.5 12.7z'));\nexports.DribbbleCircleFill = getIcon('dribbble-circle', fill, getNode(newViewBox, 'M675.1 328.3a245.2 245.2 0 0 0-220.8-55.1c6.8 9.1 51.5 69.9 91.8 144 87.5-32.8 124.5-82.6 129-88.9zM554 552.8c-138.7 48.3-188.6 144.6-193 153.6 41.7 32.5 94.1 51.9 151 51.9 34.1 0 66.6-6.9 96.1-19.5-3.7-21.6-17.9-96.8-52.5-186.6l-1.6.6zm47.7-11.9c32.2 88.4 45.3 160.4 47.8 175.4 55.2-37.3 94.5-96.4 105.4-164.9-8.4-2.6-76.1-22.8-153.2-10.5zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 736c-158.8 0-288-129.2-288-288s129.2-288 288-288 288 129.2 288 288-129.2 288-288 288zm53.1-346.2c5.7 11.7 11.2 23.6 16.3 35.6 1.8 4.2 3.6 8.4 5.3 12.7 81.8-10.3 163.2 6.2 171.3 7.9-.5-58.1-21.3-111.4-55.5-153.3-5.3 7.1-46.5 60-137.4 97.1zM498.6 432c-40.8-72.5-84.7-133.4-91.2-142.3-68.8 32.5-120.3 95.9-136.2 172.2 11 .2 112.4.7 227.4-29.9zm30.6 82.5c3.2-1 6.4-2 9.7-2.9-6.2-14-12.9-28-19.9-41.7-122.8 36.8-242.1 35.2-252.8 35-.1 2.5-.1 5-.1 7.5 0 63.2 23.9 120.9 63.2 164.5 5.5-9.6 73-121.4 199.9-162.4z'));\nexports.DribbbleSquareFill = getIcon('dribbble-square', fill, getNode(newViewBox, 'M498.6 432c-40.8-72.5-84.7-133.4-91.2-142.3-68.8 32.5-120.3 95.9-136.2 172.2 11 .2 112.4.7 227.4-29.9zm66.5 21.8c5.7 11.7 11.2 23.6 16.3 35.6 1.8 4.2 3.6 8.4 5.3 12.7 81.8-10.3 163.2 6.2 171.3 7.9-.5-58.1-21.3-111.4-55.5-153.3-5.3 7.1-46.5 60-137.4 97.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM512 800c-158.8 0-288-129.2-288-288s129.2-288 288-288 288 129.2 288 288-129.2 288-288 288zm89.7-259.1c32.2 88.4 45.3 160.4 47.8 175.4 55.2-37.3 94.5-96.4 105.4-164.9-8.4-2.6-76.1-22.8-153.2-10.5zm-72.5-26.4c3.2-1 6.4-2 9.7-2.9-6.2-14-12.9-28-19.9-41.7-122.8 36.8-242.1 35.2-252.8 35-.1 2.5-.1 5-.1 7.5 0 63.2 23.9 120.9 63.2 164.5 5.5-9.6 73-121.4 199.9-162.4zm145.9-186.2a245.2 245.2 0 0 0-220.8-55.1c6.8 9.1 51.5 69.9 91.8 144 87.5-32.8 124.5-82.6 129-88.9zM554 552.8c-138.7 48.3-188.6 144.6-193 153.6 41.7 32.5 94.1 51.9 151 51.9 34.1 0 66.6-6.9 96.1-19.5-3.7-21.6-17.9-96.8-52.5-186.6l-1.6.6z'));\nexports.DropboxCircleFill = getIcon('dropbox-circle', fill, getNode(newViewBox, 'M663.8 455.5zm-151.5-93.8l-151.8 93.8 151.8 93.9 151.5-93.9zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm151.2 595.5L512.6 750l-151-90.5v-33.1l45.4 29.4 105.6-87.7 105.6 87.7 45.1-29.4v33.1zm-45.6-22.4l-105.3-87.7L407 637.1l-151-99.2 104.5-82.4L256 371.2 407 274l105.3 87.7L617.6 274 768 372.1l-104.2 83.5L768 539l-150.4 98.1z'));\nexports.DropboxSquareFill = getIcon('dropbox-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM663.2 659.5L512.6 750l-151-90.5v-33.1l45.4 29.4 105.6-87.7 105.6 87.7 45.1-29.4v33.1zm-45.6-22.4l-105.3-87.7L407 637.1l-151-99.2 104.5-82.4L256 371.2 407 274l105.3 87.7L617.6 274 768 372.1l-104.2 83.5L768 539l-150.4 98.1zM512.3 361.7l-151.8 93.8 151.8 93.9 151.5-93.9zm151.5 93.8z'));\nexports.EnvironmentFill = getIcon('environment', fill, getNode(newViewBox, 'M512 327c-29.9 0-58 11.6-79.2 32.8A111.6 111.6 0 0 0 400 439c0 29.9 11.7 58 32.8 79.2A111.6 111.6 0 0 0 512 551c29.9 0 58-11.7 79.2-32.8C612.4 497 624 468.9 624 439c0-29.9-11.6-58-32.8-79.2S541.9 327 512 327zm342.6-37.9a362.49 362.49 0 0 0-79.9-115.7 370.83 370.83 0 0 0-118.2-77.8C610.7 76.6 562.1 67 512 67c-50.1 0-98.7 9.6-144.5 28.5-44.3 18.3-84 44.5-118.2 77.8A363.6 363.6 0 0 0 169.4 289c-19.5 45-29.4 92.8-29.4 142 0 70.6 16.9 140.9 50.1 208.7 26.7 54.5 64 107.6 111 158.1 80.3 86.2 164.5 138.9 188.4 153a43.9 43.9 0 0 0 22.4 6.1c7.8 0 15.5-2 22.4-6.1 23.9-14.1 108.1-66.8 188.4-153 47-50.4 84.3-103.6 111-158.1C867.1 572 884 501.8 884 431.1c0-49.2-9.9-97-29.4-142zM512 615c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z'));\nexports.EditFill = getIcon('edit', fill, getNode(newViewBox, 'M880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32zm-622.3-84c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 0 0 0-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 0 0 9.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9z'));\nexports.ExclamationCircleFill = getIcon('exclamation-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.EuroCircleFill = getIcon('euro-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm63.5 375.8c4.4 0 8 3.6 8 8V475c0 4.4-3.6 8-8 8h-136c-.3 4.4-.3 9.1-.3 13.8v36h136.2c4.4 0 8 3.6 8 8V568c0 4.4-3.6 8-8 8H444.9c15.3 62 61.3 98.6 129.8 98.6 19.9 0 37.1-1.2 51.8-4.1 4.9-1 9.5 2.8 9.5 7.8v42.8c0 3.8-2.7 7-6.4 7.8-15.9 3.4-34.3 5.1-55.3 5.1-109.8 0-183-58.8-200.2-158H344c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h26.1v-36.9c0-4.4 0-8.8.3-12.8H344c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h31.7c19.7-94.2 92-149.9 198.6-149.9 20.9 0 39.4 1.9 55.3 5.4 3.7.8 6.3 4 6.3 7.8V346h.1c0 5.1-4.6 8.8-9.6 7.8-14.7-2.9-31.8-4.4-51.7-4.4-65.4 0-110.4 33.5-127.6 90.4h128.4z'));\nexports.ExperimentFill = getIcon('experiment', fill, getNode(newViewBox, 'M218.9 636.3l42.6 26.6c.1.1.3.2.4.3l12.7 8 .3.3a186.9 186.9 0 0 0 94.1 25.1c44.9 0 87.2-15.7 121-43.8a256.27 256.27 0 0 1 164.9-59.9c52.3 0 102.2 15.7 144.6 44.5l7.9 5-111.6-289V179.8h63.5c4.4 0 8-3.6 8-8V120c0-4.4-3.6-8-8-8H264.7c-4.4 0-8 3.6-8 8v51.9c0 4.4 3.6 8 8 8h63.5v173.6L218.9 636.3zm333-203.1c22 0 39.9 17.9 39.9 39.9S573.9 513 551.9 513 512 495.1 512 473.1s17.9-39.9 39.9-39.9zM878 825.1l-29.9-77.4-85.7-53.5-.1.1c-.7-.5-1.5-1-2.2-1.5l-8.1-5-.3-.3c-29-17.5-62.3-26.8-97-26.8-44.9 0-87.2 15.7-121 43.8a256.27 256.27 0 0 1-164.9 59.9c-53 0-103.5-16.1-146.2-45.6l-28.9-18.1L146 825.1c-2.8 7.4-4.3 15.2-4.3 23 0 35.2 28.6 63.8 63.8 63.8h612.9c7.9 0 15.7-1.5 23-4.3a63.6 63.6 0 0 0 36.6-82.5z'));\nexports.EyeInvisibleFill = getIcon('eye-invisible', fill, getNode(newViewBox, 'M508 624a112 112 0 0 0 112-112c0-3.28-.15-6.53-.43-9.74L498.26 623.57c3.21.28 6.45.43 9.74.43zm370.72-458.44L836 122.88a8 8 0 0 0-11.31 0L715.37 232.23Q624.91 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 0 0 0 51.5q56.7 119.43 136.55 191.45L112.56 835a8 8 0 0 0 0 11.31L155.25 889a8 8 0 0 0 11.31 0l712.16-712.12a8 8 0 0 0 0-11.32zM332 512a176 176 0 0 1 258.88-155.28l-48.62 48.62a112.08 112.08 0 0 0-140.92 140.92l-48.62 48.62A175.09 175.09 0 0 1 332 512z', 'M942.2 486.2Q889.4 375 816.51 304.85L672.37 449A176.08 176.08 0 0 1 445 676.37L322.74 798.63Q407.82 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 0 0 0-51.5z'));\nexports.EyeFill = getIcon('eye', fill, getNode(newViewBox, 'M396 512a112 112 0 1 0 224 0 112 112 0 1 0-224 0zm546.2-25.8C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 0 0 0 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM508 688c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z'));\nexports.FacebookFill = getIcon('facebook', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-92.4 233.5h-63.9c-50.1 0-59.8 23.8-59.8 58.8v77.1h119.6l-15.6 120.7h-104V912H539.2V602.2H434.9V481.4h104.3v-89c0-103.3 63.1-159.6 155.3-159.6 44.2 0 82.1 3.3 93.2 4.8v107.9z'));\nexports.FastBackwardFill = getIcon('fast-backward', fill, getNode(normalViewBox, 'M517.6 273.5L230.2 499.3a16.14 16.14 0 0 0 0 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm320 0L550.2 499.3a16.14 16.14 0 0 0 0 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm-620-25.5h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z'));\nexports.FastForwardFill = getIcon('fast-forward', fill, getNode(normalViewBox, 'M793.8 499.3L506.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.6c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8a16.14 16.14 0 0 0 0-25.4zm-320 0L186.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.5c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8c4.1-3.2 6.2-8 6.2-12.7 0-4.6-2.1-9.4-6.2-12.6zM857.6 248h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z'));\nexports.FileAddFill = getIcon('file-add', fill, getNode(newViewBox, 'M480 580H372a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h108v108a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8V644h108a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8H544V472a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v108zm374.6-291.3c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2z'));\nexports.FileExcelFill = getIcon('file-excel', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM575.34 477.84l-61.22 102.3L452.3 477.8a12 12 0 0 0-10.27-5.79h-38.44a12 12 0 0 0-6.4 1.85 12 12 0 0 0-3.75 16.56l82.34 130.42-83.45 132.78a12 12 0 0 0-1.84 6.39 12 12 0 0 0 12 12h34.46a12 12 0 0 0 10.21-5.7l62.7-101.47 62.3 101.45a12 12 0 0 0 10.23 5.72h37.48a12 12 0 0 0 6.48-1.9 12 12 0 0 0 3.62-16.58l-83.83-130.55 85.3-132.47a12 12 0 0 0 1.9-6.5 12 12 0 0 0-12-12h-35.7a12 12 0 0 0-10.29 5.84z'));\nexports.FileExclamationFill = getIcon('file-exclamation', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM512 784a40 40 0 1 0 0-80 40 40 0 0 0 0 80zm32-152V448a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v184a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8z'));\nexports.FileImageFill = getIcon('file-image', fill, getNode(newViewBox, 'M854.6 288.7L639.4 73.4c-6-6-14.2-9.4-22.7-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.6-9.4-22.6zM400 402c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm296 294H328c-6.7 0-10.4-7.7-6.3-12.9l99.8-127.2a8 8 0 0 1 12.6 0l41.1 52.4 77.8-99.2a8 8 0 0 1 12.6 0l136.5 174c4.3 5.2.5 12.9-6.1 12.9zm-94-370V137.8L790.2 326H602z'));\nexports.FileMarkdownFill = getIcon('file-markdown', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM426.13 600.93l59.11 132.97a16 16 0 0 0 14.62 9.5h24.06a16 16 0 0 0 14.63-9.51l59.1-133.35V758a16 16 0 0 0 16.01 16H641a16 16 0 0 0 16-16V486a16 16 0 0 0-16-16h-34.75a16 16 0 0 0-14.67 9.62L512.1 662.2l-79.48-182.59a16 16 0 0 0-14.67-9.61H383a16 16 0 0 0-16 16v272a16 16 0 0 0 16 16h27.13a16 16 0 0 0 16-16V600.93z'));\nexports.FilePdfFill = getIcon('file-pdf', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM633.22 637.26c-15.18-.5-31.32.67-49.65 2.96-24.3-14.99-40.66-35.58-52.28-65.83l1.07-4.38 1.24-5.18c4.3-18.13 6.61-31.36 7.3-44.7.52-10.07-.04-19.36-1.83-27.97-3.3-18.59-16.45-29.46-33.02-30.13-15.45-.63-29.65 8-33.28 21.37-5.91 21.62-2.45 50.07 10.08 98.59-15.96 38.05-37.05 82.66-51.2 107.54-18.89 9.74-33.6 18.6-45.96 28.42-16.3 12.97-26.48 26.3-29.28 40.3-1.36 6.49.69 14.97 5.36 21.92 5.3 7.88 13.28 13 22.85 13.74 24.15 1.87 53.83-23.03 86.6-79.26 3.29-1.1 6.77-2.26 11.02-3.7l11.9-4.02c7.53-2.54 12.99-4.36 18.39-6.11 23.4-7.62 41.1-12.43 57.2-15.17 27.98 14.98 60.32 24.8 82.1 24.8 17.98 0 30.13-9.32 34.52-23.99 3.85-12.88.8-27.82-7.48-36.08-8.56-8.41-24.3-12.43-45.65-13.12zM385.23 765.68v-.36l.13-.34a54.86 54.86 0 0 1 5.6-10.76c4.28-6.58 10.17-13.5 17.47-20.87 3.92-3.95 8-7.8 12.79-12.12 1.07-.96 7.91-7.05 9.19-8.25l11.17-10.4-8.12 12.93c-12.32 19.64-23.46 33.78-33 43-3.51 3.4-6.6 5.9-9.1 7.51a16.43 16.43 0 0 1-2.61 1.42c-.41.17-.77.27-1.13.3a2.2 2.2 0 0 1-1.12-.15 2.07 2.07 0 0 1-1.27-1.91zM511.17 547.4l-2.26 4-1.4-4.38c-3.1-9.83-5.38-24.64-6.01-38-.72-15.2.49-24.32 5.29-24.32 6.74 0 9.83 10.8 10.07 27.05.22 14.28-2.03 29.14-5.7 35.65zm-5.81 58.46l1.53-4.05 2.09 3.8c11.69 21.24 26.86 38.96 43.54 51.31l3.6 2.66-4.39.9c-16.33 3.38-31.54 8.46-52.34 16.85 2.17-.88-21.62 8.86-27.64 11.17l-5.25 2.01 2.8-4.88c12.35-21.5 23.76-47.32 36.05-79.77zm157.62 76.26c-7.86 3.1-24.78.33-54.57-12.39l-7.56-3.22 8.2-.6c23.3-1.73 39.8-.45 49.42 3.07 4.1 1.5 6.83 3.39 8.04 5.55a4.64 4.64 0 0 1-1.36 6.31 6.7 6.7 0 0 1-2.17 1.28z'));\nexports.FilePptFill = getIcon('file-ppt', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM468.53 760v-91.54h59.27c60.57 0 100.2-39.65 100.2-98.12 0-58.22-39.58-98.34-99.98-98.34H424a12 12 0 0 0-12 12v276a12 12 0 0 0 12 12h32.53a12 12 0 0 0 12-12zm0-139.33h34.9c47.82 0 67.19-12.93 67.19-50.33 0-32.05-18.12-50.12-49.87-50.12h-52.22v100.45z'));\nexports.FileTextFill = getIcon('file-text', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM320 482a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h384a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8H320zm0 136a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h184a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8H320z'));\nexports.FileWordFill = getIcon('file-word', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM512 566.1l52.81 197a12 12 0 0 0 11.6 8.9h31.77a12 12 0 0 0 11.6-8.88l74.37-276a12 12 0 0 0 .4-3.12 12 12 0 0 0-12-12h-35.57a12 12 0 0 0-11.7 9.31l-45.78 199.1-49.76-199.32A12 12 0 0 0 528.1 472h-32.2a12 12 0 0 0-11.64 9.1L434.6 680.01 388.5 481.3a12 12 0 0 0-11.68-9.29h-35.39a12 12 0 0 0-3.11.41 12 12 0 0 0-8.47 14.7l74.17 276A12 12 0 0 0 415.6 772h31.99a12 12 0 0 0 11.59-8.9l52.81-197z'));\nexports.FileUnknownFill = getIcon('file-unknown', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM402 549c0 5.4 4.4 9.5 9.8 9.5h32.4c5.4 0 9.8-4.2 9.8-9.4 0-28.2 25.8-51.6 58-51.6s58 23.4 58 51.5c0 25.3-21 47.2-49.3 50.9-19.3 2.8-34.5 20.3-34.7 40.1v32c0 5.5 4.5 10 10 10h32c5.5 0 10-4.5 10-10v-12.2c0-6 4-11.5 9.7-13.3 44.6-14.4 75-54 74.3-98.9-.8-55.5-49.2-100.8-108.5-101.6-61.4-.7-111.5 45.6-111.5 103zm110 227a32 32 0 1 0 0-64 32 32 0 0 0 0 64z'));\nexports.FileZipFill = getIcon('file-zip', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM296 136v64h64v-64h-64zm64 64v64h64v-64h-64zm-64 64v64h64v-64h-64zm64 64v64h64v-64h-64zm-64 64v64h64v-64h-64zm64 64v64h64v-64h-64zm-64 64v64h64v-64h-64zm0 64v160h128V584H296zm48 48h32v64h-32v-64z'));\nexports.FileFill = getIcon('file', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2z'));\nexports.FilterFill = getIcon('filter', fill, getNode(newViewBox, 'M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z'));\nexports.FireFill = getIcon('fire', fill, getNode(newViewBox, 'M834.1 469.2A347.49 347.49 0 0 0 751.2 354l-29.1-26.7a8.09 8.09 0 0 0-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 0 1-47.5 46.1 352.6 352.6 0 0 0-100.3 121.5A347.75 347.75 0 0 0 160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0 0 75.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 0 0 760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0 0 27.7-136c0-48.8-10-96.2-29.9-140.9z'));\nexports.FlagFill = getIcon('flag', fill, getNode(newViewBox, 'M880 305H624V192c0-17.7-14.3-32-32-32H184v-40c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V640h248v113c0 17.7 14.3 32 32 32h416c17.7 0 32-14.3 32-32V337c0-17.7-14.3-32-32-32z'));\nexports.FolderAddFill = getIcon('folder-add', fill, getNode(newViewBox, 'M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM632 577c0 3.8-3.4 7-7.5 7H540v84.9c0 3.9-3.2 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V584h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.8 3.4-7 7.5-7H484v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.8 0 7 3.2 7 7.1V528h84.5c4.1 0 7.5 3.2 7.5 7v42z'));\nexports.FolderFill = getIcon('folder', fill, getNode(newViewBox, 'M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32z'));\nexports.FolderOpenFill = getIcon('folder-open', fill, getNode(newViewBox, 'M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zm-180 0H238c-13 0-24.8 7.9-29.7 20L136 643.2V256h188.5l119.6 114.4H748V444z'));\nexports.ForwardFill = getIcon('forward', fill, getNode(normalViewBox, 'M825.8 498L538.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L825.8 526c8.3-7.2 8.3-20.8 0-28zm-320 0L218.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L505.8 526c4.1-3.6 6.2-8.8 6.2-14 0-5.2-2.1-10.4-6.2-14z'));\nexports.FrownFill = getIcon('frown', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm376 272h-48.1c-4.2 0-7.8-3.2-8.1-7.4C604 636.1 562.5 597 512 597s-92.1 39.1-95.8 88.6c-.3 4.2-3.9 7.4-8.1 7.4H360a8 8 0 0 1-8-8.4c4.4-84.3 74.5-151.6 160-151.6s155.6 67.3 160 151.6a8 8 0 0 1-8 8.4zm24-224a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.FundFill = getIcon('fund', fill, getNode(newViewBox, 'M926 164H94c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V196c0-17.7-14.3-32-32-32zm-92.3 194.4l-297 297.2a8.03 8.03 0 0 1-11.3 0L410.9 541.1 238.4 713.7a8.03 8.03 0 0 1-11.3 0l-36.8-36.8a8.03 8.03 0 0 1 0-11.3l214.9-215c3.1-3.1 8.2-3.1 11.3 0L531 565l254.5-254.6c3.1-3.1 8.2-3.1 11.3 0l36.8 36.8c3.2 3 3.2 8.1.1 11.2z'));\nexports.FunnelPlotFill = getIcon('funnel-plot', fill, getNode(newViewBox, 'M336.7 586h350.6l84.9-148H251.8zm543.4-432H143.9c-24.5 0-39.8 26.7-27.5 48L215 374h594l98.7-172c12.2-21.3-3.1-48-27.6-48zM349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V650H349v188z'));\nexports.GiftFill = getIcon('gift', fill, getNode(newViewBox, 'M160 894c0 17.7 14.3 32 32 32h286V550H160v344zm386 32h286c17.7 0 32-14.3 32-32V550H546v376zm334-616H732.4c13.6-21.4 21.6-46.8 21.6-74 0-76.1-61.9-138-138-138-41.4 0-78.7 18.4-104 47.4-25.3-29-62.6-47.4-104-47.4-76.1 0-138 61.9-138 138 0 27.2 7.9 52.6 21.6 74H144c-17.7 0-32 14.3-32 32v140h366V310h68v172h366V342c0-17.7-14.3-32-32-32zm-402-4h-70c-38.6 0-70-31.4-70-70s31.4-70 70-70 70 31.4 70 70v70zm138 0h-70v-70c0-38.6 31.4-70 70-70s70 31.4 70 70-31.4 70-70 70z'));\nexports.GithubFill = getIcon('github', fill, getNode(newViewBox, 'M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9a127.5 127.5 0 0 1 38.1 91v112.5c.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z'));\nexports.GitlabFill = getIcon('gitlab', fill, getNode(newViewBox, 'M910.5 553.2l-109-370.8c-6.8-20.4-23.1-34.1-44.9-34.1s-39.5 12.3-46.3 32.7l-72.2 215.4H386.2L314 181.1c-6.8-20.4-24.5-32.7-46.3-32.7s-39.5 13.6-44.9 34.1L113.9 553.2c-4.1 13.6 1.4 28.6 12.3 36.8l385.4 289 386.7-289c10.8-8.1 16.3-23.1 12.2-36.8z'));\nexports.GoldenFill = getIcon('golden', fill, getNode(newViewBox, 'M905.9 806.7l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H596.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.3-.7 7.3-4.8 6.6-9.2zm-470.2-248c-.6-3.9-4-6.7-7.9-6.7H166.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248zM342 472h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H382.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8z'));\nexports.GoogleCircleFill = getIcon('google-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm167 633.6C638.4 735 583 757 516.9 757c-95.7 0-178.5-54.9-218.8-134.9C281.5 589 272 551.6 272 512s9.5-77 26.1-110.1c40.3-80.1 123.1-135 218.8-135 66 0 121.4 24.3 163.9 63.8L610.6 401c-25.4-24.3-57.7-36.6-93.6-36.6-63.8 0-117.8 43.1-137.1 101-4.9 14.7-7.7 30.4-7.7 46.6s2.8 31.9 7.7 46.6c19.3 57.9 73.3 101 137 101 33 0 61-8.7 82.9-23.4 26-17.4 43.2-43.3 48.9-74H516.9v-94.8h230.7c2.9 16.1 4.4 32.8 4.4 50.1 0 74.7-26.7 137.4-73 180.1z'));\nexports.GooglePlusCircleFill = getIcon('google-plus-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm36.5 558.8c-43.9 61.8-132.1 79.8-200.9 53.3-69-26.3-118-99.2-112.1-173.5 1.5-90.9 85.2-170.6 176.1-167.5 43.6-2 84.6 16.9 118 43.6-14.3 16.2-29 31.8-44.8 46.3-40.1-27.7-97.2-35.6-137.3-3.6-57.4 39.7-60 133.4-4.8 176.1 53.7 48.7 155.2 24.5 170.1-50.1-33.6-.5-67.4 0-101-1.1-.1-20.1-.2-40.1-.1-60.2 56.2-.2 112.5-.3 168.8.2 3.3 47.3-3 97.5-32 136.5zM791 536.5c-16.8.2-33.6.3-50.4.4-.2 16.8-.3 33.6-.3 50.4H690c-.2-16.8-.2-33.5-.3-50.3-16.8-.2-33.6-.3-50.4-.5v-50.1c16.8-.2 33.6-.3 50.4-.3.1-16.8.3-33.6.4-50.4h50.2l.3 50.4c16.8.2 33.6.2 50.4.3v50.1z'));\nexports.GooglePlusSquareFill = getIcon('google-plus-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM548.5 622.8c-43.9 61.8-132.1 79.8-200.9 53.3-69-26.3-118-99.2-112.1-173.5 1.5-90.9 85.2-170.6 176.1-167.5 43.6-2 84.6 16.9 118 43.6-14.3 16.2-29 31.8-44.8 46.3-40.1-27.7-97.2-35.6-137.3-3.6-57.4 39.7-60 133.4-4.8 176.1 53.7 48.7 155.2 24.5 170.1-50.1-33.6-.5-67.4 0-101-1.1-.1-20.1-.2-40.1-.1-60.2 56.2-.2 112.5-.3 168.8.2 3.3 47.3-3 97.5-32 136.5zM791 536.5c-16.8.2-33.6.3-50.4.4-.2 16.8-.3 33.6-.3 50.4H690c-.2-16.8-.2-33.5-.3-50.3-16.8-.2-33.6-.3-50.4-.5v-50.1c16.8-.2 33.6-.3 50.4-.3.1-16.8.3-33.6.4-50.4h50.2l.3 50.4c16.8.2 33.6.2 50.4.3v50.1z'));\nexports.GoogleSquareFill = getIcon('google-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM679 697.6C638.4 735 583 757 516.9 757c-95.7 0-178.5-54.9-218.8-134.9A245.02 245.02 0 0 1 272 512c0-39.6 9.5-77 26.1-110.1 40.3-80.1 123.1-135 218.8-135 66 0 121.4 24.3 163.9 63.8L610.6 401c-25.4-24.3-57.7-36.6-93.6-36.6-63.8 0-117.8 43.1-137.1 101-4.9 14.7-7.7 30.4-7.7 46.6s2.8 31.9 7.7 46.6c19.3 57.9 73.3 101 137 101 33 0 61-8.7 82.9-23.4 26-17.4 43.2-43.3 48.9-74H516.9v-94.8h230.7c2.9 16.1 4.4 32.8 4.4 50.1 0 74.7-26.7 137.4-73 180.1z'));\nexports.HddFill = getIcon('hdd', fill, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v224h704V96c0-17.7-14.3-32-32-32zM456 216c0 4.4-3.6 8-8 8H264c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zM160 928c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V704H160v224zm576-136c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM160 640h704V384H160v256zm96-152c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H264c-4.4 0-8-3.6-8-8v-48z'));\nexports.HeartFill = getIcon('heart', fill, getNode(newViewBox, 'M923 283.6a260.04 260.04 0 0 0-56.9-82.8 264.4 264.4 0 0 0-84-55.5A265.34 265.34 0 0 0 679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 0 0-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9z'));\nexports.HighlightFill = getIcon('highlight', fill, getNode(newViewBox, 'M957.6 507.4L603.2 158.2a7.9 7.9 0 0 0-11.2 0L353.3 393.4a8.03 8.03 0 0 0-.1 11.3l.1.1 40 39.4-117.2 115.3a8.03 8.03 0 0 0-.1 11.3l.1.1 39.5 38.9-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8V860c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6 40.4 39.8a7.9 7.9 0 0 0 11.2 0l117.1-115.6 40.1 39.5a7.9 7.9 0 0 0 11.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2z'));\nexports.HomeFill = getIcon('home', fill, getNode(newViewBox, 'M946.5 505L534.6 93.4a31.93 31.93 0 0 0-45.2 0L77.5 505c-12 12-18.8 28.3-18.8 45.3 0 35.3 28.7 64 64 64h43.4V908c0 17.7 14.3 32 32 32H448V716h112v224h265.9c17.7 0 32-14.3 32-32V614.3h43.4c17 0 33.3-6.7 45.3-18.8 24.9-25 24.9-65.5-.1-90.5z'));\nexports.HourglassFill = getIcon('hourglass', fill, getNode(newViewBox, 'M742 318V184h86c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h86v134c0 81.5 42.4 153.2 106.4 194-64 40.8-106.4 112.5-106.4 194v134h-86c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h632c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-86V706c0-81.5-42.4-153.2-106.4-194 64-40.8 106.4-112.5 106.4-194z'));\nexports.Html5Fill = getIcon('html5', fill, getNode(newViewBox, 'M145.2 96l66 746.6L512 928l299.6-85.4L878.9 96H145.2zm595 177.1l-4.8 47.2-1.7 19.5H382.3l8.2 94.2h335.1l-3.3 24.3-21.2 242.2-1.7 16.2-187 51.6v.3h-1.2l-.3.1v-.1h-.1l-188.6-52L310.8 572h91.1l6.5 73.2 102.4 27.7h.4l102-27.6 11.4-118.6H510.9v-.1H306l-22.8-253.5-1.7-24.3h460.3l-1.6 24.3z'));\nexports.IdcardFill = getIcon('idcard', fill, getNode(newViewBox, 'M373 411c-28.5 0-51.7 23.3-51.7 52s23.2 52 51.7 52 51.7-23.3 51.7-52-23.2-52-51.7-52zm555-251H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zM608 420c0-4.4 1-8 2.3-8h123.4c1.3 0 2.3 3.6 2.3 8v48c0 4.4-1 8-2.3 8H610.3c-1.3 0-2.3-3.6-2.3-8v-48zm-86 253h-43.9c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.5-46-90.5-97.2-90.5s-93.4 40-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5H224a8 8 0 0 1-8-8.4c2.8-53.3 32-99.7 74.6-126.1a111.8 111.8 0 0 1-29.1-75.5c0-61.9 49.9-112 111.4-112s111.4 50.1 111.4 112c0 29.1-11 55.5-29.1 75.5 42.7 26.5 71.8 72.8 74.6 126.1.4 4.6-3.2 8.4-7.8 8.4zm278.9-53H615.1c-3.9 0-7.1-3.6-7.1-8v-48c0-4.4 3.2-8 7.1-8h185.7c3.9 0 7.1 3.6 7.1 8v48h.1c0 4.4-3.2 8-7.1 8z'));\nexports.IeCircleFill = getIcon('ie-circle', fill, getNode(newViewBox, 'M693.6 284.4c-24 0-51.1 11.7-72.6 22 46.3 18 86 57.3 112.3 99.6 7.1-18.9 14.6-47.9 14.6-67.9 0-32-22.8-53.7-54.3-53.7zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm253.9 492.9H437.1c0 100.4 144.3 136 196.8 47.4h120.8c-32.6 91.7-119.7 146-216.8 146-35.1 0-70.3-.1-101.7-15.6-87.4 44.5-180.3 56.6-180.3-42 0-45.8 23.2-107.1 44-145C335 484 381.3 422.8 435.6 374.5c-43.7 18.9-91.1 66.3-122 101.2 25.9-112.8 129.5-193.6 237.1-186.5 130-59.8 209.7-34.1 209.7 38.6 0 27.4-10.6 63.3-21.4 87.9 25.2 45.5 33.3 97.6 26.9 141.2zM540.5 399.1c-53.7 0-102 39.7-104 94.9h208c-2-55.1-50.6-94.9-104-94.9zM320.6 602.9c-73 152.4 11.5 172.2 100.3 123.3-46.6-27.5-82.6-72.2-100.3-123.3z'));\nexports.IeSquareFill = getIcon('ie-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM765.9 556.9H437.1c0 100.4 144.3 136 196.8 47.4h120.8c-32.6 91.7-119.7 146-216.8 146-35.1 0-70.3-.1-101.7-15.6-87.4 44.5-180.3 56.6-180.3-42 0-45.8 23.2-107.1 44-145C335 484 381.3 422.8 435.6 374.5c-43.7 18.9-91.1 66.3-122 101.2 25.9-112.8 129.5-193.6 237.1-186.5 130-59.8 209.7-34.1 209.7 38.6 0 27.4-10.6 63.3-21.4 87.9 25.2 45.5 33.3 97.6 26.9 141.2zm-72.3-272.5c-24 0-51.1 11.7-72.6 22 46.3 18 86 57.3 112.3 99.6 7.1-18.9 14.6-47.9 14.6-67.9 0-32-22.8-53.7-54.3-53.7zM540.5 399.1c-53.7 0-102 39.7-104 94.9h208c-2-55.1-50.6-94.9-104-94.9zM320.6 602.9c-73 152.4 11.5 172.2 100.3 123.3-46.6-27.5-82.6-72.2-100.3-123.3z'));\nexports.InfoCircleFill = getIcon('info-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.InstagramFill = getIcon('instagram', fill, getNode(newViewBox, 'M512 378.7c-73.4 0-133.3 59.9-133.3 133.3S438.6 645.3 512 645.3 645.3 585.4 645.3 512 585.4 378.7 512 378.7zM911.8 512c0-55.2.5-109.9-2.6-165-3.1-64-17.7-120.8-64.5-167.6-46.9-46.9-103.6-61.4-167.6-64.5-55.2-3.1-109.9-2.6-165-2.6-55.2 0-109.9-.5-165 2.6-64 3.1-120.8 17.7-167.6 64.5C132.6 226.3 118.1 283 115 347c-3.1 55.2-2.6 109.9-2.6 165s-.5 109.9 2.6 165c3.1 64 17.7 120.8 64.5 167.6 46.9 46.9 103.6 61.4 167.6 64.5 55.2 3.1 109.9 2.6 165 2.6 55.2 0 109.9.5 165-2.6 64-3.1 120.8-17.7 167.6-64.5 46.9-46.9 61.4-103.6 64.5-167.6 3.2-55.1 2.6-109.8 2.6-165zM512 717.1c-113.5 0-205.1-91.6-205.1-205.1S398.5 306.9 512 306.9 717.1 398.5 717.1 512 625.5 717.1 512 717.1zm213.5-370.7c-26.5 0-47.9-21.4-47.9-47.9s21.4-47.9 47.9-47.9 47.9 21.4 47.9 47.9a47.84 47.84 0 0 1-47.9 47.9z'));\nexports.InsuranceFill = getIcon('insurance', fill, getNode(newViewBox, 'M519.9 358.8h97.9v41.6h-97.9zm347-188.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM411.3 656h-.2c0 4.4-3.6 8-8 8h-37.3c-4.4 0-8-3.6-8-8V471.4c-7.7 9.2-15.4 17.9-23.1 26a6.04 6.04 0 0 1-10.2-2.4l-13.2-43.5c-.6-2-.2-4.1 1.2-5.6 37-43.4 64.7-95.1 82.2-153.6 1.1-3.5 5-5.3 8.4-3.7l38.6 18.3c2.7 1.3 4.1 4.4 3.2 7.2a429.2 429.2 0 0 1-33.6 79V656zm296.5-49.2l-26.3 35.3a5.92 5.92 0 0 1-8.9.7c-30.6-29.3-56.8-65.2-78.1-106.9V656c0 4.4-3.6 8-8 8h-36.2c-4.4 0-8-3.6-8-8V536c-22 44.7-49 80.8-80.6 107.6a5.9 5.9 0 0 1-8.9-1.4L430 605.7a6 6 0 0 1 1.6-8.1c28.6-20.3 51.9-45.2 71-76h-55.1c-4.4 0-8-3.6-8-8V478c0-4.4 3.6-8 8-8h94.9v-18.6h-65.9c-4.4 0-8-3.6-8-8V316c0-4.4 3.6-8 8-8h184.7c4.4 0 8 3.6 8 8v127.2c0 4.4-3.6 8-8 8h-66.7v18.6h98.8c4.4 0 8 3.6 8 8v35.6c0 4.4-3.6 8-8 8h-59c18.1 29.1 41.8 54.3 72.3 76.9 2.6 2.1 3.2 5.9 1.2 8.5z'));\nexports.InteractionFill = getIcon('interaction', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM726 585.7c0 55.3-44.7 100.1-99.7 100.1H420.6v53.4c0 5.7-6.5 8.8-10.9 5.3l-109.1-85.7c-3.5-2.7-3.5-8 0-10.7l109.1-85.7c4.4-3.5 10.9-.3 10.9 5.3v53.4h205.7c19.6 0 35.5-16 35.5-35.6v-78.9c0-3.7 3-6.8 6.8-6.8h50.7c3.7 0 6.8 3 6.8 6.8v79.1zm-2.6-209.9l-109.1 85.7c-4.4 3.5-10.9.3-10.9-5.3v-53.4H397.7c-19.6 0-35.5 16-35.5 35.6v78.9c0 3.7-3 6.8-6.8 6.8h-50.7c-3.7 0-6.8-3-6.8-6.8v-78.9c0-55.3 44.7-100.1 99.7-100.1h205.7v-53.4c0-5.7 6.5-8.8 10.9-5.3l109.1 85.7c3.6 2.5 3.6 7.8.1 10.5z'));\nexports.InterationFill = getIcon('interation', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM726 585.7c0 55.3-44.7 100.1-99.7 100.1H420.6v53.4c0 5.7-6.5 8.8-10.9 5.3l-109.1-85.7c-3.5-2.7-3.5-8 0-10.7l109.1-85.7c4.4-3.5 10.9-.3 10.9 5.3v53.4h205.7c19.6 0 35.5-16 35.5-35.6v-78.9c0-3.7 3-6.8 6.8-6.8h50.7c3.7 0 6.8 3 6.8 6.8v79.1zm-2.6-209.9l-109.1 85.7c-4.4 3.5-10.9.3-10.9-5.3v-53.4H397.7c-19.6 0-35.5 16-35.5 35.6v78.9c0 3.7-3 6.8-6.8 6.8h-50.7c-3.7 0-6.8-3-6.8-6.8v-78.9c0-55.3 44.7-100.1 99.7-100.1h205.7v-53.4c0-5.7 6.5-8.8 10.9-5.3l109.1 85.7c3.6 2.5 3.6 7.8.1 10.5z'));\nexports.LayoutFill = getIcon('layout', fill, getNode(newViewBox, 'M384 912h496c17.7 0 32-14.3 32-32V340H384v572zm496-800H384v164h528V144c0-17.7-14.3-32-32-32zm-768 32v736c0 17.7 14.3 32 32 32h176V112H144c-17.7 0-32 14.3-32 32z'));\nexports.LeftCircleFill = getIcon('left-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm104 316.9c0 10.2-4.9 19.9-13.2 25.9L457.4 512l145.4 105.2c8.3 6 13.2 15.6 13.2 25.9V690c0 6.5-7.4 10.3-12.7 6.5l-246-178a7.95 7.95 0 0 1 0-12.9l246-178a8 8 0 0 1 12.7 6.5v46.8z'));\nexports.LeftSquareFill = getIcon('left-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM624 380.9c0 10.2-4.9 19.9-13.2 25.9L465.4 512l145.4 105.2c8.3 6 13.2 15.6 13.2 25.9V690c0 6.5-7.4 10.3-12.7 6.5l-246-178a7.95 7.95 0 0 1 0-12.9l246-178c5.3-3.8 12.7 0 12.7 6.5v46.8z'));\nexports.LikeFill = getIcon('like', fill, getNode(newViewBox, 'M885.9 533.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.4-65.5-111.1a67.67 67.67 0 0 0-34.3-9.3H572.4l6-122.9c1.4-29.7-9.1-57.9-29.5-79.4A106.62 106.62 0 0 0 471 99.9c-52 0-98 35-111.8 85.1l-85.9 311h-.3v428h472.3c9.2 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7-.2-12.6-2-25.1-5.6-37.1zM112 528v364c0 17.7 14.3 32 32 32h65V496h-65c-17.7 0-32 14.3-32 32z'));\nexports.LockFill = getIcon('lock', fill, getNode(newViewBox, 'M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM540 701v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 1 1 56 0zm152-237H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224z'));\nexports.LinkedinFill = getIcon('linkedin', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM349.3 793.7H230.6V411.9h118.7v381.8zm-59.3-434a68.8 68.8 0 1 1 68.8-68.8c-.1 38-30.9 68.8-68.8 68.8zm503.7 434H675.1V608c0-44.3-.8-101.2-61.7-101.2-61.7 0-71.2 48.2-71.2 98v188.9H423.7V411.9h113.8v52.2h1.6c15.8-30 54.5-61.7 112.3-61.7 120.2 0 142.3 79.1 142.3 181.9v209.4z'));\nexports.MailFill = getIcon('mail', fill, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-80.8 108.9L531.7 514.4c-7.8 6.1-18.7 6.1-26.5 0L189.6 268.9A7.2 7.2 0 0 1 194 256h648.8a7.2 7.2 0 0 1 4.4 12.9z'));\nexports.MedicineBoxFill = getIcon('medicine-box', fill, getNode(newViewBox, 'M839.2 278.1a32 32 0 0 0-30.4-22.1H736V144c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v112h-72.8a31.9 31.9 0 0 0-30.4 22.1L112 502v378c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V502l-72.8-223.9zM660 628c0 4.4-3.6 8-8 8H544v108c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V636H372c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h108V464c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v108h108c4.4 0 8 3.6 8 8v48zm4-372H360v-72h304v72z'));\nexports.MediumCircleFill = getIcon('medium-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm256 253.7l-40.8 39.1c-3.6 2.7-5.3 7.1-4.6 11.4v287.7c-.7 4.4 1 8.8 4.6 11.4l40 39.1v8.7H566.4v-8.3l41.3-40.1c4.1-4.1 4.1-5.3 4.1-11.4V422.5l-115 291.6h-15.5L347.5 422.5V618c-1.2 8.2 1.7 16.5 7.5 22.4l53.8 65.1v8.7H256v-8.7l53.8-65.1a26.1 26.1 0 0 0 7-22.4V392c.7-6.3-1.7-12.4-6.5-16.7l-47.8-57.6V309H411l114.6 251.5 100.9-251.3H768v8.5z'));\nexports.MediumSquareFill = getIcon('medium-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM768 317.7l-40.8 39.1c-3.6 2.7-5.3 7.1-4.6 11.4v287.7c-.7 4.4 1 8.8 4.6 11.4l40 39.1v8.7H566.4v-8.3l41.3-40.1c4.1-4.1 4.1-5.3 4.1-11.4V422.5l-115 291.6h-15.5L347.5 422.5V618c-1.2 8.2 1.7 16.5 7.5 22.4l53.8 65.1v8.7H256v-8.7l53.8-65.1a26.1 26.1 0 0 0 7-22.4V392c.7-6.3-1.7-12.4-6.5-16.7l-47.8-57.6V309H411l114.6 251.5 100.9-251.3H768v8.5z'));\nexports.MehFill = getIcon('meh', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm384 200c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h304c4.4 0 8 3.6 8 8v48zm16-152a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.MessageFill = getIcon('message', fill, getNode(newViewBox, 'M924.3 338.4a447.57 447.57 0 0 0-96.1-143.3 443.09 443.09 0 0 0-143-96.3A443.91 443.91 0 0 0 512 64h-2c-60.5.3-119 12.3-174.1 35.9a444.08 444.08 0 0 0-141.7 96.5 445 445 0 0 0-95 142.8A449.89 449.89 0 0 0 65 514.1c.3 69.4 16.9 138.3 47.9 199.9v152c0 25.4 20.6 46 45.9 46h151.8a447.72 447.72 0 0 0 199.5 48h2.1c59.8 0 117.7-11.6 172.3-34.3A443.2 443.2 0 0 0 827 830.5c41.2-40.9 73.6-88.7 96.3-142 23.5-55.2 35.5-113.9 35.8-174.5.2-60.9-11.6-120-34.8-175.6zM312.4 560c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.4 48-47.9 48zm199.6 0c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.5 48-47.9 48zm199.6 0c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.5 48-47.9 48z'));\nexports.MinusCircleFill = getIcon('minus-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm192 472c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48z'));\nexports.MinusSquareFill = getIcon('minus-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM704 536c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48z'));\nexports.MobileFill = getIcon('mobile', fill, getNode(newViewBox, 'M744 62H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V126c0-35.3-28.7-64-64-64zM512 824c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z'));\nexports.MoneyCollectFill = getIcon('money-collect', fill, getNode(newViewBox, 'M911.5 699.7a8 8 0 0 0-10.3-4.8L840 717.2V179c0-37.6-30.4-68-68-68H252c-37.6 0-68 30.4-68 68v538.2l-61.3-22.3c-.9-.3-1.8-.5-2.7-.5-4.4 0-8 3.6-8 8V762c0 3.3 2.1 6.3 5.3 7.5L501 909.1c7.1 2.6 14.8 2.6 21.9 0l383.8-139.5c3.2-1.2 5.3-4.2 5.3-7.5v-59.6c0-1-.2-1.9-.5-2.8zm-243.8-377L564 514.3h57.6c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3v39h76.3c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3V703c0 4.4-3.6 8-8 8h-49.9c-4.4 0-8-3.6-8-8v-63.4h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h76v-39h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h57L356.5 322.8c-2.1-3.8-.7-8.7 3.2-10.8 1.2-.7 2.5-1 3.8-1h55.7a8 8 0 0 1 7.1 4.4L511 484.2h3.3L599 315.4c1.3-2.7 4.1-4.4 7.1-4.4h54.5c4.4 0 8 3.6 8.1 7.9 0 1.3-.4 2.6-1 3.8z'));\nexports.PauseCircleFill = getIcon('pause-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-80 600c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z'));\nexports.PayCircleFill = getIcon('pay-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm166.6 246.8L567.5 515.6h62c4.4 0 8 3.6 8 8v29.9c0 4.4-3.6 8-8 8h-82V603h82c4.4 0 8 3.6 8 8v29.9c0 4.4-3.6 8-8 8h-82V717c0 4.4-3.6 8-8 8h-54.3c-4.4 0-8-3.6-8-8v-68.1h-81.7c-4.4 0-8-3.6-8-8V611c0-4.4 3.6-8 8-8h81.7v-41.5h-81.7c-4.4 0-8-3.6-8-8v-29.9c0-4.4 3.6-8 8-8h61.4L345.4 310.8a8.07 8.07 0 0 1 7-11.9h60.7c3 0 5.8 1.7 7.1 4.4l90.6 180h3.4l90.6-180a8 8 0 0 1 7.1-4.4h59.5c4.4 0 8 3.6 8 8 .2 1.4-.2 2.7-.8 3.9z'));\nexports.NotificationFill = getIcon('notification', fill, getNode(newViewBox, 'M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.6c-3.7 11.6-5.6 23.9-5.6 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1z'));\nexports.PhoneFill = getIcon('phone', fill, getNode(newViewBox, 'M885.6 230.2L779.1 123.8a80.83 80.83 0 0 0-57.3-23.8c-21.7 0-42.1 8.5-57.4 23.8L549.8 238.4a80.83 80.83 0 0 0-23.8 57.3c0 21.7 8.5 42.1 23.8 57.4l83.8 83.8A393.82 393.82 0 0 1 553.1 553 395.34 395.34 0 0 1 437 633.8L353.2 550a80.83 80.83 0 0 0-57.3-23.8c-21.7 0-42.1 8.5-57.4 23.8L123.8 664.5a80.89 80.89 0 0 0-23.8 57.4c0 21.7 8.5 42.1 23.8 57.4l106.3 106.3c24.4 24.5 58.1 38.4 92.7 38.4 7.3 0 14.3-.6 21.2-1.8 134.8-22.2 268.5-93.9 376.4-201.7C828.2 612.8 899.8 479.2 922.3 344c6.8-41.3-6.9-83.8-36.7-113.8z'));\nexports.PictureFill = getIcon('picture', fill, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zM338 304c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm513.9 437.1a8.11 8.11 0 0 1-5.2 1.9H177.2c-4.4 0-8-3.6-8-8 0-1.9.7-3.7 1.9-5.2l170.3-202c2.8-3.4 7.9-3.8 11.3-1 .3.3.7.6 1 1l99.4 118 158.1-187.5c2.8-3.4 7.9-3.8 11.3-1 .3.3.7.6 1 1l229.6 271.6c2.6 3.3 2.2 8.4-1.2 11.2z'));\nexports.PieChartFill = getIcon('pie-chart', fill, getNode(newViewBox, 'M863.1 518.5H505.5V160.9c0-4.4-3.6-8-8-8h-26a398.57 398.57 0 0 0-282.5 117 397.47 397.47 0 0 0-85.6 127C82.6 446.2 72 498.5 72 552.5S82.6 658.7 103.4 708c20.1 47.5 48.9 90.3 85.6 127 36.7 36.7 79.4 65.5 127 85.6a396.64 396.64 0 0 0 155.6 31.5 398.57 398.57 0 0 0 282.5-117c36.7-36.7 65.5-79.4 85.6-127a396.64 396.64 0 0 0 31.5-155.6v-26c-.1-4.4-3.7-8-8.1-8zM951 463l-2.6-28.2c-8.5-92-49.3-178.8-115.1-244.3A398.5 398.5 0 0 0 588.4 75.6L560.1 73c-4.7-.4-8.7 3.2-8.7 7.9v383.7c0 4.4 3.6 8 8 8l383.6-1c4.7-.1 8.4-4 8-8.6z'));\nexports.PlayCircleFill = getIcon('play-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm144.1 454.9L437.7 677.8a8.02 8.02 0 0 1-12.7-6.5V353.7a8 8 0 0 1 12.7-6.5L656.1 506a7.9 7.9 0 0 1 0 12.9z'));\nexports.PlaySquareFill = getIcon('play-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM641.7 520.8L442.3 677.6c-7.4 5.8-18.3.6-18.3-8.8V355.3c0-9.4 10.9-14.7 18.3-8.8l199.4 156.7a11.2 11.2 0 0 1 0 17.6z'));\nexports.PlusCircleFill = getIcon('plus-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm192 472c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48z'));\nexports.PlusSquareFill = getIcon('plus-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM704 536c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48z'));\nexports.PoundCircleFill = getIcon('pound-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm146 658c0 4.4-3.6 8-8 8H376.2c-4.4 0-8-3.6-8-8v-38.5c0-3.7 2.5-6.9 6.1-7.8 44-10.9 72.8-49 72.8-94.2 0-14.7-2.5-29.4-5.9-44.2H374c-4.4 0-8-3.6-8-8v-30c0-4.4 3.6-8 8-8h53.7c-7.8-25.1-14.6-50.7-14.6-77.1 0-75.8 58.6-120.3 151.5-120.3 26.5 0 51.4 5.5 70.3 12.7 3.1 1.2 5.2 4.2 5.2 7.5v39.5a8 8 0 0 1-10.6 7.6c-17.9-6.4-39-10.5-60.4-10.5-53.3 0-87.3 26.6-87.3 70.2 0 24.7 6.2 47.9 13.4 70.5h112c4.4 0 8 3.6 8 8v30c0 4.4-3.6 8-8 8h-98.6c3.1 13.2 5.3 26.9 5.3 41 0 40.7-16.5 73.9-43.9 91.1v4.7h180c4.4 0 8 3.6 8 8V722z'));\nexports.PrinterFill = getIcon('printer', fill, getNode(newViewBox, 'M732 120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v148h440V120zm120 212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM664 844H360V568h304v276zm164-360c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v40z'));\nexports.ProfileFill = getIcon('profile', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM380 696c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm0-144c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm0-144c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm304 272c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-144c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-144c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48z'));\nexports.ProjectFill = getIcon('project', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM368 744c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v464zm192-280c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v184zm192 72c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v256z'));\nexports.PushpinFill = getIcon('pushpin', fill, getNode(newViewBox, 'M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3-15.4 12.3-16.6 35.4-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8z'));\nexports.PropertySafetyFill = getIcon('property-safety', fill, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM648.3 332.8l-87.7 161.1h45.7c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4v29.7h63.4c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4V658c0 5.5-4.5 10-10 10h-41.3c-5.5 0-10-4.5-10-10v-51.8h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h63.1v-29.7h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h45.2l-88-161.1c-2.6-4.8-.9-10.9 4-13.6 1.5-.8 3.1-1.2 4.8-1.2h46c3.8 0 7.2 2.1 8.9 5.5l72.9 144.3 73.2-144.3a10 10 0 0 1 8.9-5.5h45c5.5 0 10 4.5 10 10 .1 1.7-.3 3.3-1.1 4.8z'));\nexports.QqCircleFill = getIcon('qq-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm210.5 612.4c-11.5 1.4-44.9-52.7-44.9-52.7 0 31.3-16.2 72.2-51.1 101.8 16.9 5.2 54.9 19.2 45.9 34.4-7.3 12.3-125.6 7.9-159.8 4-34.2 3.8-152.5 8.3-159.8-4-9.1-15.2 28.9-29.2 45.8-34.4-35-29.5-51.1-70.4-51.1-101.8 0 0-33.4 54.1-44.9 52.7-5.4-.7-12.4-29.6 9.4-99.7 10.3-33 22-60.5 40.2-105.8-3.1-116.9 45.3-215 160.4-215 113.9 0 163.3 96.1 160.4 215 18.1 45.2 29.9 72.8 40.2 105.8 21.7 70.1 14.6 99.1 9.3 99.7z'));\nexports.QqSquareFill = getIcon('qq-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM722.5 676.4c-11.5 1.4-44.9-52.7-44.9-52.7 0 31.3-16.2 72.2-51.1 101.8 16.9 5.2 54.9 19.2 45.9 34.4-7.3 12.3-125.6 7.9-159.8 4-34.2 3.8-152.5 8.3-159.8-4-9.1-15.2 28.9-29.2 45.8-34.4-35-29.5-51.1-70.4-51.1-101.8 0 0-33.4 54.1-44.9 52.7-5.4-.7-12.4-29.6 9.4-99.7 10.3-33 22-60.5 40.2-105.8-3.1-116.9 45.3-215 160.4-215 113.9 0 163.3 96.1 160.4 215 18.1 45.2 29.9 72.8 40.2 105.8 21.7 70.1 14.6 99.1 9.3 99.7z'));\nexports.QuestionCircleFill = getIcon('question-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 708c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm62.9-219.5a48.3 48.3 0 0 0-30.9 44.8V620c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-21.5c0-23.1 6.7-45.9 19.9-64.9 12.9-18.6 30.9-32.8 52.1-40.9 34-13.1 56-41.6 56-72.7 0-44.1-43.1-80-96-80s-96 35.9-96 80v7.6c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V420c0-39.3 17.2-76 48.4-103.3C430.4 290.4 470 276 512 276s81.6 14.5 111.6 40.7C654.8 344 672 380.7 672 420c0 57.8-38.1 109.8-97.1 132.5z'));\nexports.ReadFill = getIcon('read', fill, getNode(newViewBox, 'M928 161H699.2c-49.1 0-97.1 14.1-138.4 40.7L512 233l-48.8-31.3A255.2 255.2 0 0 0 324.8 161H96c-17.7 0-32 14.3-32 32v568c0 17.7 14.3 32 32 32h228.8c49.1 0 97.1 14.1 138.4 40.7l44.4 28.6c1.3.8 2.8 1.3 4.3 1.3s3-.4 4.3-1.3l44.4-28.6C602 807.1 650.1 793 699.2 793H928c17.7 0 32-14.3 32-32V193c0-17.7-14.3-32-32-32zM404 553.5c0 4.1-3.2 7.5-7.1 7.5H211.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45zm0-140c0 4.1-3.2 7.5-7.1 7.5H211.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45zm416 140c0 4.1-3.2 7.5-7.1 7.5H627.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45zm0-140c0 4.1-3.2 7.5-7.1 7.5H627.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45z'));\nexports.ReconciliationFill = getIcon('reconciliation', fill, getNode(newViewBox, 'M676 623c-18.8 0-34 15.2-34 34s15.2 34 34 34 34-15.2 34-34-15.2-34-34-34zm204-455H668c0-30.9-25.1-56-56-56h-80c-30.9 0-56 25.1-56 56H264c-17.7 0-32 14.3-32 32v200h-88c-17.7 0-32 14.3-32 32v448c0 17.7 14.3 32 32 32h336c17.7 0 32-14.3 32-32v-16h368c17.7 0 32-14.3 32-32V200c0-17.7-14.3-32-32-32zM448 848H176V616h272v232zm0-296H176v-88h272v88zm20-272v-48h72v-56h64v56h72v48H468zm180 168v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8zm28 301c-50.8 0-92-41.2-92-92s41.2-92 92-92 92 41.2 92 92-41.2 92-92 92zm92-245c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-96c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v96zm-92 61c-50.8 0-92 41.2-92 92s41.2 92 92 92 92-41.2 92-92-41.2-92-92-92zm0 126c-18.8 0-34-15.2-34-34s15.2-34 34-34 34 15.2 34 34-15.2 34-34 34z'));\nexports.RedEnvelopeFill = getIcon('red-envelope', fill, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM647 470.4l-87.2 161h45.9c4.6 0 8.4 3.8 8.4 8.4v25.1c0 4.6-3.8 8.4-8.4 8.4h-63.3v28.6h63.3c4.6 0 8.4 3.8 8.4 8.4v25c.2 4.6-3.6 8.5-8.2 8.5h-63.3v49.9c0 4.6-3.8 8.4-8.4 8.4h-43.7c-4.6 0-8.4-3.8-8.4-8.4v-49.9h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h63v-28.6h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h45.4l-87.5-161c-2.2-4.1-.7-9.1 3.4-11.4 1.3-.6 2.6-1 3.9-1h48.8c3.2 0 6.1 1.8 7.5 4.6l71.9 141.8 71.9-141.9a8.5 8.5 0 0 1 7.5-4.6h47.8c4.6 0 8.4 3.8 8.4 8.4-.1 1.5-.5 2.9-1.1 4.1zM512.6 323L289 148h446L512.6 323z'));\nexports.RedditCircleFill = getIcon('reddit-circle', fill, getNode(newViewBox, 'M584 548a36 36 0 1 0 72 0 36 36 0 1 0-72 0zm144-108a35.9 35.9 0 0 0-32.5 20.6c18.8 14.3 34.4 30.7 45.9 48.8A35.98 35.98 0 0 0 728 440zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm245 477.9c4.6 13.5 7 27.6 7 42.1 0 99.4-112.8 180-252 180s-252-80.6-252-180c0-14.5 2.4-28.6 7-42.1A72.01 72.01 0 0 1 296 404c27.1 0 50.6 14.9 62.9 37 36.2-19.8 80.2-32.8 128.1-36.1l58.4-131.1c4.3-9.8 15.2-14.8 25.5-11.8l91.6 26.5a54.03 54.03 0 0 1 101.6 25.6c0 29.8-24.2 54-54 54-23.5 0-43.5-15.1-50.9-36.1L577 308.3l-43 96.5c49.1 3 94.2 16.1 131.2 36.3 12.3-22.1 35.8-37 62.9-37 39.8 0 72 32.2 72 72-.1 29.3-17.8 54.6-43.1 65.8zm-171.3 83c-14.9 11.7-44.3 24.3-73.7 24.3s-58.9-12.6-73.7-24.3c-9.3-7.3-22.7-5.7-30 3.6-7.3 9.3-5.7 22.7 3.6 30 25.7 20.4 65 33.5 100.1 33.5 35.1 0 74.4-13.1 100.2-33.5 9.3-7.3 10.9-20.8 3.6-30a21.46 21.46 0 0 0-30.1-3.6zM296 440a35.98 35.98 0 0 0-13.4 69.4c11.5-18.1 27.1-34.5 45.9-48.8A35.9 35.9 0 0 0 296 440zm72 108a36 36 0 1 0 72 0 36 36 0 1 0-72 0z'));\nexports.RedditSquareFill = getIcon('reddit-square', fill, getNode(newViewBox, 'M296 440a35.98 35.98 0 0 0-13.4 69.4c11.5-18.1 27.1-34.5 45.9-48.8A35.9 35.9 0 0 0 296 440zm289.7 184.9c-14.9 11.7-44.3 24.3-73.7 24.3s-58.9-12.6-73.7-24.3c-9.3-7.3-22.7-5.7-30 3.6-7.3 9.3-5.7 22.7 3.6 30 25.7 20.4 65 33.5 100.1 33.5 35.1 0 74.4-13.1 100.2-33.5 9.3-7.3 10.9-20.8 3.6-30a21.46 21.46 0 0 0-30.1-3.6zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM757 541.9c4.6 13.5 7 27.6 7 42.1 0 99.4-112.8 180-252 180s-252-80.6-252-180c0-14.5 2.4-28.6 7-42.1A72.01 72.01 0 0 1 296 404c27.1 0 50.6 14.9 62.9 37 36.2-19.8 80.2-32.8 128.1-36.1l58.4-131.1c4.3-9.8 15.2-14.8 25.5-11.8l91.6 26.5a54.03 54.03 0 0 1 101.6 25.6c0 29.8-24.2 54-54 54-23.5 0-43.5-15.1-50.9-36.1L577 308.3l-43 96.5c49.1 3 94.2 16.1 131.2 36.3 12.3-22.1 35.8-37 62.9-37 39.8 0 72 32.2 72 72-.1 29.3-17.8 54.6-43.1 65.8zM584 548a36 36 0 1 0 72 0 36 36 0 1 0-72 0zm144-108a35.9 35.9 0 0 0-32.5 20.6c18.8 14.3 34.4 30.7 45.9 48.8A35.98 35.98 0 0 0 728 440zM368 548a36 36 0 1 0 72 0 36 36 0 1 0-72 0z'));\nexports.RestFill = getIcon('rest', fill, getNode(newViewBox, 'M832 256h-28.1l-35.7-120.9c-4-13.7-16.5-23.1-30.7-23.1h-451c-14.3 0-26.8 9.4-30.7 23.1L220.1 256H192c-17.7 0-32 14.3-32 32v28c0 4.4 3.6 8 8 8h45.8l47.7 558.7a32 32 0 0 0 31.9 29.3h429.2a32 32 0 0 0 31.9-29.3L802.2 324H856c4.4 0 8-3.6 8-8v-28c0-17.7-14.3-32-32-32zM508 704c-79.5 0-144-64.5-144-144s64.5-144 144-144 144 64.5 144 144-64.5 144-144 144zM291 256l22.4-76h397.2l22.4 76H291zm137 304a80 80 0 1 0 160 0 80 80 0 1 0-160 0z'));\nexports.RightCircleFill = getIcon('right-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm154.7 454.5l-246 178c-5.3 3.8-12.7 0-12.7-6.5v-46.9c0-10.2 4.9-19.9 13.2-25.9L566.6 512 421.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.8 0 13z'));\nexports.RocketFill = getIcon('rocket', fill, getNode(newViewBox, 'M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 0 0-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0 0 43.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0 0 43.1-30.5 97.52 97.52 0 0 0 21.4-60.8c0-8.4-1.1-16.4-3.1-23.8L864 736zM512 352a48.01 48.01 0 0 1 0 96 48.01 48.01 0 0 1 0-96zm116.1 432.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5s-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 0 1-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5z'));\nexports.RightSquareFill = getIcon('right-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM658.7 518.5l-246 178c-5.3 3.8-12.7 0-12.7-6.5v-46.9c0-10.2 4.9-19.9 13.2-25.9L558.6 512 413.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.8 0 13z'));\nexports.SafetyCertificateFill = getIcon('safety-certificate', fill, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM694.5 340.7L481.9 633.4a16.1 16.1 0 0 1-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.1 0 10 2.5 13 6.6l64.7 89 150.9-207.8c3-4.1 7.8-6.6 13-6.6H688c6.5.1 10.3 7.5 6.5 12.8z'));\nexports.SaveFill = getIcon('save', fill, getNode(newViewBox, 'M893.3 293.3L730.7 130.7c-12-12-28.3-18.7-45.3-18.7H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 176h256v112H384V176zm128 554c-79.5 0-144-64.5-144-144s64.5-144 144-144 144 64.5 144 144-64.5 144-144 144zm0-224c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80z'));\nexports.ScheduleFill = getIcon('schedule', fill, getNode(newViewBox, 'M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zM424 688c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-136c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm374.5-91.3l-165 228.7a15.9 15.9 0 0 1-25.8 0L493.5 531.2c-3.8-5.3 0-12.7 6.5-12.7h54.9c5.1 0 9.9 2.5 12.9 6.6l52.8 73.1 103.7-143.7c3-4.2 7.8-6.6 12.9-6.6H792c6.5.1 10.3 7.5 6.5 12.8z'));\nexports.SecurityScanFill = getIcon('security-scan', fill, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM626.8 554c-48.5 48.5-123 55.2-178.6 20.1l-77.5 77.5a8.03 8.03 0 0 1-11.3 0l-34-34a8.03 8.03 0 0 1 0-11.3l77.5-77.5c-35.1-55.7-28.4-130.1 20.1-178.6 56.3-56.3 147.5-56.3 203.8 0 56.3 56.3 56.3 147.5 0 203.8zm-158.54-45.27a80.1 80.1 0 1 0 113.27-113.28 80.1 80.1 0 1 0-113.27 113.28z'));\nexports.SettingFill = getIcon('setting', fill, getNode(newViewBox, 'M512.5 390.6c-29.9 0-57.9 11.6-79.1 32.8-21.1 21.2-32.8 49.2-32.8 79.1 0 29.9 11.7 57.9 32.8 79.1 21.2 21.1 49.2 32.8 79.1 32.8 29.9 0 57.9-11.7 79.1-32.8 21.1-21.2 32.8-49.2 32.8-79.1 0-29.9-11.7-57.9-32.8-79.1a110.96 110.96 0 0 0-79.1-32.8zm412.3 235.5l-65.4-55.9c3.1-19 4.7-38.4 4.7-57.7s-1.6-38.8-4.7-57.7l65.4-55.9a32.03 32.03 0 0 0 9.3-35.2l-.9-2.6a442.5 442.5 0 0 0-79.6-137.7l-1.8-2.1a32.12 32.12 0 0 0-35.1-9.5l-81.2 28.9c-30-24.6-63.4-44-99.6-57.5l-15.7-84.9a32.05 32.05 0 0 0-25.8-25.7l-2.7-.5c-52-9.4-106.8-9.4-158.8 0l-2.7.5a32.05 32.05 0 0 0-25.8 25.7l-15.8 85.3a353.44 353.44 0 0 0-98.9 57.3l-81.8-29.1a32 32 0 0 0-35.1 9.5l-1.8 2.1a445.93 445.93 0 0 0-79.6 137.7l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.2 56.5c-3.1 18.8-4.6 38-4.6 57 0 19.2 1.5 38.4 4.6 57l-66 56.5a32.03 32.03 0 0 0-9.3 35.2l.9 2.6c18.1 50.3 44.8 96.8 79.6 137.7l1.8 2.1a32.12 32.12 0 0 0 35.1 9.5l81.8-29.1c29.8 24.5 63 43.9 98.9 57.3l15.8 85.3a32.05 32.05 0 0 0 25.8 25.7l2.7.5a448.27 448.27 0 0 0 158.8 0l2.7-.5a32.05 32.05 0 0 0 25.8-25.7l15.7-84.9c36.2-13.6 69.6-32.9 99.6-57.5l81.2 28.9a32 32 0 0 0 35.1-9.5l1.8-2.1c34.8-41.1 61.5-87.4 79.6-137.7l.9-2.6c4.3-12.4.6-26.3-9.5-35zm-412.3 52.2c-97.1 0-175.8-78.7-175.8-175.8s78.7-175.8 175.8-175.8 175.8 78.7 175.8 175.8-78.7 175.8-175.8 175.8z'));\nexports.ShopFill = getIcon('shop', fill, getNode(newViewBox, 'M882 272.1V144c0-17.7-14.3-32-32-32H174c-17.7 0-32 14.3-32 32v128.1c-16.7 1-30 14.9-30 31.9v131.7a177 177 0 0 0 14.4 70.4c4.3 10.2 9.6 19.8 15.6 28.9v345c0 17.6 14.3 32 32 32h274V736h128v176h274c17.7 0 32-14.3 32-32V535a175 175 0 0 0 15.6-28.9c9.5-22.3 14.4-46 14.4-70.4V304c0-17-13.3-30.9-30-31.9zm-72 568H640V704c0-17.7-14.3-32-32-32H416c-17.7 0-32 14.3-32 32v136.1H214V597.9c2.9 1.4 5.9 2.8 9 4 22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 3-1.3 6-2.6 9-4v242.2zm0-568.1H214v-88h596v88z'));\nexports.ShoppingFill = getIcon('shopping', fill, getNode(newViewBox, 'M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32zm-208 0H400v-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16z'));\nexports.SketchCircleFill = getIcon('sketch-circle', fill, getNode(newViewBox, 'M582.3 625.6l147.9-166.3h-63.4zm90-202.3h62.5l-92.1-115.1zm-274.7 36L512 684.5l114.4-225.2zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm286.7 380.2L515.8 762.3c-1 1.1-2.4 1.7-3.8 1.7s-2.8-.6-3.8-1.7L225.3 444.2a5.14 5.14 0 0 1-.2-6.6L365.6 262c1-1.2 2.4-1.9 4-1.9h284.6c1.6 0 3 .7 4 1.9l140.5 175.6a4.9 4.9 0 0 1 0 6.6zm-190.5-20.9L512 326.1l-96.2 97.2zM420.3 301.1l-23.1 89.8 88.8-89.8zm183.4 0H538l88.8 89.8zm-222.4 7.1l-92.1 115.1h62.5zm-87.5 151.1l147.9 166.3-84.5-166.3z'));\nexports.SketchSquareFill = getIcon('sketch-square', fill, getNode(newViewBox, 'M608.2 423.3L512 326.1l-96.2 97.2zm-25.9 202.3l147.9-166.3h-63.4zm90-202.3h62.5l-92.1-115.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-81.3 332.2L515.8 762.3c-1 1.1-2.4 1.7-3.8 1.7s-2.8-.6-3.8-1.7L225.3 444.2a5.14 5.14 0 0 1-.2-6.6L365.6 262c1-1.2 2.4-1.9 4-1.9h284.6c1.6 0 3 .7 4 1.9l140.5 175.6a4.9 4.9 0 0 1 0 6.6zm-401.1 15.1L512 684.5l114.4-225.2zm-16.3-151.1l-92.1 115.1h62.5zm-87.5 151.1l147.9 166.3-84.5-166.3zm126.5-158.2l-23.1 89.8 88.8-89.8zm183.4 0H538l88.8 89.8z'));\nexports.SkinFill = getIcon('skin', fill, getNode(newViewBox, 'M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7a37.93 37.93 0 0 0-37-29.3H154a44 44 0 0 0-44 44v252a44 44 0 0 0 44 44h75v388a44 44 0 0 0 44 44h478a44 44 0 0 0 44-44V466h75a44 44 0 0 0 44-44V170a44 44 0 0 0-44-44z'));\nexports.SlackCircleFill = getIcon('slack-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM361.5 580.2c0 27.8-22.5 50.4-50.3 50.4a50.35 50.35 0 0 1-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h50.3v50.4zm134 134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V580.2c0-27.8 22.5-50.4 50.3-50.4a50.35 50.35 0 0 1 50.3 50.4v134.4zm-50.2-218.4h-134c-27.8 0-50.3-22.6-50.3-50.4 0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4-.1 27.9-22.6 50.4-50.3 50.4zm0-134.4c-13.3 0-26.1-5.3-35.6-14.8S395 324.8 395 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v50.4h-50.3zm83.7-50.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V311.4zM579.3 765c-27.8 0-50.3-22.6-50.3-50.4v-50.4h50.3c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm134-134.4h-134c-13.3 0-26.1-5.3-35.6-14.8S529 593.6 529 580.2c0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm0-134.4H663v-50.4c0-27.8 22.5-50.4 50.3-50.4s50.3 22.6 50.3 50.4c0 27.8-22.5 50.4-50.3 50.4z'));\nexports.SlackSquareFill = getIcon('slack-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM529 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V311.4zM361.5 580.2c0 27.8-22.5 50.4-50.3 50.4a50.35 50.35 0 0 1-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h50.3v50.4zm134 134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V580.2c0-27.8 22.5-50.4 50.3-50.4a50.35 50.35 0 0 1 50.3 50.4v134.4zm-50.2-218.4h-134c-27.8 0-50.3-22.6-50.3-50.4 0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4-.1 27.9-22.6 50.4-50.3 50.4zm0-134.4c-13.3 0-26.1-5.3-35.6-14.8S395 324.8 395 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v50.4h-50.3zm134 403.2c-27.8 0-50.3-22.6-50.3-50.4v-50.4h50.3c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm134-134.4h-134a50.35 50.35 0 0 1-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm0-134.4H663v-50.4c0-27.8 22.5-50.4 50.3-50.4s50.3 22.6 50.3 50.4c0 27.8-22.5 50.4-50.3 50.4z'));\nexports.SkypeFill = getIcon('skype', fill, getNode(newViewBox, 'M883.7 578.6c4.1-22.5 6.3-45.5 6.3-68.5 0-51-10-100.5-29.7-147-19-45-46.3-85.4-81-120.1a375.79 375.79 0 0 0-120.1-80.9c-46.6-19.7-96-29.7-147-29.7-24 0-48.1 2.3-71.5 6.8A225.1 225.1 0 0 0 335.6 113c-59.7 0-115.9 23.3-158.1 65.5A222.25 222.25 0 0 0 112 336.6c0 38 9.8 75.4 28.1 108.4-3.7 21.4-5.7 43.3-5.7 65.1 0 51 10 100.5 29.7 147 19 45 46.2 85.4 80.9 120.1 34.7 34.7 75.1 61.9 120.1 80.9 46.6 19.7 96 29.7 147 29.7 22.2 0 44.4-2 66.2-5.9 33.5 18.9 71.3 29 110 29 59.7 0 115.9-23.2 158.1-65.5 42.3-42.2 65.5-98.4 65.5-158.1.1-38-9.7-75.5-28.2-108.7zm-370 162.9c-134.2 0-194.2-66-194.2-115.4 0-25.4 18.7-43.1 44.5-43.1 57.4 0 42.6 82.5 149.7 82.5 54.9 0 85.2-29.8 85.2-60.3 0-18.3-9-38.7-45.2-47.6l-119.4-29.8c-96.1-24.1-113.6-76.1-113.6-124.9 0-101.4 95.5-139.5 185.2-139.5 82.6 0 180 45.7 180 106.5 0 26.1-22.6 41.2-48.4 41.2-49 0-40-67.8-138.7-67.8-49 0-76.1 22.2-76.1 53.9s38.7 41.8 72.3 49.5l88.4 19.6c96.8 21.6 121.3 78.1 121.3 131.3 0 82.3-63.3 143.9-191 143.9z'));\nexports.SlidersFill = getIcon('sliders', fill, getNode(newViewBox, 'M904 296h-66v-96c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v96h-66c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8h66v96c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-96h66c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8zm-584-72h-66v-56c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v56h-66c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h66v56c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-56h66c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm292 180h-66V232c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v172h-66c-4.4 0-8 3.6-8 8v200c0 4.4 3.6 8 8 8h66v172c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V620h66c4.4 0 8-3.6 8-8V412c0-4.4-3.6-8-8-8z'));\nexports.SmileFill = getIcon('smile', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm224 272c-85.5 0-155.6-67.3-160-151.6a8 8 0 0 1 8-8.4h48.1c4.2 0 7.8 3.2 8.1 7.4C420 589.9 461.5 629 512 629s92.1-39.1 95.8-88.6c.3-4.2 3.9-7.4 8.1-7.4H664a8 8 0 0 1 8 8.4C667.6 625.7 597.5 693 512 693zm176-224a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.SnippetsFill = getIcon('snippets', fill, getNode(newViewBox, 'M832 112H724V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H500V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H320c-17.7 0-32 14.3-32 32v120h-96c-17.7 0-32 14.3-32 32v632c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32v-96h96c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM664 486H514V336h.2L664 485.8v.2zm128 274h-56V456L544 264H360v-80h68v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h152v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h68v576z'));\nexports.SoundFill = getIcon('sound', fill, getNode(newViewBox, 'M892.1 737.8l-110.3-63.7a15.9 15.9 0 0 0-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0 0 21.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM760 344a15.9 15.9 0 0 0 21.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 0 0-21.7-5.9L746 287.8a15.99 15.99 0 0 0-5.8 21.8L760 344zm174 132H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zM625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1z'));\nexports.StarFill = getIcon('star', fill, getNode(newViewBox, 'M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 0 0 .6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0 0 46.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z'));\nexports.StepBackwardFill = getIcon('step-backward', fill, getNode(normalViewBox, 'M347.6 528.95l383.2 301.02c14.25 11.2 35.2 1.1 35.2-16.95V210.97c0-18.05-20.95-28.14-35.2-16.94L347.6 495.05a21.53 21.53 0 0 0 0 33.9M330 864h-64a8 8 0 0 1-8-8V168a8 8 0 0 1 8-8h64a8 8 0 0 1 8 8v688a8 8 0 0 1-8 8'));\nexports.StepForwardFill = getIcon('step-forward', fill, getNode(normalViewBox, 'M676.4 528.95L293.2 829.97c-14.25 11.2-35.2 1.1-35.2-16.95V210.97c0-18.05 20.95-28.14 35.2-16.94l383.2 301.02a21.53 21.53 0 0 1 0 33.9M694 864h64a8 8 0 0 0 8-8V168a8 8 0 0 0-8-8h-64a8 8 0 0 0-8 8v688a8 8 0 0 0 8 8'));\nexports.StopFill = getIcon('stop', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm234.8 736.5L223.5 277.2c16-19.7 34-37.7 53.7-53.7l523.3 523.3c-16 19.6-34 37.7-53.7 53.7z'));\nexports.SwitcherFill = getIcon('switcher', fill, getNode(newViewBox, 'M752 240H144c-17.7 0-32 14.3-32 32v608c0 17.7 14.3 32 32 32h608c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32zM596 606c0 4.4-3.6 8-8 8H308c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h280c4.4 0 8 3.6 8 8v48zm284-494H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h576v576c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32z'));\nexports.TabletFill = getIcon('tablet', fill, getNode(newViewBox, 'M800 64H224c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM512 824c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z'));\nexports.TagFill = getIcon('tag', fill, getNode(newViewBox, 'M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 0 0 0 14.1l363.8 363.8c1.9 1.9 4.4 2.9 7.1 2.9s5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM699 387c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z'));\nexports.TagsFill = getIcon('tags', fill, getNode(newViewBox, 'M483.2 790.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3c-2.3-.2-4.7.6-6.3 2.3L137.7 444.8a8.03 8.03 0 0 0 0 11.3l334.2 334.2c3.1 3.2 8.2 3.2 11.3 0zm122.7-533.4c18.7-18.7 49.1-18.7 67.9 0 18.7 18.7 18.7 49.1 0 67.9-18.7 18.7-49.1 18.7-67.9 0-18.7-18.7-18.7-49.1 0-67.9zm283.8 282.9l-39.6-39.5a8.03 8.03 0 0 0-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 0 0-11.3 0l-39.6 39.5a8.03 8.03 0 0 0 0 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3z'));\nexports.TaobaoCircleFill = getIcon('taobao-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM315.7 291.5c27.3 0 49.5 22.1 49.5 49.4s-22.1 49.4-49.5 49.4a49.4 49.4 0 1 1 0-98.8zM366.9 578c-13.6 42.3-10.2 26.7-64.4 144.5l-78.5-49s87.7-79.8 105.6-116.2c19.2-38.4-21.1-58.9-21.1-58.9l-60.2-37.5 32.7-50.2c45.4 33.7 48.7 36.6 79.2 67.2 23.8 23.9 20.7 56.8 6.7 100.1zm427.2 55c-15.3 143.8-202.4 90.3-202.4 90.3l10.2-41.1 43.3 9.3c80 5 72.3-64.9 72.3-64.9V423c.6-77.3-72.6-85.4-204.2-38.3l30.6 8.3c-2.5 9-12.5 23.2-25.2 38.6h176v35.6h-99.1v44.5h98.7v35.7h-98.7V622c14.9-4.8 28.6-11.5 40.5-20.5l-8.7-32.5 46.5-14.4 38.8 94.9-57.3 23.9-10.2-37.8c-25.6 19.5-78.8 48-171.8 45.4-99.2 2.6-73.7-112-73.7-112l2.5-1.3H472c-.5 14.7-6.6 38.7 1.7 51.8 6.8 10.8 24.2 12.6 35.3 13.1 1.3.1 2.6.1 3.9.1v-85.3h-101v-35.7h101v-44.5H487c-22.7 24.1-43.5 44.1-43.5 44.1l-30.6-26.7c21.7-22.9 43.3-59.1 56.8-83.2-10.9 4.4-22 9.2-33.6 14.2-11.2 14.3-24.2 29-38.7 43.5.5.8-50-28.4-50-28.4 52.2-44.4 81.4-139.9 81.4-139.9l72.5 20.4s-5.9 14-18.4 35.6c290.3-82.3 307.4 50.5 307.4 50.5s19.1 91.8 3.8 235.7z'));\nexports.TaobaoSquareFill = getIcon('taobao-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM315.7 291.5c27.3 0 49.5 22.1 49.5 49.4s-22.1 49.4-49.5 49.4a49.4 49.4 0 1 1 0-98.8zM366.9 578c-13.6 42.3-10.2 26.7-64.4 144.5l-78.5-49s87.7-79.8 105.6-116.2c19.2-38.4-21.1-58.9-21.1-58.9l-60.2-37.5 32.7-50.2c45.4 33.7 48.7 36.6 79.2 67.2 23.8 23.9 20.7 56.8 6.7 100.1zm427.2 55c-15.3 143.8-202.4 90.3-202.4 90.3l10.2-41.1 43.3 9.3c80 5 72.3-64.9 72.3-64.9V423c.6-77.3-72.6-85.4-204.2-38.3l30.6 8.3c-2.5 9-12.5 23.2-25.2 38.6h176v35.6h-99.1v44.5h98.7v35.7h-98.7V622c14.9-4.8 28.6-11.5 40.5-20.5l-8.7-32.5 46.5-14.4 38.8 94.9-57.3 23.9-10.2-37.8c-25.6 19.5-78.8 48-171.8 45.4-99.2 2.6-73.7-112-73.7-112l2.5-1.3H472c-.5 14.7-6.6 38.7 1.7 51.8 6.8 10.8 24.2 12.6 35.3 13.1 1.3.1 2.6.1 3.9.1v-85.3h-101v-35.7h101v-44.5H487c-22.7 24.1-43.5 44.1-43.5 44.1l-30.6-26.7c21.7-22.9 43.3-59.1 56.8-83.2-10.9 4.4-22 9.2-33.6 14.2-11.2 14.3-24.2 29-38.7 43.5.5.8-50-28.4-50-28.4 52.2-44.4 81.4-139.9 81.4-139.9l72.5 20.4s-5.9 14-18.4 35.6c290.3-82.3 307.4 50.5 307.4 50.5s19.1 91.8 3.8 235.7z'));\nexports.ToolFill = getIcon('tool', fill, getNode(newViewBox, 'M865.3 244.7c-.3-.3-61.1 59.8-182.1 180.6l-84.9-84.9 180.9-180.9c-95.2-57.3-217.5-42.6-296.8 36.7A244.42 244.42 0 0 0 419 432l1.8 6.7-283.5 283.4c-6.2 6.2-6.2 16.4 0 22.6l141.4 141.4c6.2 6.2 16.4 6.2 22.6 0l283.3-283.3 6.7 1.8c83.7 22.3 173.6-.9 236-63.3 79.4-79.3 94.1-201.6 38-296.6z'));\nexports.ThunderboltFill = getIcon('thunderbolt', fill, getNode(newViewBox, 'M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7z'));\nexports.TrademarkCircleFill = getIcon('trademark-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm164.7 660.2c-1.1.5-2.3.8-3.5.8h-62c-3.1 0-5.9-1.8-7.2-4.6l-74.6-159.2h-88.7V717c0 4.4-3.6 8-8 8H378c-4.4 0-8-3.6-8-8V307c0-4.4 3.6-8 8-8h155.6c98.8 0 144.2 59.9 144.2 131.1 0 70.2-43.6 106.4-78.4 119.2l80.8 164.2c2.1 3.9.4 8.7-3.5 10.7zM523.9 357h-83.4v148H522c53 0 82.8-25.6 82.8-72.4 0-50.3-32.9-75.6-80.9-75.6z'));\nexports.TwitterCircleFill = getIcon('twitter-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm215.3 337.7c.3 4.7.3 9.6.3 14.4 0 146.8-111.8 315.9-316.1 315.9-63 0-121.4-18.3-170.6-49.8 9 1 17.6 1.4 26.8 1.4 52 0 99.8-17.6 137.9-47.4-48.8-1-89.8-33-103.8-77 17.1 2.5 32.5 2.5 50.1-2a111 111 0 0 1-88.9-109v-1.4c14.7 8.3 32 13.4 50.1 14.1a111.13 111.13 0 0 1-49.5-92.4c0-20.7 5.4-39.6 15.1-56a315.28 315.28 0 0 0 229 116.1C492 353.1 548.4 292 616.2 292c32 0 60.8 13.4 81.1 35 25.1-4.7 49.1-14.1 70.5-26.7-8.3 25.7-25.7 47.4-48.8 61.1 22.4-2.4 44-8.6 64-17.3-15.1 22.2-34 41.9-55.7 57.6z'));\nexports.TrophyFill = getIcon('trophy', fill, getNode(newViewBox, 'M868 160h-92v-40c0-4.4-3.6-8-8-8H256c-4.4 0-8 3.6-8 8v40h-92a44 44 0 0 0-44 44v148c0 81.7 60 149.6 138.2 162C265.6 630.2 359 721.8 476 734.5v105.2H280c-17.7 0-32 14.3-32 32V904c0 4.4 3.6 8 8 8h512c4.4 0 8-3.6 8-8v-32.3c0-17.7-14.3-32-32-32H548V734.5C665 721.8 758.4 630.2 773.8 514 852 501.6 912 433.7 912 352V204a44 44 0 0 0-44-44zM248 439.6c-37.1-11.9-64-46.7-64-87.6V232h64v207.6zM840 352c0 41-26.9 75.8-64 87.6V232h64v120z'));\nexports.TwitterSquareFill = getIcon('twitter-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM727.3 401.7c.3 4.7.3 9.6.3 14.4 0 146.8-111.8 315.9-316.1 315.9-63 0-121.4-18.3-170.6-49.8 9 1 17.6 1.4 26.8 1.4 52 0 99.8-17.6 137.9-47.4-48.8-1-89.8-33-103.8-77 17.1 2.5 32.5 2.5 50.1-2a111 111 0 0 1-88.9-109v-1.4c14.7 8.3 32 13.4 50.1 14.1a111.13 111.13 0 0 1-49.5-92.4c0-20.7 5.4-39.6 15.1-56a315.28 315.28 0 0 0 229 116.1C492 353.1 548.4 292 616.2 292c32 0 60.8 13.4 81.1 35 25.1-4.7 49.1-14.1 70.5-26.7-8.3 25.7-25.7 47.4-48.8 61.1 22.4-2.4 44-8.6 64-17.3-15.1 22.2-34 41.9-55.7 57.6z'));\nexports.UnlockFill = getIcon('unlock', fill, getNode(newViewBox, 'M832 464H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v68c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-68c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM540 701v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 1 1 56 0z'));\nexports.UpCircleFill = getIcon('up-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm178 555h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 460.4 406.8 605.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7z'));\nexports.UpSquareFill = getIcon('up-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM690 624h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 465.4 406.8 610.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7z'));\nexports.UsbFill = getIcon('usb', fill, getNode(newViewBox, 'M408 312h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm352 120V144c0-17.7-14.3-32-32-32H296c-17.7 0-32 14.3-32 32v288c-66.2 0-120 52.1-120 116v356c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8V548c0-63.9-53.8-116-120-116zm-72 0H336V184h352v248zM568 312h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'));\nexports.WalletFill = getIcon('wallet', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-32 464H528V448h320v128zm-268-64a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.VideoCameraFill = getIcon('video-camera', fill, getNode(newViewBox, 'M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v576c0 35.3 28.7 64 64 64h592c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM328 352c0 4.4-3.6 8-8 8H208c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h112c4.4 0 8 3.6 8 8v48zm560 273l-104-59.8V458.9L888 399v226z'));\nexports.WarningFill = getIcon('warning', fill, getNode(newViewBox, 'M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zM480 416c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V416zm32 352a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.WeiboCircleFill = getIcon('weibo-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-44.4 672C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 0 0-7.2-34.1 34.68 34.68 0 0 0-33.1-10.7 18.24 18.24 0 0 1-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 0 1-22.9 11.7 18.18 18.18 0 0 1-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 0 1-26.6 13.7 21.19 21.19 0 0 1-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 0 0-98.9-32.1 21.14 21.14 0 0 1-25.1-16.3 21.07 21.07 0 0 1 16.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-93-32.2c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zm34.9-14.5c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z'));\nexports.WechatFill = getIcon('wechat', fill, getNode(newViewBox, 'M690.1 377.4c5.9 0 11.8.2 17.6.5-24.4-128.7-158.3-227.1-319.9-227.1C209 150.8 64 271.4 64 420.2c0 81.1 43.6 154.2 111.9 203.6a21.5 21.5 0 0 1 9.1 17.6c0 2.4-.5 4.6-1.1 6.9-5.5 20.3-14.2 52.8-14.6 54.3-.7 2.6-1.7 5.2-1.7 7.9 0 5.9 4.8 10.8 10.8 10.8 2.3 0 4.2-.9 6.2-2l70.9-40.9c5.3-3.1 11-5 17.2-5 3.2 0 6.4.5 9.5 1.4 33.1 9.5 68.8 14.8 105.7 14.8 6 0 11.9-.1 17.8-.4-7.1-21-10.9-43.1-10.9-66 0-135.8 132.2-245.8 295.3-245.8zm-194.3-86.5c23.8 0 43.2 19.3 43.2 43.1s-19.3 43.1-43.2 43.1c-23.8 0-43.2-19.3-43.2-43.1s19.4-43.1 43.2-43.1zm-215.9 86.2c-23.8 0-43.2-19.3-43.2-43.1s19.3-43.1 43.2-43.1 43.2 19.3 43.2 43.1-19.4 43.1-43.2 43.1zm586.8 415.6c56.9-41.2 93.2-102 93.2-169.7 0-124-120.8-224.5-269.9-224.5-149 0-269.9 100.5-269.9 224.5S540.9 847.5 690 847.5c30.8 0 60.6-4.4 88.1-12.3 2.6-.8 5.2-1.2 7.9-1.2 5.2 0 9.9 1.6 14.3 4.1l59.1 34c1.7 1 3.3 1.7 5.2 1.7a9 9 0 0 0 6.4-2.6 9 9 0 0 0 2.6-6.4c0-2.2-.9-4.4-1.4-6.6-.3-1.2-7.6-28.3-12.2-45.3-.5-1.9-.9-3.8-.9-5.7.1-5.9 3.1-11.2 7.6-14.5zM600.2 587.2c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9c0 19.8-16.2 35.9-36 35.9zm179.9 0c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9a36.08 36.08 0 0 1-36 35.9z'));\nexports.WindowsFill = getIcon('windows', fill, getNode(newViewBox, 'M523.8 191.4v288.9h382V128.1zm0 642.2l382 62.2v-352h-382zM120.1 480.2H443V201.9l-322.9 53.5zm0 290.4L443 823.2V543.8H120.1z'));\nexports.YahooFill = getIcon('yahoo', fill, getNode(newViewBox, 'M937.3 231H824.7c-15.5 0-27.7 12.6-27.1 28.1l13.1 366h84.4l65.4-366.4c2.7-15.2-7.8-27.7-23.2-27.7zm-77.4 450.4h-14.1c-27.1 0-49.2 22.2-49.2 49.3v14.1c0 27.1 22.2 49.3 49.2 49.3h14.1c27.1 0 49.2-22.2 49.2-49.3v-14.1c0-27.1-22.2-49.3-49.2-49.3zM402.6 231C216.2 231 65 357 65 512.5S216.2 794 402.6 794s337.6-126 337.6-281.5S589.1 231 402.6 231zm225.2 225.2h-65.3L458.9 559.8v65.3h84.4v56.3H318.2v-56.3h84.4v-65.3L242.9 399.9h-37v-56.3h168.5v56.3h-37l93.4 93.5 28.1-28.1V400h168.8v56.2z'));\nexports.WeiboSquareFill = getIcon('weibo-square', fill, getNode(newViewBox, 'M433.6 595.1c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM467.6 736C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 0 0-7.2-34.1 34.68 34.68 0 0 0-33.1-10.7 18.24 18.24 0 0 1-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 0 1-22.9 11.7 18.18 18.18 0 0 1-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 0 1-26.6 13.7 21.19 21.19 0 0 1-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 0 0-98.9-32.1 21.14 21.14 0 0 1-25.1-16.3 21.07 21.07 0 0 1 16.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-58.1-46.7c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z'));\nexports.YuqueFill = getIcon('yuque', fill, getNode(newViewBox, 'M854.6 370.6c-9.9-39.4 9.9-102.2 73.4-124.4l-67.9-3.6s-25.7-90-143.6-98c-117.9-8.1-195-3-195-3s87.4 55.6 52.4 154.7c-25.6 52.5-65.8 95.6-108.8 144.7-1.3 1.3-2.5 2.6-3.5 3.7C319.4 605 96 860 96 860c245.9 64.4 410.7-6.3 508.2-91.1 20.5-.2 35.9-.3 46.3-.3 135.8 0 250.6-117.6 245.9-248.4-3.2-89.9-31.9-110.2-41.8-149.6z'));\nexports.YoutubeFill = getIcon('youtube', fill, getNode(newViewBox, 'M941.3 296.1a112.3 112.3 0 0 0-79.2-79.3C792.2 198 512 198 512 198s-280.2 0-350.1 18.7A112.12 112.12 0 0 0 82.7 296C64 366 64 512 64 512s0 146 18.7 215.9c10.3 38.6 40.7 69 79.2 79.3C231.8 826 512 826 512 826s280.2 0 350.1-18.8c38.6-10.3 68.9-40.7 79.2-79.3C960 658 960 512 960 512s0-146-18.7-215.9zM423 646V378l232 133-232 135z'));\nexports.ZhihuSquareFill = getIcon('zhihu-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM432.3 592.8l71 80.7c9.2 33-3.3 63.1-3.3 63.1l-95.7-111.9v-.1c-8.9 29-20.1 57.3-33.3 84.7-22.6 45.7-55.2 54.7-89.5 57.7-34.4 3-23.3-5.3-23.3-5.3 68-55.5 78-87.8 96.8-123.1 11.9-22.3 20.4-64.3 25.3-96.8H264.1s4.8-31.2 19.2-41.7h101.6c.6-15.3-1.3-102.8-2-131.4h-49.4c-9.2 45-41 56.7-48.1 60.1-7 3.4-23.6 7.1-21.1 0 2.6-7.1 27-46.2 43.2-110.7 16.3-64.6 63.9-62 63.9-62-12.8 22.5-22.4 73.6-22.4 73.6h159.7c10.1 0 10.6 39 10.6 39h-90.8c-.7 22.7-2.8 83.8-5 131.4H519s12.2 15.4 12.2 41.7h-110l-.1 1.5c-1.5 20.4-6.3 43.9-12.9 67.6l24.1-18.1zm335.5 116h-87.6l-69.5 46.6-16.4-46.6h-40.1V321.5h213.6v387.3zM408.2 611s0-.1 0 0zm216 94.3l56.8-38.1h45.6-.1V364.7H596.7v302.5h14.1z'));\nexports.ZhihuCircleFill = getIcon('zhihu-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-90.7 477.8l-.1 1.5c-1.5 20.4-6.3 43.9-12.9 67.6l24-18.1 71 80.7c9.2 33-3.3 63.1-3.3 63.1l-95.7-111.9v-.1c-8.9 29-20.1 57.3-33.3 84.7-22.6 45.7-55.2 54.7-89.5 57.7-34.4 3-23.3-5.3-23.3-5.3 68-55.5 78-87.8 96.8-123.1 11.9-22.3 20.4-64.3 25.3-96.8H264.1s4.8-31.2 19.2-41.7h101.6c.6-15.3-1.3-102.8-2-131.4h-49.4c-9.2 45-41 56.7-48.1 60.1-7 3.4-23.6 7.1-21.1 0 2.6-7.1 27-46.2 43.2-110.7 16.3-64.6 63.9-62 63.9-62-12.8 22.5-22.4 73.6-22.4 73.6h159.7c10.1 0 10.6 39 10.6 39h-90.8c-.7 22.7-2.8 83.8-5 131.4H519s12.2 15.4 12.2 41.7H421.3zm346.5 167h-87.6l-69.5 46.6-16.4-46.6h-40.1V321.5h213.6v387.3zM408.2 611s0-.1 0 0zm216 94.3l56.8-38.1h45.6-.1V364.7H596.7v302.5h14.1z'));\nexports.AccountBookOutline = getIcon('account-book', outline, getNode(newViewBox, 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584zM639.5 414h-45c-3 0-5.8 1.7-7.1 4.4L514 563.8h-2.8l-73.4-145.4a8 8 0 0 0-7.1-4.4h-46c-1.3 0-2.7.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9l89.3 164h-48.6c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1v33.7h-65.1c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1V752c0 4.4 3.6 8 8 8h41.3c4.4 0 8-3.6 8-8v-53.8h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-65.4v-33.7h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-49.1l89.3-164.1c.6-1.2 1-2.5 1-3.8.1-4.4-3.4-8-7.9-8z'));\nexports.AlertOutline = getIcon('alert', outline, getNode(newViewBox, 'M193 796c0 17.7 14.3 32 32 32h574c17.7 0 32-14.3 32-32V563c0-176.2-142.8-319-319-319S193 386.8 193 563v233zm72-233c0-136.4 110.6-247 247-247s247 110.6 247 247v193H404V585c0-5.5-4.5-10-10-10h-44c-5.5 0-10 4.5-10 10v171h-75V563zm-48.1-252.5l39.6-39.6c3.1-3.1 3.1-8.2 0-11.3l-67.9-67.9a8.03 8.03 0 0 0-11.3 0l-39.6 39.6a8.03 8.03 0 0 0 0 11.3l67.9 67.9c3.1 3.1 8.1 3.1 11.3 0zm669.6-79.2l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-67.9 67.9a8.03 8.03 0 0 0 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l67.9-67.9c3.1-3.2 3.1-8.2 0-11.3zM832 892H192c-17.7 0-32 14.3-32 32v24c0 4.4 3.6 8 8 8h688c4.4 0 8-3.6 8-8v-24c0-17.7-14.3-32-32-32zM484 180h56c4.4 0 8-3.6 8-8V76c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8z'));\nexports.AlipayCircleOutline = getIcon('alipay-circle', outline, getNode(newViewBox, 'M308.6 545.7c-19.8 2-57.1 10.7-77.4 28.6-61 53-24.5 150 99 150 71.8 0 143.5-45.7 199.8-119-80.2-38.9-148.1-66.8-221.4-59.6zm460.5 67c100.1 33.4 154.7 43 166.7 44.8A445.9 445.9 0 0 0 960 512c0-247.4-200.6-448-448-448S64 264.6 64 512s200.6 448 448 448c155.9 0 293.2-79.7 373.5-200.5-75.6-29.8-213.6-85-286.8-120.1-69.9 85.7-160.1 137.8-253.7 137.8-158.4 0-212.1-138.1-137.2-229 16.3-19.8 44.2-38.7 87.3-49.4 67.5-16.5 175 10.3 275.7 43.4 18.1-33.3 33.4-69.9 44.7-108.9H305.1V402h160v-56.2H271.3v-31.3h193.8v-80.1s0-13.5 13.7-13.5H557v93.6h191.7v31.3H557.1V402h156.4c-15 61.1-37.7 117.4-66.2 166.8 47.5 17.1 90.1 33.3 121.8 43.9z'));\nexports.AliwangwangOutline = getIcon('aliwangwang', outline, getNode(newViewBox, 'M868.2 377.4c-18.9-45.1-46.3-85.6-81.2-120.6a377.26 377.26 0 0 0-120.5-81.2A375.65 375.65 0 0 0 519 145.8c-41.9 0-82.9 6.7-121.9 20C306 123.3 200.8 120 170.6 120c-2.2 0-7.4 0-9.4.2-11.9.4-22.8 6.5-29.2 16.4-6.5 9.9-7.7 22.4-3.4 33.5l64.3 161.6a378.59 378.59 0 0 0-52.8 193.2c0 51.4 10 101 29.8 147.6 18.9 45 46.2 85.6 81.2 120.5 34.7 34.8 75.4 62.1 120.5 81.2C418.3 894 467.9 904 519 904c51.3 0 100.9-10.1 147.7-29.8 44.9-18.9 85.5-46.3 120.4-81.2 34.7-34.8 62.1-75.4 81.2-120.6a376.5 376.5 0 0 0 29.8-147.6c-.2-51.2-10.1-100.8-29.9-147.4zm-66.4 266.5a307.08 307.08 0 0 1-65.9 98c-28.4 28.5-61.3 50.7-97.7 65.9h-.1c-38 16-78.3 24.2-119.9 24.2a306.51 306.51 0 0 1-217.5-90.2c-28.4-28.5-50.6-61.4-65.8-97.8v-.1c-16-37.8-24.1-78.2-24.1-119.9 0-55.4 14.8-109.7 42.8-157l13.2-22.1-9.5-23.9L206 192c14.9.6 35.9 2.1 59.7 5.6 43.8 6.5 82.5 17.5 114.9 32.6l19 8.9 19.9-6.8c31.5-10.8 64.8-16.2 98.9-16.2a306.51 306.51 0 0 1 217.5 90.2c28.4 28.5 50.6 61.4 65.8 97.8l.1.1.1.1c16 37.6 24.1 78 24.2 119.8-.1 41.7-8.3 82-24.3 119.8zM681.1 364.2c-20.4 0-37.1 16.7-37.1 37.1v55.1c0 20.4 16.6 37.1 37.1 37.1s37.1-16.7 37.1-37.1v-55.1c0-20.5-16.7-37.1-37.1-37.1zm-175.2 0c-20.5 0-37.1 16.7-37.1 37.1v55.1c0 20.4 16.7 37.1 37.1 37.1 20.5 0 37.1-16.7 37.1-37.1v-55.1c0-20.5-16.7-37.1-37.1-37.1z'));\nexports.AndroidOutline = getIcon('android', outline, getNode(newViewBox, 'M448.3 225.2c-18.6 0-32 13.4-32 31.9s13.5 31.9 32 31.9c18.6 0 32-13.4 32-31.9.1-18.4-13.4-31.9-32-31.9zm393.9 96.4c-13.8-13.8-32.7-21.5-53.2-21.5-3.9 0-7.4.4-10.7 1v-1h-3.6c-5.5-30.6-18.6-60.5-38.1-87.4-18.7-25.7-43-47.9-70.8-64.9l25.1-35.8v-3.3c0-.8.4-2.3.7-3.8.6-2.4 1.4-5.5 1.4-8.9 0-18.5-13.5-31.9-32-31.9-9.8 0-19.5 5.7-25.9 15.4l-29.3 42.1c-30-9.8-62.4-15-93.8-15-31.3 0-63.7 5.2-93.8 15L389 79.4c-6.6-9.6-16.1-15.4-26-15.4-18.6 0-32 13.4-32 31.9 0 6.2 2.5 12.8 6.7 17.4l22.6 32.3c-28.7 17-53.5 39.4-72.2 65.1-19.4 26.9-32 56.8-36.7 87.4h-5.5v1c-3.2-.6-6.7-1-10.7-1-20.3 0-39.2 7.5-53.1 21.3-13.8 13.8-21.5 32.6-21.5 53v235c0 20.3 7.5 39.1 21.4 52.9 13.8 13.8 32.8 21.5 53.2 21.5 3.9 0 7.4-.4 10.7-1v93.5c0 29.2 23.9 53.1 53.2 53.1H331v58.3c0 20.3 7.5 39.1 21.4 52.9 13.8 13.8 32.8 21.5 53.2 21.5 20.3 0 39.2-7.5 53.1-21.3 13.8-13.8 21.5-32.6 21.5-53v-58.2H544v58.1c0 20.3 7.5 39.1 21.4 52.9 13.8 13.8 32.8 21.5 53.2 21.5 20.4 0 39.2-7.5 53.1-21.6 13.8-13.8 21.5-32.6 21.5-53v-58.2h31.9c29.3 0 53.2-23.8 53.2-53.1v-91.4c3.2.6 6.7 1 10.7 1 20.3 0 39.2-7.5 53.1-21.3 13.8-13.8 21.5-32.6 21.5-53v-235c-.1-20.3-7.6-39-21.4-52.9zM246 609.6c0 6.8-3.9 10.6-10.7 10.6-6.8 0-10.7-3.8-10.7-10.6V374.5c0-6.8 3.9-10.6 10.7-10.6 6.8 0 10.7 3.8 10.7 10.6v235.1zm131.1-396.8c37.5-27.3 85.3-42.3 135-42.3s97.5 15.1 135 42.5c32.4 23.7 54.2 54.2 62.7 87.5H314.4c8.5-33.4 30.5-64 62.7-87.7zm39.3 674.7c-.6 5.6-4.4 8.7-10.5 8.7-6.8 0-10.7-3.8-10.7-10.6v-58.2h21.2v60.1zm202.3 8.7c-6.8 0-10.7-3.8-10.7-10.6v-58.2h21.2v60.1c-.6 5.6-4.3 8.7-10.5 8.7zm95.8-132.6H309.9V364h404.6v399.6zm85.2-154c0 6.8-3.9 10.6-10.7 10.6-6.8 0-10.7-3.8-10.7-10.6V374.5c0-6.8 3.9-10.6 10.7-10.6 6.8 0 10.7 3.8 10.7 10.6v235.1zM576.1 225.2c-18.6 0-32 13.4-32 31.9s13.5 31.9 32 31.9c18.6 0 32.1-13.4 32.1-32-.1-18.6-13.4-31.8-32.1-31.8z'));\nexports.ApiOutline = getIcon('api', outline, getNode(newViewBox, 'M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 0 0-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 0 0 0 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 0 0-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 0 0-11.3 0L363 475.3l-43-43a7.85 7.85 0 0 0-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 0 0 0 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 0 1-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 0 1-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z'));\nexports.AppstoreOutline = getIcon('appstore', outline, getNode(newViewBox, 'M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z'));\nexports.AudioOutline = getIcon('audio', outline, getNode(newViewBox, 'M842 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1zM512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm-94-392c0-50.6 41.9-92 94-92s94 41.4 94 92v224c0 50.6-41.9 92-94 92s-94-41.4-94-92V232z'));\nexports.AppleOutline = getIcon('apple', outline, getNode(newViewBox, 'M747.4 535.7c-.4-68.2 30.5-119.6 92.9-157.5-34.9-50-87.7-77.5-157.3-82.8-65.9-5.2-138 38.4-164.4 38.4-27.9 0-91.7-36.6-141.9-36.6C273.1 298.8 163 379.8 163 544.6c0 48.7 8.9 99 26.7 150.8 23.8 68.2 109.6 235.3 199.1 232.6 46.8-1.1 79.9-33.2 140.8-33.2 59.1 0 89.7 33.2 141.9 33.2 90.3-1.3 167.9-153.2 190.5-221.6-121.1-57.1-114.6-167.2-114.6-170.7zm-10.6 267c-14.3 19.9-28.7 35.6-41.9 45.7-10.5 8-18.6 11.4-24 11.6-9-.1-17.7-2.3-34.7-8.8-1.2-.5-2.5-1-4.2-1.6l-4.4-1.7c-17.4-6.7-27.8-10.3-41.1-13.8-18.6-4.8-37.1-7.4-56.9-7.4-20.2 0-39.2 2.5-58.1 7.2-13.9 3.5-25.6 7.4-42.7 13.8-.7.3-8.1 3.1-10.2 3.9-3.5 1.3-6.2 2.3-8.7 3.2-10.4 3.6-17 5.1-22.9 5.2-.7 0-1.3-.1-1.8-.2-1.1-.2-2.5-.6-4.1-1.3-4.5-1.8-9.9-5.1-16-9.8-14-10.9-29.4-28-45.1-49.9-27.5-38.6-53.5-89.8-66-125.7-15.4-44.8-23-87.7-23-128.6 0-60.2 17.8-106 48.4-137.1 26.3-26.6 61.7-41.5 97.8-42.3 5.9.1 14.5 1.5 25.4 4.5 8.6 2.3 18 5.4 30.7 9.9 3.8 1.4 16.9 6.1 18.5 6.7 7.7 2.8 13.5 4.8 19.2 6.6 18.2 5.8 32.3 9 47.6 9 15.5 0 28.8-3.3 47.7-9.8 7.1-2.4 32.9-12 37.5-13.6 25.6-9.1 44.5-14 60.8-15.2 4.8-.4 9.1-.4 13.2-.1 22.7 1.8 42.1 6.3 58.6 13.8-37.6 43.4-57 96.5-56.9 158.4-.3 14.7.9 31.7 5.1 51.8 6.4 30.5 18.6 60.7 37.9 89 14.7 21.5 32.9 40.9 54.7 57.8-11.5 23.7-25.6 48.2-40.4 68.8zm-94.5-572c50.7-60.2 46.1-115 44.6-134.7-44.8 2.6-96.6 30.5-126.1 64.8-32.5 36.8-51.6 82.3-47.5 133.6 48.4 3.7 92.6-21.2 129-63.7z'));\nexports.BackwardOutline = getIcon('backward', outline, getNode(normalViewBox, 'M485.6 249.9L198.2 498c-8.3 7.1-8.3 20.8 0 27.9l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9zm320 0L518.2 498a18.6 18.6 0 0 0-6.2 14c0 5.2 2.1 10.4 6.2 14l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9z'));\nexports.BankOutline = getIcon('bank', outline, getNode(newViewBox, 'M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 0 0-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM512 196.7l271.1 197.2H240.9L512 196.7zM264 462h117v374H264V462zm189 0h117v374H453V462zm307 374H642V462h118v374z'));\nexports.BellOutline = getIcon('bell', outline, getNode(newViewBox, 'M816 768h-24V428c0-141.1-104.3-257.7-240-277.1V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.9c-135.7 19.4-240 136-240 277.1v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48zM304 768V428c0-55.6 21.6-107.8 60.9-147.1S456.4 220 512 220c55.6 0 107.8 21.6 147.1 60.9S720 372.4 720 428v340H304z'));\nexports.BehanceSquareOutline = getIcon('behance-square', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM598.5 350.9h138.4v33.7H598.5v-33.7zM512 628.8a89.52 89.52 0 0 1-27 31c-11.8 8.2-24.9 14.2-38.8 17.7a167.4 167.4 0 0 1-44.6 5.7H236V342.1h161c16.3 0 31.1 1.5 44.6 4.3 13.4 2.8 24.8 7.6 34.4 14.1 9.5 6.5 17 15.2 22.3 26 5.2 10.7 7.9 24.1 7.9 40 0 17.2-3.9 31.4-11.7 42.9-7.9 11.5-19.3 20.8-34.8 28.1 21.1 6 36.6 16.7 46.8 31.7 10.4 15.2 15.5 33.4 15.5 54.8 0 17.4-3.3 32.3-10 44.8zM790.8 576H612.4c0 19.4 6.7 38 16.8 48 10.2 9.9 24.8 14.9 43.9 14.9 13.8 0 25.5-3.5 35.5-10.4 9.9-6.9 15.9-14.2 18.1-21.8h59.8c-9.6 29.7-24.2 50.9-44 63.7-19.6 12.8-43.6 19.2-71.5 19.2-19.5 0-37-3.2-52.7-9.3-15.1-5.9-28.7-14.9-39.9-26.5a121.2 121.2 0 0 1-25.1-41.2c-6.1-16.9-9.1-34.7-8.9-52.6 0-18.5 3.1-35.7 9.1-51.7 11.5-31.1 35.4-56 65.9-68.9 16.3-6.8 33.8-10.2 51.5-10 21 0 39.2 4 55 12.2a111.6 111.6 0 0 1 38.6 32.8c10.1 13.7 17.2 29.3 21.7 46.9 4.3 17.3 5.8 35.5 4.6 54.7zm-122-95.6c-10.8 0-19.9 1.9-26.9 5.6-7 3.7-12.8 8.3-17.2 13.6a48.4 48.4 0 0 0-9.1 17.4c-1.6 5.3-2.7 10.7-3.1 16.2H723c-1.6-17.3-7.6-30.1-15.6-39.1-8.4-8.9-21.9-13.7-38.6-13.7zm-248.5-10.1c8.7-6.3 12.9-16.7 12.9-31 .3-6.8-1.1-13.5-4.1-19.6-2.7-4.9-6.7-9-11.6-11.9a44.8 44.8 0 0 0-16.6-6c-6.4-1.2-12.9-1.8-19.3-1.7h-70.3v79.7h76.1c13.1.1 24.2-3.1 32.9-9.5zm11.8 72c-9.8-7.5-22.9-11.2-39.2-11.2h-81.8v94h80.2c7.5 0 14.4-.7 21.1-2.1s12.7-3.8 17.8-7.2c5.1-3.3 9.2-7.8 12.3-13.6 3-5.8 4.5-13.2 4.5-22.1 0-17.7-5-30.2-14.9-37.8z'));\nexports.BookOutline = getIcon('book', outline, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-260 72h96v209.9L621.5 312 572 347.4V136zm220 752H232V136h280v296.9c0 3.3 1 6.6 3 9.3a15.9 15.9 0 0 0 22.3 3.7l83.8-59.9 81.4 59.4c2.7 2 6 3.1 9.4 3.1 8.8 0 16-7.2 16-16V136h64v752z'));\nexports.BoxPlotOutline = getIcon('box-plot', outline, getNode(newViewBox, 'M952 224h-52c-4.4 0-8 3.6-8 8v248h-92V304c0-4.4-3.6-8-8-8H232c-4.4 0-8 3.6-8 8v176h-92V232c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V548h92v172c0 4.4 3.6 8 8 8h560c4.4 0 8-3.6 8-8V548h92v244c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zM296 368h88v288h-88V368zm432 288H448V368h280v288z'));\nexports.BulbOutline = getIcon('bulb', outline, getNode(newViewBox, 'M632 888H392c-4.4 0-8 3.6-8 8v32c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32v-32c0-4.4-3.6-8-8-8zM512 64c-181.1 0-328 146.9-328 328 0 121.4 66 227.4 164 284.1V792c0 17.7 14.3 32 32 32h264c17.7 0 32-14.3 32-32V676.1c98-56.7 164-162.7 164-284.1 0-181.1-146.9-328-328-328zm127.9 549.8L604 634.6V752H420V634.6l-35.9-20.8C305.4 568.3 256 484.5 256 392c0-141.4 114.6-256 256-256s256 114.6 256 256c0 92.5-49.4 176.3-128.1 221.8z'));\nexports.BugOutline = getIcon('bug', outline, getNode(newViewBox, 'M304 280h56c4.4 0 8-3.6 8-8 0-28.3 5.9-53.2 17.1-73.5 10.6-19.4 26-34.8 45.4-45.4C450.9 142 475.7 136 504 136h16c28.3 0 53.2 5.9 73.5 17.1 19.4 10.6 34.8 26 45.4 45.4C650 218.9 656 243.7 656 272c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1a184.31 184.31 0 0 0-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9a184.31 184.31 0 0 0-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z', 'M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8a63 63 0 0 1-63 63H232a63 63 0 0 1-63-63c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7a273 273 0 0 0 22.7 49c24.3 41.5 59 76.2 100.5 100.5S460.5 960 512 960s99.8-13.9 141.3-38.2a281.38 281.38 0 0 0 123.2-149.5A120 120 0 0 1 836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM716 680c0 36.8-9.7 72-27.8 102.9-17.7 30.3-43 55.6-73.3 73.3C584 874.3 548.8 884 512 884s-72-9.7-102.9-27.8c-30.3-17.7-55.6-43-73.3-73.3A202.75 202.75 0 0 1 308 680V412h408v268z'));\nexports.CalculatorOutline = getIcon('calculator', outline, getNode(newViewBox, 'M251.2 387H320v68.8c0 1.8 1.8 3.2 4 3.2h48c2.2 0 4-1.4 4-3.3V387h68.8c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H376v-68.8c0-1.8-1.8-3.2-4-3.2h-48c-2.2 0-4 1.4-4 3.2V331h-68.8c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm328 0h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0 265h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0 104h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm-195.7-81l61.2-74.9c4.3-5.2.7-13.1-5.9-13.1H388c-2.3 0-4.5 1-5.9 2.9l-34 41.6-34-41.6a7.85 7.85 0 0 0-5.9-2.9h-50.9c-6.6 0-10.2 7.9-5.9 13.1l61.2 74.9-62.7 76.8c-4.4 5.2-.8 13.1 5.8 13.1h50.8c2.3 0 4.5-1 5.9-2.9l35.5-43.5 35.5 43.5c1.5 1.8 3.7 2.9 5.9 2.9h50.8c6.6 0 10.2-7.9 5.9-13.1L383.5 675zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-36 732H180V180h664v664z'));\nexports.BuildOutline = getIcon('build', outline, getNode(newViewBox, 'M916 210H376c-17.7 0-32 14.3-32 32v236H108c-17.7 0-32 14.3-32 32v272c0 17.7 14.3 32 32 32h540c17.7 0 32-14.3 32-32V546h236c17.7 0 32-14.3 32-32V242c0-17.7-14.3-32-32-32zm-504 68h200v200H412V278zm-68 468H144V546h200v200zm268 0H412V546h200v200zm268-268H680V278h200v200z'));\nexports.CalendarOutline = getIcon('calendar', outline, getNode(newViewBox, 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z'));\nexports.CameraOutline = getIcon('camera', outline, getNode(newViewBox, 'M864 248H728l-32.4-90.8a32.07 32.07 0 0 0-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456zM512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z'));\nexports.CarOutline = getIcon('car', outline, getNode(newViewBox, 'M380 704h264c4.4 0 8-3.6 8-8v-84c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v36H428v-36c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v84c0 4.4 3.6 8 8 8zm340-123a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm239-167.6L935.3 372a8 8 0 0 0-10.9-2.9l-50.7 29.6-78.3-216.2a63.9 63.9 0 0 0-60.9-44.4H301.2c-34.7 0-65.5 22.4-76.2 55.5l-74.6 205.2-50.8-29.6a8 8 0 0 0-10.9 2.9L65 413.4c-2.2 3.8-.9 8.6 2.9 10.8l60.4 35.2-14.5 40c-1.2 3.2-1.8 6.6-1.8 10v348.2c0 15.7 11.8 28.4 26.3 28.4h67.6c12.3 0 23-9.3 25.6-22.3l7.7-37.7h545.6l7.7 37.7c2.7 13 13.3 22.3 25.6 22.3h67.6c14.5 0 26.3-12.7 26.3-28.4V509.4c0-3.4-.6-6.8-1.8-10l-14.5-40 60.3-35.2a8 8 0 0 0 3-10.8zM840 517v237H184V517l15.6-43h624.8l15.6 43zM292.7 218.1l.5-1.3.4-1.3c1.1-3.3 4.1-5.5 7.6-5.5h427.6l75.4 208H220l72.7-199.9zM224 581a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.CaretDownOutline = getIcon('caret-down', outline, getNode(normalViewBox, 'M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z'));\nexports.CaretLeftOutline = getIcon('caret-left', outline, getNode(normalViewBox, 'M689 165.1L308.2 493.5c-10.9 9.4-10.9 27.5 0 37L689 858.9c14.2 12.2 35 1.2 35-18.5V183.6c0-19.7-20.8-30.7-35-18.5z'));\nexports.CaretRightOutline = getIcon('caret-right', outline, getNode(normalViewBox, 'M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z'));\nexports.CarryOutOutline = getIcon('carry-out', outline, getNode(newViewBox, 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584zM688 420h-55.2c-5.1 0-10 2.5-13 6.6L468.9 634.4l-64.7-89c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0 0 26 0l212.6-292.7c3.8-5.4 0-12.8-6.5-12.8z'));\nexports.CheckCircleOutline = getIcon('check-circle', outline, getNode(newViewBox, 'M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0 0 51.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.CaretUpOutline = getIcon('caret-up', outline, getNode(normalViewBox, 'M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z'));\nexports.CheckSquareOutline = getIcon('check-square', outline, getNode(newViewBox, 'M433.1 657.7a31.8 31.8 0 0 0 51.7 0l210.6-292c3.8-5.3 0-12.7-6.5-12.7H642c-10.2 0-19.9 4.9-25.9 13.3L459 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H315c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.ChromeOutline = getIcon('chrome', outline, getNode(newViewBox, 'M928 512.3v-.3c0-229.8-186.2-416-416-416S96 282.2 96 512v.4c0 229.8 186.2 416 416 416s416-186.2 416-416v-.3.2zm-6.7-74.6l.6 3.3-.6-3.3zM676.7 638.2c53.5-82.2 52.5-189.4-11.1-263.7l162.4-8.4c20.5 44.4 32 93.8 32 145.9 0 185.2-144.6 336.6-327.1 347.4l143.8-221.2zM512 652.3c-77.5 0-140.2-62.7-140.2-140.2 0-77.7 62.7-140.2 140.2-140.2S652.2 434.5 652.2 512 589.5 652.3 512 652.3zm369.2-331.7l-3-5.7 3 5.7zM512 164c121.3 0 228.2 62.1 290.4 156.2l-263.6-13.9c-97.5-5.7-190.2 49.2-222.3 141.1L227.8 311c63.1-88.9 166.9-147 284.2-147zM102.5 585.8c26 145 127.1 264 261.6 315.1C229.6 850 128.5 731 102.5 585.8zM164 512c0-55.9 13.2-108.7 36.6-155.5l119.7 235.4c44.1 86.7 137.4 139.7 234 121.6l-74 145.1C302.9 842.5 164 693.5 164 512zm324.7 415.4c4 .2 8 .4 12 .5-4-.2-8-.3-12-.5z'));\nexports.ClockCircleOutline = getIcon('clock-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z', 'M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z'));\nexports.CloseCircleOutline = getIcon('close-circle', outline, getNode(newViewBox, 'M685.4 354.8c0-4.4-3.6-8-8-8l-66 .3L512 465.6l-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155L340.5 670a8.32 8.32 0 0 0-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3L512 564.4l99.3 118.4 66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.5 515l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z', 'M512 65C264.6 65 64 265.6 64 513s200.6 448 448 448 448-200.6 448-448S759.4 65 512 65zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.CloudOutline = getIcon('cloud', outline, getNode(newViewBox, 'M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3zm36.3 281a123.07 123.07 0 0 1-87.6 36.3H263.9c-33.1 0-64.2-12.9-87.6-36.3A123.3 123.3 0 0 1 140 612c0-28 9.1-54.3 26.2-76.3a125.7 125.7 0 0 1 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0 1 52.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10c54.3 14.5 92.1 63.8 92.1 120 0 33.1-12.9 64.3-36.3 87.7z'));\nexports.CloseSquareOutline = getIcon('close-square', outline, getNode(newViewBox, 'M354 671h58.9c4.7 0 9.2-2.1 12.3-5.7L512 561.8l86.8 103.5c3 3.6 7.5 5.7 12.3 5.7H670c6.8 0 10.5-7.9 6.1-13.1L553.8 512l122.4-145.9c4.4-5.2.7-13.1-6.1-13.1h-58.9c-4.7 0-9.2 2.1-12.3 5.7L512 462.2l-86.8-103.5c-3-3.6-7.5-5.7-12.3-5.7H354c-6.8 0-10.5 7.9-6.1 13.1L470.2 512 347.9 657.9A7.95 7.95 0 0 0 354 671z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.CodeOutline = getIcon('code', outline, getNode(newViewBox, 'M516 673c0 4.4 3.4 8 7.5 8h185c4.1 0 7.5-3.6 7.5-8v-48c0-4.4-3.4-8-7.5-8h-185c-4.1 0-7.5 3.6-7.5 8v48zm-194.9 6.1l192-161c3.8-3.2 3.8-9.1 0-12.3l-192-160.9A7.95 7.95 0 0 0 308 351v62.7c0 2.4 1 4.6 2.9 6.1L420.7 512l-109.8 92.2a8.1 8.1 0 0 0-2.9 6.1V673c0 6.8 7.9 10.5 13.1 6.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.CodepenCircleOutline = getIcon('codepen-circle', outline, getNode(newViewBox, 'M488.1 414.7V303.4L300.9 428l83.6 55.8zm254.1 137.7v-79.8l-59.8 39.9zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm278 533c0 1.1-.1 2.1-.2 3.1 0 .4-.1.7-.2 1a14.16 14.16 0 0 1-.8 3.2c-.2.6-.4 1.2-.6 1.7-.2.4-.4.8-.5 1.2-.3.5-.5 1.1-.8 1.6-.2.4-.4.7-.7 1.1-.3.5-.7 1-1 1.5-.3.4-.5.7-.8 1-.4.4-.8.9-1.2 1.3-.3.3-.6.6-1 .9-.4.4-.9.8-1.4 1.1-.4.3-.7.6-1.1.8-.1.1-.3.2-.4.3L525.2 786c-4 2.7-8.6 4-13.2 4-4.7 0-9.3-1.4-13.3-4L244.6 616.9c-.1-.1-.3-.2-.4-.3l-1.1-.8c-.5-.4-.9-.7-1.3-1.1-.3-.3-.6-.6-1-.9-.4-.4-.8-.8-1.2-1.3a7 7 0 0 1-.8-1c-.4-.5-.7-1-1-1.5-.2-.4-.5-.7-.7-1.1-.3-.5-.6-1.1-.8-1.6-.2-.4-.4-.8-.5-1.2-.2-.6-.4-1.2-.6-1.7-.1-.4-.3-.8-.4-1.2-.2-.7-.3-1.3-.4-2-.1-.3-.1-.7-.2-1-.1-1-.2-2.1-.2-3.1V427.9c0-1 .1-2.1.2-3.1.1-.3.1-.7.2-1a14.16 14.16 0 0 1 .8-3.2c.2-.6.4-1.2.6-1.7.2-.4.4-.8.5-1.2.2-.5.5-1.1.8-1.6.2-.4.4-.7.7-1.1.6-.9 1.2-1.7 1.8-2.5.4-.4.8-.9 1.2-1.3.3-.3.6-.6 1-.9.4-.4.9-.8 1.3-1.1.4-.3.7-.6 1.1-.8.1-.1.3-.2.4-.3L498.7 239c8-5.3 18.5-5.3 26.5 0l254.1 169.1c.1.1.3.2.4.3l1.1.8 1.4 1.1c.3.3.6.6 1 .9.4.4.8.8 1.2 1.3.7.8 1.3 1.6 1.8 2.5.2.4.5.7.7 1.1.3.5.6 1 .8 1.6.2.4.4.8.5 1.2.2.6.4 1.2.6 1.7.1.4.3.8.4 1.2.2.7.3 1.3.4 2 .1.3.1.7.2 1 .1 1 .2 2.1.2 3.1V597zm-254.1 13.3v111.3L723.1 597l-83.6-55.8zM281.8 472.6v79.8l59.8-39.9zM512 456.1l-84.5 56.4 84.5 56.4 84.5-56.4zM723.1 428L535.9 303.4v111.3l103.6 69.1zM384.5 541.2L300.9 597l187.2 124.6V610.3l-103.6-69.1z'));\nexports.CompassOutline = getIcon('compass', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm198.4-588.1a32 32 0 0 0-24.5.5L414.9 415 296.4 686c-3.6 8.2-3.6 17.5 0 25.7 3.4 7.8 9.7 13.9 17.7 17 3.8 1.5 7.7 2.2 11.7 2.2 4.4 0 8.7-.9 12.8-2.7l271-118.6 118.5-271a32.06 32.06 0 0 0-17.7-42.7zM576.8 534.4l26.2 26.2-42.4 42.4-26.2-26.2L380 644.4 447.5 490 422 464.4l42.4-42.4 25.5 25.5L644.4 380l-67.6 154.4zM464.4 422L422 464.4l25.5 25.6 86.9 86.8 26.2 26.2 42.4-42.4-26.2-26.2-86.8-86.9z'));\nexports.ContactsOutline = getIcon('contacts', outline, getNode(newViewBox, 'M594.3 601.5a111.8 111.8 0 0 0 29.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 0 0-74.6 126.1 8 8 0 0 0 8 8.4H407c4.2 0 7.6-3.3 7.9-7.5 3.8-50.6 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H661a8 8 0 0 0 8-8.4c-2.8-53.3-32-99.7-74.7-126.1zM512 578c-28.5 0-51.7-23.3-51.7-52s23.2-52 51.7-52 51.7 23.3 51.7 52-23.2 52-51.7 52zm416-354H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496z'));\nexports.ContainerOutline = getIcon('container', outline, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V687h97.9c11.6 32.8 32 62.3 59.1 84.7 34.5 28.5 78.2 44.3 123 44.3s88.5-15.7 123-44.3c27.1-22.4 47.5-51.9 59.1-84.7H792v-63H643.6l-5.2 24.7C626.4 708.5 573.2 752 512 752s-114.4-43.5-126.5-103.3l-5.2-24.7H232V136h560v752zM320 341h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 160h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'));\nexports.ControlOutline = getIcon('control', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM340 683v77c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-77c-10.1 3.3-20.8 5-32 5s-21.9-1.8-32-5zm64-198V264c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v221c10.1-3.3 20.8-5 32-5s21.9 1.8 32 5zm-64 198c10.1 3.3 20.8 5 32 5s21.9-1.8 32-5c41.8-13.5 72-52.7 72-99s-30.2-85.5-72-99c-10.1-3.3-20.8-5-32-5s-21.9 1.8-32 5c-41.8 13.5-72 52.7-72 99s30.2 85.5 72 99zm.1-115.7c.3-.6.7-1.2 1-1.8v-.1l1.2-1.8c.1-.2.2-.3.3-.5.3-.5.7-.9 1-1.4.1-.1.2-.3.3-.4.5-.6.9-1.1 1.4-1.6l.3-.3 1.2-1.2.4-.4c.5-.5 1-.9 1.6-1.4.6-.5 1.1-.9 1.7-1.3.2-.1.3-.2.5-.3.5-.3.9-.7 1.4-1 .1-.1.3-.2.4-.3.6-.4 1.2-.7 1.9-1.1.1-.1.3-.1.4-.2.5-.3 1-.5 1.6-.8l.6-.3c.7-.3 1.3-.6 2-.8.7-.3 1.4-.5 2.1-.7.2-.1.4-.1.6-.2.6-.2 1.1-.3 1.7-.4.2 0 .3-.1.5-.1.7-.2 1.5-.3 2.2-.4.2 0 .3 0 .5-.1.6-.1 1.2-.1 1.8-.2h.6c.8 0 1.5-.1 2.3-.1s1.5 0 2.3.1h.6c.6 0 1.2.1 1.8.2.2 0 .3 0 .5.1.7.1 1.5.2 2.2.4.2 0 .3.1.5.1.6.1 1.2.3 1.7.4.2.1.4.1.6.2.7.2 1.4.4 2.1.7.7.2 1.3.5 2 .8l.6.3c.5.2 1.1.5 1.6.8.1.1.3.1.4.2.6.3 1.3.7 1.9 1.1.1.1.3.2.4.3.5.3 1 .6 1.4 1 .2.1.3.2.5.3.6.4 1.2.9 1.7 1.3s1.1.9 1.6 1.4l.4.4 1.2 1.2.3.3c.5.5 1 1.1 1.4 1.6.1.1.2.3.3.4.4.4.7.9 1 1.4.1.2.2.3.3.5l1.2 1.8s0 .1.1.1a36.18 36.18 0 0 1 5.1 18.5c0 6-1.5 11.7-4.1 16.7-.3.6-.7 1.2-1 1.8 0 0 0 .1-.1.1l-1.2 1.8c-.1.2-.2.3-.3.5-.3.5-.7.9-1 1.4-.1.1-.2.3-.3.4-.5.6-.9 1.1-1.4 1.6l-.3.3-1.2 1.2-.4.4c-.5.5-1 .9-1.6 1.4-.6.5-1.1.9-1.7 1.3-.2.1-.3.2-.5.3-.5.3-.9.7-1.4 1-.1.1-.3.2-.4.3-.6.4-1.2.7-1.9 1.1-.1.1-.3.1-.4.2-.5.3-1 .5-1.6.8l-.6.3c-.7.3-1.3.6-2 .8-.7.3-1.4.5-2.1.7-.2.1-.4.1-.6.2-.6.2-1.1.3-1.7.4-.2 0-.3.1-.5.1-.7.2-1.5.3-2.2.4-.2 0-.3 0-.5.1-.6.1-1.2.1-1.8.2h-.6c-.8 0-1.5.1-2.3.1s-1.5 0-2.3-.1h-.6c-.6 0-1.2-.1-1.8-.2-.2 0-.3 0-.5-.1-.7-.1-1.5-.2-2.2-.4-.2 0-.3-.1-.5-.1-.6-.1-1.2-.3-1.7-.4-.2-.1-.4-.1-.6-.2-.7-.2-1.4-.4-2.1-.7-.7-.2-1.3-.5-2-.8l-.6-.3c-.5-.2-1.1-.5-1.6-.8-.1-.1-.3-.1-.4-.2-.6-.3-1.3-.7-1.9-1.1-.1-.1-.3-.2-.4-.3-.5-.3-1-.6-1.4-1-.2-.1-.3-.2-.5-.3-.6-.4-1.2-.9-1.7-1.3s-1.1-.9-1.6-1.4l-.4-.4-1.2-1.2-.3-.3c-.5-.5-1-1.1-1.4-1.6-.1-.1-.2-.3-.3-.4-.4-.4-.7-.9-1-1.4-.1-.2-.2-.3-.3-.5l-1.2-1.8v-.1c-.4-.6-.7-1.2-1-1.8-2.6-5-4.1-10.7-4.1-16.7s1.5-11.7 4.1-16.7zM620 539v221c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V539c-10.1 3.3-20.8 5-32 5s-21.9-1.8-32-5zm64-198v-77c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v77c10.1-3.3 20.8-5 32-5s21.9 1.8 32 5zm-64 198c10.1 3.3 20.8 5 32 5s21.9-1.8 32-5c41.8-13.5 72-52.7 72-99s-30.2-85.5-72-99c-10.1-3.3-20.8-5-32-5s-21.9 1.8-32 5c-41.8 13.5-72 52.7-72 99s30.2 85.5 72 99zm.1-115.7c.3-.6.7-1.2 1-1.8v-.1l1.2-1.8c.1-.2.2-.3.3-.5.3-.5.7-.9 1-1.4.1-.1.2-.3.3-.4.5-.6.9-1.1 1.4-1.6l.3-.3 1.2-1.2.4-.4c.5-.5 1-.9 1.6-1.4.6-.5 1.1-.9 1.7-1.3.2-.1.3-.2.5-.3.5-.3.9-.7 1.4-1 .1-.1.3-.2.4-.3.6-.4 1.2-.7 1.9-1.1.1-.1.3-.1.4-.2.5-.3 1-.5 1.6-.8l.6-.3c.7-.3 1.3-.6 2-.8.7-.3 1.4-.5 2.1-.7.2-.1.4-.1.6-.2.6-.2 1.1-.3 1.7-.4.2 0 .3-.1.5-.1.7-.2 1.5-.3 2.2-.4.2 0 .3 0 .5-.1.6-.1 1.2-.1 1.8-.2h.6c.8 0 1.5-.1 2.3-.1s1.5 0 2.3.1h.6c.6 0 1.2.1 1.8.2.2 0 .3 0 .5.1.7.1 1.5.2 2.2.4.2 0 .3.1.5.1.6.1 1.2.3 1.7.4.2.1.4.1.6.2.7.2 1.4.4 2.1.7.7.2 1.3.5 2 .8l.6.3c.5.2 1.1.5 1.6.8.1.1.3.1.4.2.6.3 1.3.7 1.9 1.1.1.1.3.2.4.3.5.3 1 .6 1.4 1 .2.1.3.2.5.3.6.4 1.2.9 1.7 1.3s1.1.9 1.6 1.4l.4.4 1.2 1.2.3.3c.5.5 1 1.1 1.4 1.6.1.1.2.3.3.4.4.4.7.9 1 1.4.1.2.2.3.3.5l1.2 1.8v.1a36.18 36.18 0 0 1 5.1 18.5c0 6-1.5 11.7-4.1 16.7-.3.6-.7 1.2-1 1.8v.1l-1.2 1.8c-.1.2-.2.3-.3.5-.3.5-.7.9-1 1.4-.1.1-.2.3-.3.4-.5.6-.9 1.1-1.4 1.6l-.3.3-1.2 1.2-.4.4c-.5.5-1 .9-1.6 1.4-.6.5-1.1.9-1.7 1.3-.2.1-.3.2-.5.3-.5.3-.9.7-1.4 1-.1.1-.3.2-.4.3-.6.4-1.2.7-1.9 1.1-.1.1-.3.1-.4.2-.5.3-1 .5-1.6.8l-.6.3c-.7.3-1.3.6-2 .8-.7.3-1.4.5-2.1.7-.2.1-.4.1-.6.2-.6.2-1.1.3-1.7.4-.2 0-.3.1-.5.1-.7.2-1.5.3-2.2.4-.2 0-.3 0-.5.1-.6.1-1.2.1-1.8.2h-.6c-.8 0-1.5.1-2.3.1s-1.5 0-2.3-.1h-.6c-.6 0-1.2-.1-1.8-.2-.2 0-.3 0-.5-.1-.7-.1-1.5-.2-2.2-.4-.2 0-.3-.1-.5-.1-.6-.1-1.2-.3-1.7-.4-.2-.1-.4-.1-.6-.2-.7-.2-1.4-.4-2.1-.7-.7-.2-1.3-.5-2-.8l-.6-.3c-.5-.2-1.1-.5-1.6-.8-.1-.1-.3-.1-.4-.2-.6-.3-1.3-.7-1.9-1.1-.1-.1-.3-.2-.4-.3-.5-.3-1-.6-1.4-1-.2-.1-.3-.2-.5-.3-.6-.4-1.2-.9-1.7-1.3s-1.1-.9-1.6-1.4l-.4-.4-1.2-1.2-.3-.3c-.5-.5-1-1.1-1.4-1.6-.1-.1-.2-.3-.3-.4-.4-.4-.7-.9-1-1.4-.1-.2-.2-.3-.3-.5l-1.2-1.8v-.1c-.4-.6-.7-1.2-1-1.8-2.6-5-4.1-10.7-4.1-16.7s1.5-11.7 4.1-16.7z'));\nexports.CopyOutline = getIcon('copy', outline, getNode(newViewBox, 'M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z'));\nexports.CreditCardOutline = getIcon('credit-card', outline, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-792 72h752v120H136V232zm752 560H136V440h752v352zm-237-64h165c4.4 0 8-3.6 8-8v-72c0-4.4-3.6-8-8-8H651c-4.4 0-8 3.6-8 8v72c0 4.4 3.6 8 8 8z'));\nexports.CrownOutline = getIcon('crown', outline, getNode(newViewBox, 'M899.6 276.5L705 396.4 518.4 147.5a8.06 8.06 0 0 0-12.9 0L319 396.4 124.3 276.5c-5.7-3.5-13.1 1.2-12.2 7.9L188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.8-6.7-6.5-11.4-12.3-7.9zm-126 534.1H250.3l-53.8-409.4 139.8 86.1L512 252.9l175.7 234.4 139.8-86.1-53.9 409.4zM512 509c-62.1 0-112.6 50.5-112.6 112.6S449.9 734.2 512 734.2s112.6-50.5 112.6-112.6S574.1 509 512 509zm0 160.9c-26.6 0-48.2-21.6-48.2-48.3 0-26.6 21.6-48.3 48.2-48.3s48.2 21.6 48.2 48.3c0 26.6-21.6 48.3-48.2 48.3z'));\nexports.CustomerServiceOutline = getIcon('customer-service', outline, getNode(newViewBox, 'M512 128c-212.1 0-384 171.9-384 384v360c0 13.3 10.7 24 24 24h184c35.3 0 64-28.7 64-64V624c0-35.3-28.7-64-64-64H200v-48c0-172.3 139.7-312 312-312s312 139.7 312 312v48H688c-35.3 0-64 28.7-64 64v208c0 35.3 28.7 64 64 64h184c13.3 0 24-10.7 24-24V512c0-212.1-171.9-384-384-384zM328 632v192H200V632h128zm496 192H696V632h128v192z'));\nexports.DashboardOutline = getIcon('dashboard', outline, getNode(newViewBox, 'M924.8 385.6a446.7 446.7 0 0 0-96-142.4 446.7 446.7 0 0 0-142.4-96C631.1 123.8 572.5 112 512 112s-119.1 11.8-174.4 35.2a446.7 446.7 0 0 0-142.4 96 446.7 446.7 0 0 0-96 142.4C75.8 440.9 64 499.5 64 560c0 132.7 58.3 257.7 159.9 343.1l1.7 1.4c5.8 4.8 13.1 7.5 20.6 7.5h531.7c7.5 0 14.8-2.7 20.6-7.5l1.7-1.4C901.7 817.7 960 692.7 960 560c0-60.5-11.9-119.1-35.2-174.4zM761.4 836H262.6A371.12 371.12 0 0 1 140 560c0-99.4 38.7-192.8 109-263 70.3-70.3 163.7-109 263-109 99.4 0 192.8 38.7 263 109 70.3 70.3 109 163.7 109 263 0 105.6-44.5 205.5-122.6 276zM623.5 421.5a8.03 8.03 0 0 0-11.3 0L527.7 506c-18.7-5-39.4-.2-54.1 14.5a55.95 55.95 0 0 0 0 79.2 55.95 55.95 0 0 0 79.2 0 55.87 55.87 0 0 0 14.5-54.1l84.5-84.5c3.1-3.1 3.1-8.2 0-11.3l-28.3-28.3zM490 320h44c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8h-44c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8zm260 218v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8zm12.7-197.2l-31.1-31.1a8.03 8.03 0 0 0-11.3 0l-56.6 56.6a8.03 8.03 0 0 0 0 11.3l31.1 31.1c3.1 3.1 8.2 3.1 11.3 0l56.6-56.6c3.1-3.1 3.1-8.2 0-11.3zm-458.6-31.1a8.03 8.03 0 0 0-11.3 0l-31.1 31.1a8.03 8.03 0 0 0 0 11.3l56.6 56.6c3.1 3.1 8.2 3.1 11.3 0l31.1-31.1c3.1-3.1 3.1-8.2 0-11.3l-56.6-56.6zM262 530h-80c-4.4 0-8 3.6-8 8v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8z'));\nexports.DeleteOutline = getIcon('delete', outline, getNode(newViewBox, 'M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z'));\nexports.DiffOutline = getIcon('diff', outline, getNode(newViewBox, 'M476 399.1c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1V484h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H420v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V540h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H476v-84.9zM560.5 704h-225c-4.1 0-7.5 3.2-7.5 7v42c0 3.8 3.4 7 7.5 7h225c4.1 0 7.5-3.2 7.5-7v-42c0-3.8-3.4-7-7.5-7zm-7.1-502.6c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v704c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32V397.3c0-8.5-3.4-16.6-9.4-22.6L553.4 201.4zM664 888H232V264h282.2L664 413.8V888zm190.2-581.4L611.3 72.9c-6-5.7-13.9-8.9-22.2-8.9H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h277l219 210.6V824c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V329.6c0-8.7-3.5-17-9.8-23z'));\nexports.DatabaseOutline = getIcon('database', outline, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM304 240a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 272a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 272a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.DislikeOutline = getIcon('dislike', outline, getNode(newViewBox, 'M885.9 490.3c3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-51.6-30.7-98.1-78.3-118.4a66.1 66.1 0 0 0-26.5-5.4H144c-17.7 0-32 14.3-32 32v364c0 17.7 14.3 32 32 32h129.3l85.8 310.8C372.9 889 418.9 924 470.9 924c29.7 0 57.4-11.8 77.9-33.4 20.5-21.5 31-49.7 29.5-79.4l-6-122.9h239.9c12.1 0 23.9-3.2 34.3-9.3 40.4-23.5 65.5-66.1 65.5-111 0-28.3-9.3-55.5-26.1-77.7zM184 456V172h81v284h-81zm627.2 160.4H496.8l9.6 198.4c.6 11.9-4.7 23.1-14.6 30.5-6.1 4.5-13.6 6.8-21.1 6.7a44.28 44.28 0 0 1-42.2-32.3L329 459.2V172h415.4a56.85 56.85 0 0 1 33.6 51.8c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0 1 19.6 43c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0 1 19.6 43c0 9.7-2.3 18.9-6.9 27.3l-14 25.5 21.9 19a56.76 56.76 0 0 1 19.6 43c0 19.1-11 37.5-28.8 48.4z'));\nexports.DownCircleOutline = getIcon('down-circle', outline, getNode(newViewBox, 'M690 405h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 563.6 406.8 418.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.DownSquareOutline = getIcon('down-square', outline, getNode(newViewBox, 'M505.5 658.7c3.2 4.4 9.7 4.4 12.9 0l178-246c3.8-5.3 0-12.7-6.5-12.7H643c-10.2 0-19.9 4.9-25.9 13.2L512 558.6 406.8 413.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.DribbbleSquareOutline = getIcon('dribbble-square', outline, getNode(newViewBox, 'M498.6 432c-40.8-72.5-84.7-133.4-91.2-142.3-68.8 32.5-120.3 95.9-136.2 172.2 11 .2 112.4.7 227.4-29.9zm66.5 21.8c5.7 11.7 11.2 23.6 16.3 35.6 1.8 4.2 3.6 8.4 5.3 12.7 81.8-10.3 163.2 6.2 171.3 7.9-.5-58.1-21.3-111.4-55.5-153.3-5.3 7.1-46.5 60-137.4 97.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM512 800c-158.8 0-288-129.2-288-288s129.2-288 288-288 288 129.2 288 288-129.2 288-288 288zm89.7-259.1c32.2 88.4 45.3 160.4 47.8 175.4 55.2-37.3 94.5-96.4 105.4-164.9-8.4-2.6-76.1-22.8-153.2-10.5zm-72.5-26.4c3.2-1 6.4-2 9.7-2.9-6.2-14-12.9-28-19.9-41.7-122.8 36.8-242.1 35.2-252.8 35-.1 2.5-.1 5-.1 7.5 0 63.2 23.9 120.9 63.2 164.5 5.5-9.6 73-121.4 199.9-162.4zm145.9-186.2a245.2 245.2 0 0 0-220.8-55.1c6.8 9.1 51.5 69.9 91.8 144 87.5-32.8 124.5-82.6 129-88.9zM554 552.8c-138.7 48.3-188.6 144.6-193 153.6 41.7 32.5 94.1 51.9 151 51.9 34.1 0 66.6-6.9 96.1-19.5-3.7-21.6-17.9-96.8-52.5-186.6l-1.6.6z'));\nexports.EnvironmentOutline = getIcon('environment', outline, getNode(newViewBox, 'M854.6 289.1a362.49 362.49 0 0 0-79.9-115.7 370.83 370.83 0 0 0-118.2-77.8C610.7 76.6 562.1 67 512 67c-50.1 0-98.7 9.6-144.5 28.5-44.3 18.3-84 44.5-118.2 77.8A363.6 363.6 0 0 0 169.4 289c-19.5 45-29.4 92.8-29.4 142 0 70.6 16.9 140.9 50.1 208.7 26.7 54.5 64 107.6 111 158.1 80.3 86.2 164.5 138.9 188.4 153a43.9 43.9 0 0 0 22.4 6.1c7.8 0 15.5-2 22.4-6.1 23.9-14.1 108.1-66.8 188.4-153 47-50.4 84.3-103.6 111-158.1C867.1 572 884 501.8 884 431.1c0-49.2-9.9-97-29.4-142zM512 880.2c-65.9-41.9-300-207.8-300-449.1 0-77.9 31.1-151.1 87.6-206.3C356.3 169.5 431.7 139 512 139s155.7 30.5 212.4 85.9C780.9 280 812 353.2 812 431.1c0 241.3-234.1 407.2-300 449.1zm0-617.2c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 0 1 512 551c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 0 1 400 439c0-29.9 11.7-58 32.8-79.2C454 338.6 482.1 327 512 327c29.9 0 58 11.6 79.2 32.8C612.4 381 624 409.1 624 439c0 29.9-11.6 58-32.8 79.2z'));\nexports.EditOutline = getIcon('edit', outline, getNode(newViewBox, 'M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 0 0 0-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 0 0 9.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z'));\nexports.ExclamationCircleOutline = getIcon('exclamation-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z', 'M464 688a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z'));\nexports.ExperimentOutline = getIcon('experiment', outline, getNode(newViewBox, 'M512 472a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm367 352.9L696.3 352V178H768v-68H256v68h71.7v174L145 824.9c-2.8 7.4-4.3 15.2-4.3 23.1 0 35.3 28.7 64 64 64h614.6c7.9 0 15.7-1.5 23.1-4.3 33-12.7 49.4-49.8 36.6-82.8zM395.7 364.7V180h232.6v184.7L719.2 600c-20.7-5.3-42.1-8-63.9-8-61.2 0-119.2 21.5-165.3 60a188.78 188.78 0 0 1-121.3 43.9c-32.7 0-64.1-8.3-91.8-23.7l118.8-307.5zM210.5 844l41.7-107.8c35.7 18.1 75.4 27.8 116.6 27.8 61.2 0 119.2-21.5 165.3-60 33.9-28.2 76.3-43.9 121.3-43.9 35 0 68.4 9.5 97.6 27.1L813.5 844h-603z'));\nexports.EyeInvisibleOutline = getIcon('eye-invisible', outline, getNode(newViewBox, 'M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 0 0 0-51.5zm-63.57-320.64L836 122.88a8 8 0 0 0-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 0 0 0 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 0 0 0 11.31L155.17 889a8 8 0 0 0 11.31 0l712.15-712.12a8 8 0 0 0 0-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 0 0-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 0 1 146.2-106.69L401.31 546.2A112 112 0 0 1 396 512z', 'M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 0 0 227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 0 1-112 112z'));\nexports.EyeOutline = getIcon('eye', outline, getNode(newViewBox, 'M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 0 0 0 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z'));\nexports.FacebookOutline = getIcon('facebook', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-32 736H663.9V602.2h104l15.6-120.7H663.9v-77.1c0-35 9.7-58.8 59.8-58.8h63.9v-108c-11.1-1.5-49-4.8-93.2-4.8-92.2 0-155.3 56.3-155.3 159.6v89H434.9v120.7h104.3V848H176V176h672v672z'));\nexports.FastBackwardOutline = getIcon('fast-backward', outline, getNode(normalViewBox, 'M517.6 273.5L230.2 499.3a16.14 16.14 0 0 0 0 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm320 0L550.2 499.3a16.14 16.14 0 0 0 0 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm-620-25.5h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z'));\nexports.FastForwardOutline = getIcon('fast-forward', outline, getNode(normalViewBox, 'M793.8 499.3L506.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.6c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8a16.14 16.14 0 0 0 0-25.4zm-320 0L186.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.5c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8c4.1-3.2 6.2-8 6.2-12.7 0-4.6-2.1-9.4-6.2-12.6zM857.6 248h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z'));\nexports.FileAddOutline = getIcon('file-add', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM544 472c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V472z'));\nexports.FileExcelOutline = getIcon('file-excel', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM514.1 580.1l-61.8-102.4c-2.2-3.6-6.1-5.8-10.3-5.8h-38.4c-2.3 0-4.5.6-6.4 1.9-5.6 3.5-7.3 10.9-3.7 16.6l82.3 130.4-83.4 132.8a12.04 12.04 0 0 0 10.2 18.4h34.5c4.2 0 8-2.2 10.2-5.7L510 664.8l62.3 101.4c2.2 3.6 6.1 5.7 10.2 5.7H620c2.3 0 4.5-.7 6.5-1.9 5.6-3.6 7.2-11 3.6-16.6l-84-130.4 85.3-132.5a12.04 12.04 0 0 0-10.1-18.5h-35.7c-4.2 0-8.1 2.2-10.3 5.8l-61.2 102.3z'));\nexports.FileExclamationOutline = getIcon('file-exclamation', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM472 744a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm16-104h48c4.4 0 8-3.6 8-8V448c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8z'));\nexports.FileImageOutline = getIcon('file-image', outline, getNode(newViewBox, 'M553.1 509.1l-77.8 99.2-41.1-52.4a8 8 0 0 0-12.6 0l-99.8 127.2a7.98 7.98 0 0 0 6.3 12.9H696c6.7 0 10.4-7.7 6.3-12.9l-136.5-174a8.1 8.1 0 0 0-12.7 0zM360 442a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm494.6-153.4L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494z'));\nexports.FileMarkdownOutline = getIcon('file-markdown', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM429 481.2c-1.9-4.4-6.2-7.2-11-7.2h-35c-6.6 0-12 5.4-12 12v272c0 6.6 5.4 12 12 12h27.1c6.6 0 12-5.4 12-12V582.1l66.8 150.2a12 12 0 0 0 11 7.1H524c4.7 0 9-2.8 11-7.1l66.8-150.6V758c0 6.6 5.4 12 12 12H641c6.6 0 12-5.4 12-12V486c0-6.6-5.4-12-12-12h-34.7c-4.8 0-9.1 2.8-11 7.2l-83.1 191-83.2-191z'));\nexports.FilePptOutline = getIcon('file-ppt', outline, getNode(newViewBox, 'M424 476c-4.4 0-8 3.6-8 8v276c0 4.4 3.6 8 8 8h32.5c4.4 0 8-3.6 8-8v-95.5h63.3c59.4 0 96.2-38.9 96.2-94.1 0-54.5-36.3-94.3-96-94.3H424zm150.6 94.3c0 43.4-26.5 54.3-71.2 54.3h-38.9V516.2h56.2c33.8 0 53.9 19.7 53.9 54.1zm280-281.7L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494z'));\nexports.FileTextOutline = getIcon('file-text', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z'));\nexports.FilePdfOutline = getIcon('file-pdf', outline, getNode(newViewBox, 'M531.3 574.4l.3-1.4c5.8-23.9 13.1-53.7 7.4-80.7-3.8-21.3-19.5-29.6-32.9-30.2-15.8-.7-29.9 8.3-33.4 21.4-6.6 24-.7 56.8 10.1 98.6-13.6 32.4-35.3 79.5-51.2 107.5-29.6 15.3-69.3 38.9-75.2 68.7-1.2 5.5.2 12.5 3.5 18.8 3.7 7 9.6 12.4 16.5 15 3 1.1 6.6 2 10.8 2 17.6 0 46.1-14.2 84.1-79.4 5.8-1.9 11.8-3.9 17.6-5.9 27.2-9.2 55.4-18.8 80.9-23.1 28.2 15.1 60.3 24.8 82.1 24.8 21.6 0 30.1-12.8 33.3-20.5 5.6-13.5 2.9-30.5-6.2-39.6-13.2-13-45.3-16.4-95.3-10.2-24.6-15-40.7-35.4-52.4-65.8zM421.6 726.3c-13.9 20.2-24.4 30.3-30.1 34.7 6.7-12.3 19.8-25.3 30.1-34.7zm87.6-235.5c5.2 8.9 4.5 35.8.5 49.4-4.9-19.9-5.6-48.1-2.7-51.4.8.1 1.5.7 2.2 2zm-1.6 120.5c10.7 18.5 24.2 34.4 39.1 46.2-21.6 4.9-41.3 13-58.9 20.2-4.2 1.7-8.3 3.4-12.3 5 13.3-24.1 24.4-51.4 32.1-71.4zm155.6 65.5c.1.2.2.5-.4.9h-.2l-.2.3c-.8.5-9 5.3-44.3-8.6 40.6-1.9 45 7.3 45.1 7.4zm191.4-388.2L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494z'));\nexports.FileZipOutline = getIcon('file-zip', outline, getNode(newViewBox, 'M296 392h64v64h-64zm0 190v160h128V582h-64v-62h-64v62zm80 48v64h-32v-64h32zm-16-302h64v64h-64zm-64-64h64v64h-64zm64 192h64v64h-64zm0-256h64v64h-64zm494.6 88.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h64v64h64v-64h174v216a42 42 0 0 0 42 42h216v494z'));\nexports.FileOutline = getIcon('file', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494z'));\nexports.FilterOutline = getIcon('filter', outline, getNode(newViewBox, 'M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 597.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V597.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V642h182.9v156zm9.6-236.6l-9.5 16.6h-183l-9.5-16.6L212.7 226h598.6L613 561.4z'));\nexports.FileWordOutline = getIcon('file-word', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM528.1 472h-32.2c-5.5 0-10.3 3.7-11.6 9.1L434.6 680l-46.1-198.7c-1.3-5.4-6.1-9.3-11.7-9.3h-35.4a12.02 12.02 0 0 0-11.6 15.1l74.2 276c1.4 5.2 6.2 8.9 11.6 8.9h32c5.4 0 10.2-3.6 11.6-8.9l52.8-197 52.8 197c1.4 5.2 6.2 8.9 11.6 8.9h31.8c5.4 0 10.2-3.6 11.6-8.9l74.4-276a12.04 12.04 0 0 0-11.6-15.1H647c-5.6 0-10.4 3.9-11.7 9.3l-45.8 199.1-49.8-199.3c-1.3-5.4-6.1-9.1-11.6-9.1z'));\nexports.FireOutline = getIcon('fire', outline, getNode(newViewBox, 'M834.1 469.2A347.49 347.49 0 0 0 751.2 354l-29.1-26.7a8.09 8.09 0 0 0-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 0 1-47.5 46.1 352.6 352.6 0 0 0-100.3 121.5A347.75 347.75 0 0 0 160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0 0 75.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 0 0 760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0 0 27.7-136c0-48.8-10-96.2-29.9-140.9zM713 808.5c-53.7 53.2-125 82.4-201 82.4s-147.3-29.2-201-82.4c-53.5-53.1-83-123.5-83-198.4 0-43.5 9.8-85.2 29.1-124 18.8-37.9 46.8-71.8 80.8-97.9a349.6 349.6 0 0 0 58.6-56.8c25-30.5 44.6-64.5 58.2-101a240 240 0 0 0 12.1-46.5c24.1 22.2 44.3 49 61.2 80.4 33.4 62.6 48.8 118.3 45.8 165.7a74.01 74.01 0 0 0 24.4 59.8 73.36 73.36 0 0 0 53.4 18.8c19.7-1 37.8-9.7 51-24.4 13.3-14.9 24.8-30.1 34.4-45.6 14 17.9 25.7 37.4 35 58.4 15.9 35.8 24 73.9 24 113.1 0 74.9-29.5 145.4-83 198.4z'));\nexports.FileUnknownOutline = getIcon('file-unknown', outline, getNode(newViewBox, 'M854.6 288.7L639.4 73.4c-6-6-14.2-9.4-22.7-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.6-9.4-22.6zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM402 549c0 5.4 4.4 9.5 9.8 9.5h32.4c5.4 0 9.8-4.2 9.8-9.4 0-28.2 25.8-51.6 58-51.6s58 23.4 58 51.5c0 25.3-21 47.2-49.3 50.9-19.3 2.8-34.5 20.3-34.7 40.1v32c0 5.5 4.5 10 10 10h32c5.5 0 10-4.5 10-10v-12.2c0-6 4-11.5 9.7-13.3 44.6-14.4 75-54 74.3-98.9-.8-55.5-49.2-100.8-108.5-101.6-61.4-.7-111.5 45.6-111.5 103zm78 195a32 32 0 1 0 64 0 32 32 0 1 0-64 0z'));\nexports.FlagOutline = getIcon('flag', outline, getNode(newViewBox, 'M880 305H624V192c0-17.7-14.3-32-32-32H184v-40c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V640h248v113c0 17.7 14.3 32 32 32h416c17.7 0 32-14.3 32-32V337c0-17.7-14.3-32-32-32zM184 568V232h368v336H184zm656 145H504v-73h112c4.4 0 8-3.6 8-8V377h216v336z'));\nexports.FolderAddOutline = getIcon('folder-add', outline, getNode(newViewBox, 'M484 443.1V528h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H484v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V584h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H540v-84.9c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1zm396-144.7H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z'));\nexports.FolderOutline = getIcon('folder', outline, getNode(newViewBox, 'M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z'));\nexports.FolderOpenOutline = getIcon('folder-open', outline, getNode(newViewBox, 'M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z'));\nexports.ForwardOutline = getIcon('forward', outline, getNode(normalViewBox, 'M825.8 498L538.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L825.8 526c8.3-7.2 8.3-20.8 0-28zm-320 0L218.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L505.8 526c4.1-3.6 6.2-8.8 6.2-14 0-5.2-2.1-10.4-6.2-14z'));\nexports.FrownOutline = getIcon('frown', outline, getNode(newViewBox, 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm352 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 0 1 248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 0 1 249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 0 1 775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 0 1 775 775zM512 533c-85.5 0-155.6 67.3-160 151.6a8 8 0 0 0 8 8.4h48.1c4.2 0 7.8-3.2 8.1-7.4C420 636.1 461.5 597 512 597s92.1 39.1 95.8 88.6c.3 4.2 3.9 7.4 8.1 7.4H664a8 8 0 0 0 8-8.4C667.6 600.3 597.5 533 512 533z'));\nexports.FundOutline = getIcon('fund', outline, getNode(newViewBox, 'M926 164H94c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V196c0-17.7-14.3-32-32-32zm-40 632H134V236h752v560zm-658.9-82.3c3.1 3.1 8.2 3.1 11.3 0l172.5-172.5 114.4 114.5c3.1 3.1 8.2 3.1 11.3 0l297-297.2c3.1-3.1 3.1-8.2 0-11.3l-36.8-36.8a8.03 8.03 0 0 0-11.3 0L531 565 416.6 450.5a8.03 8.03 0 0 0-11.3 0l-214.9 215a8.03 8.03 0 0 0 0 11.3l36.7 36.9z'));\nexports.FunnelPlotOutline = getIcon('funnel-plot', outline, getNode(newViewBox, 'M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 607.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V607.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V650h182.9v148zm9.6-226.6l-8.4 14.6H419.3l-8.4-14.6L334.4 438h355.2L613 571.4zM726.3 374H297.7l-85-148h598.6l-85 148z'));\nexports.GiftOutline = getIcon('gift', outline, getNode(newViewBox, 'M880 310H732.4c13.6-21.4 21.6-46.8 21.6-74 0-76.1-61.9-138-138-138-41.4 0-78.7 18.4-104 47.4-25.3-29-62.6-47.4-104-47.4-76.1 0-138 61.9-138 138 0 27.2 7.9 52.6 21.6 74H144c-17.7 0-32 14.3-32 32v200c0 4.4 3.6 8 8 8h40v344c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V550h40c4.4 0 8-3.6 8-8V342c0-17.7-14.3-32-32-32zm-334-74c0-38.6 31.4-70 70-70s70 31.4 70 70-31.4 70-70 70h-70v-70zm-138-70c38.6 0 70 31.4 70 70v70h-70c-38.6 0-70-31.4-70-70s31.4-70 70-70zM180 482V378h298v104H180zm48 68h250v308H228V550zm568 308H546V550h250v308zm48-376H546V378h298v104z'));\nexports.GithubOutline = getIcon('github', outline, getNode(newViewBox, 'M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9a127.5 127.5 0 0 1 38.1 91v112.5c.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z'));\nexports.GitlabOutline = getIcon('gitlab', outline, getNode(newViewBox, 'M913.9 552.2L805 181.4v-.1c-7.6-22.9-25.7-36.5-48.3-36.5-23.4 0-42.5 13.5-49.7 35.2l-71.4 213H388.8l-71.4-213c-7.2-21.7-26.3-35.2-49.7-35.2-23.1 0-42.5 14.8-48.4 36.6L110.5 552.2c-4.4 14.7 1.2 31.4 13.5 40.7l368.5 276.4c2.6 3.6 6.2 6.3 10.4 7.8l8.6 6.4 8.5-6.4c4.9-1.7 9-4.7 11.9-8.9l368.4-275.4c12.4-9.2 18-25.9 13.6-40.6zM751.7 193.4c1-1.8 2.9-1.9 3.5-1.9 1.1 0 2.5.3 3.4 3L818 394.3H684.5l67.2-200.9zm-487.4 1c.9-2.6 2.3-2.9 3.4-2.9 2.7 0 2.9.1 3.4 1.7l67.3 201.2H206.5l57.8-200zM158.8 558.7l28.2-97.3 202.4 270.2-230.6-172.9zm73.9-116.4h122.1l90.8 284.3-212.9-284.3zM512.9 776L405.7 442.3H620L512.9 776zm157.9-333.7h119.5L580 723.1l90.8-280.8zm-40.7 293.9l207.3-276.7 29.5 99.2-236.8 177.5z'));\nexports.HeartOutline = getIcon('heart', outline, getNode(newViewBox, 'M923 283.6a260.04 260.04 0 0 0-56.9-82.8 264.4 264.4 0 0 0-84-55.5A265.34 265.34 0 0 0 679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 0 0-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9zM512 814.8S156 586.7 156 385.5C156 283.6 240.3 201 344.3 201c73.1 0 136.5 40.8 167.7 100.4C543.2 241.8 606.6 201 679.7 201c104 0 188.3 82.6 188.3 184.5 0 201.2-356 429.3-356 429.3z'));\nexports.HddOutline = getIcon('hdd', outline, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM496 208H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 544h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm328 244a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.HighlightOutline = getIcon('highlight', outline, getNode(newViewBox, 'M957.6 507.4L603.2 158.2a7.9 7.9 0 0 0-11.2 0L353.3 393.4a8.03 8.03 0 0 0-.1 11.3l.1.1 40 39.4-117.2 115.3a8.03 8.03 0 0 0-.1 11.3l.1.1 39.5 38.9-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8V860c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6 40.4 39.8a7.9 7.9 0 0 0 11.2 0l117.1-115.6 40.1 39.5a7.9 7.9 0 0 0 11.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2zM389.8 796.2H229.6l134.4-133 80.1 78.9-54.3 54.1zm154.8-62.1L373.2 565.2l68.6-67.6 171.4 168.9-68.6 67.6zM713.1 658L450.3 399.1 597.6 254l262.8 259-147.3 145z'));\nexports.HomeOutline = getIcon('home', outline, getNode(newViewBox, 'M946.5 505L560.1 118.8l-25.9-25.9a31.5 31.5 0 0 0-44.4 0L77.5 505a63.9 63.9 0 0 0-18.8 46c.4 35.2 29.7 63.3 64.9 63.3h42.5V940h691.8V614.3h43.4c17.1 0 33.2-6.7 45.3-18.8a63.6 63.6 0 0 0 18.7-45.3c0-17-6.7-33.1-18.8-45.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z'));\nexports.HourglassOutline = getIcon('hourglass', outline, getNode(newViewBox, 'M742 318V184h86c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h86v134c0 81.5 42.4 153.2 106.4 194-64 40.8-106.4 112.5-106.4 194v134h-86c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h632c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-86V706c0-81.5-42.4-153.2-106.4-194 64-40.8 106.4-112.5 106.4-194zm-72 388v134H354V706c0-42.2 16.4-81.9 46.3-111.7C430.1 564.4 469.8 548 512 548s81.9 16.4 111.7 46.3C653.6 624.1 670 663.8 670 706zm0-388c0 42.2-16.4 81.9-46.3 111.7C593.9 459.6 554.2 476 512 476s-81.9-16.4-111.7-46.3A156.63 156.63 0 0 1 354 318V184h316v134z'));\nexports.Html5Outline = getIcon('html5', outline, getNode(newViewBox, 'M145 96l66 746.6L511.8 928l299.6-85.4L878.7 96H145zm610.9 700.6l-244.1 69.6-245.2-69.6-56.7-641.2h603.8l-57.8 641.2zM281 249l1.7 24.3 22.7 253.5h206.5v-.1h112.9l-11.4 118.5L511 672.9v.2h-.8l-102.4-27.7-6.5-73.2h-91l11.3 144.7 188.6 52h1.7v-.4l187.7-51.7 1.7-16.3 21.2-242.2 3.2-24.3H511v.2H389.9l-8.2-94.2h352.1l1.7-19.5 4.8-47.2L742 249H511z'));\nexports.IdcardOutline = getIcon('idcard', outline, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V232h752v560zM610.3 476h123.4c1.3 0 2.3-3.6 2.3-8v-48c0-4.4-1-8-2.3-8H610.3c-1.3 0-2.3 3.6-2.3 8v48c0 4.4 1 8 2.3 8zm4.8 144h185.7c3.9 0 7.1-3.6 7.1-8v-48c0-4.4-3.2-8-7.1-8H615.1c-3.9 0-7.1 3.6-7.1 8v48c0 4.4 3.2 8 7.1 8zM224 673h43.9c4.2 0 7.6-3.3 7.9-7.5 3.8-50.5 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H522a8 8 0 0 0 8-8.4c-2.8-53.3-32-99.7-74.6-126.1a111.8 111.8 0 0 0 29.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 0 0-74.6 126.1c-.4 4.6 3.2 8.4 7.8 8.4zm149-262c28.5 0 51.7 23.3 51.7 52s-23.2 52-51.7 52-51.7-23.3-51.7-52 23.2-52 51.7-52z'));\nexports.InfoCircleOutline = getIcon('info-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z', 'M464 336a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z'));\nexports.InstagramOutline = getIcon('instagram', outline, getNode(newViewBox, 'M512 306.9c-113.5 0-205.1 91.6-205.1 205.1S398.5 717.1 512 717.1 717.1 625.5 717.1 512 625.5 306.9 512 306.9zm0 338.4c-73.4 0-133.3-59.9-133.3-133.3S438.6 378.7 512 378.7 645.3 438.6 645.3 512 585.4 645.3 512 645.3zm213.5-394.6c-26.5 0-47.9 21.4-47.9 47.9s21.4 47.9 47.9 47.9 47.9-21.3 47.9-47.9a47.84 47.84 0 0 0-47.9-47.9zM911.8 512c0-55.2.5-109.9-2.6-165-3.1-64-17.7-120.8-64.5-167.6-46.9-46.9-103.6-61.4-167.6-64.5-55.2-3.1-109.9-2.6-165-2.6-55.2 0-109.9-.5-165 2.6-64 3.1-120.8 17.7-167.6 64.5C132.6 226.3 118.1 283 115 347c-3.1 55.2-2.6 109.9-2.6 165s-.5 109.9 2.6 165c3.1 64 17.7 120.8 64.5 167.6 46.9 46.9 103.6 61.4 167.6 64.5 55.2 3.1 109.9 2.6 165 2.6 55.2 0 109.9.5 165-2.6 64-3.1 120.8-17.7 167.6-64.5 46.9-46.9 61.4-103.6 64.5-167.6 3.2-55.1 2.6-109.8 2.6-165zm-88 235.8c-7.3 18.2-16.1 31.8-30.2 45.8-14.1 14.1-27.6 22.9-45.8 30.2C695.2 844.7 570.3 840 512 840c-58.3 0-183.3 4.7-235.9-16.1-18.2-7.3-31.8-16.1-45.8-30.2-14.1-14.1-22.9-27.6-30.2-45.8C179.3 695.2 184 570.3 184 512c0-58.3-4.7-183.3 16.1-235.9 7.3-18.2 16.1-31.8 30.2-45.8s27.6-22.9 45.8-30.2C328.7 179.3 453.7 184 512 184s183.3-4.7 235.9 16.1c18.2 7.3 31.8 16.1 45.8 30.2 14.1 14.1 22.9 27.6 30.2 45.8C844.7 328.7 840 453.7 840 512c0 58.3 4.7 183.2-16.2 235.8z'));\nexports.InsuranceOutline = getIcon('insurance', outline, getNode(newViewBox, 'M441.6 306.8L403 288.6a6.1 6.1 0 0 0-8.4 3.7c-17.5 58.5-45.2 110.1-82.2 153.6a6.05 6.05 0 0 0-1.2 5.6l13.2 43.5c1.3 4.4 7 5.7 10.2 2.4 7.7-8.1 15.4-16.9 23.1-26V656c0 4.4 3.6 8 8 8H403c4.4 0 8-3.6 8-8V393.1a429.2 429.2 0 0 0 33.6-79c1-2.9-.3-6-3-7.3zm26.8 9.2v127.2c0 4.4 3.6 8 8 8h65.9v18.6h-94.9c-4.4 0-8 3.6-8 8v35.6c0 4.4 3.6 8 8 8h55.1c-19.1 30.8-42.4 55.7-71 76a6 6 0 0 0-1.6 8.1l22.8 36.5c1.9 3.1 6.2 3.8 8.9 1.4 31.6-26.8 58.7-62.9 80.6-107.6v120c0 4.4 3.6 8 8 8h36.2c4.4 0 8-3.6 8-8V536c21.3 41.7 47.5 77.5 78.1 106.9 2.6 2.5 6.8 2.1 8.9-.7l26.3-35.3c2-2.7 1.4-6.5-1.2-8.4-30.5-22.6-54.2-47.8-72.3-76.9h59c4.4 0 8-3.6 8-8V478c0-4.4-3.6-8-8-8h-98.8v-18.6h66.7c4.4 0 8-3.6 8-8V316c0-4.4-3.6-8-8-8H476.4c-4.4 0-8 3.6-8 8zm51.5 42.8h97.9v41.6h-97.9v-41.6zm347-188.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z'));\nexports.InteractionOutline = getIcon('interaction', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM304.8 524h50.7c3.7 0 6.8-3 6.8-6.8v-78.9c0-19.7 15.9-35.6 35.5-35.6h205.7v53.4c0 5.7 6.5 8.8 10.9 5.3l109.1-85.7c3.5-2.7 3.5-8 0-10.7l-109.1-85.7c-4.4-3.5-10.9-.3-10.9 5.3V338H397.7c-55.1 0-99.7 44.8-99.7 100.1V517c0 4 3 7 6.8 7zm-4.2 134.9l109.1 85.7c4.4 3.5 10.9.3 10.9-5.3v-53.4h205.7c55.1 0 99.7-44.8 99.7-100.1v-78.9c0-3.7-3-6.8-6.8-6.8h-50.7c-3.7 0-6.8 3-6.8 6.8v78.9c0 19.7-15.9 35.6-35.5 35.6H420.6V568c0-5.7-6.5-8.8-10.9-5.3l-109.1 85.7c-3.5 2.5-3.5 7.8 0 10.5z'));\nexports.InterationOutline = getIcon('interation', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM304.8 524h50.7c3.7 0 6.8-3 6.8-6.8v-78.9c0-19.7 15.9-35.6 35.5-35.6h205.7v53.4c0 5.7 6.5 8.8 10.9 5.3l109.1-85.7c3.5-2.7 3.5-8 0-10.7l-109.1-85.7c-4.4-3.5-10.9-.3-10.9 5.3V338H397.7c-55.1 0-99.7 44.8-99.7 100.1V517c0 4 3 7 6.8 7zm-4.2 134.9l109.1 85.7c4.4 3.5 10.9.3 10.9-5.3v-53.4h205.7c55.1 0 99.7-44.8 99.7-100.1v-78.9c0-3.7-3-6.8-6.8-6.8h-50.7c-3.7 0-6.8 3-6.8 6.8v78.9c0 19.7-15.9 35.6-35.5 35.6H420.6V568c0-5.7-6.5-8.8-10.9-5.3l-109.1 85.7c-3.5 2.5-3.5 7.8 0 10.5z'));\nexports.LayoutOutline = getIcon('layout', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-696 72h136v656H184V184zm656 656H384V384h456v456zM384 320V184h456v136H384z'));\nexports.LeftCircleOutline = getIcon('left-circle', outline, getNode(newViewBox, 'M603.3 327.5l-246 178a7.95 7.95 0 0 0 0 12.9l246 178c5.3 3.8 12.7 0 12.7-6.5V643c0-10.2-4.9-19.9-13.2-25.9L457.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.LeftSquareOutline = getIcon('left-square', outline, getNode(newViewBox, 'M365.3 518.5l246 178c5.3 3.8 12.7 0 12.7-6.5v-46.9c0-10.2-4.9-19.9-13.2-25.9L465.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5l-246 178a8.05 8.05 0 0 0 0 13z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.LikeOutline = getIcon('like', outline, getNode(newViewBox, 'M885.9 533.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.4-65.5-111.1a67.67 67.67 0 0 0-34.3-9.3H572.4l6-122.9c1.4-29.7-9.1-57.9-29.5-79.4A106.62 106.62 0 0 0 471 99.9c-52 0-98 35-111.8 85.1l-85.9 311H144c-17.7 0-32 14.3-32 32v364c0 17.7 14.3 32 32 32h601.3c9.2 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7-.2-12.6-2-25.1-5.6-37.1zM184 852V568h81v284h-81zm636.4-353l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 16.5-7.2 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 16.5-7.2 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 22.4-13.2 42.6-33.6 51.8H329V564.8l99.5-360.5a44.1 44.1 0 0 1 42.2-32.3c7.6 0 15.1 2.2 21.1 6.7 9.9 7.4 15.2 18.6 14.6 30.5l-9.6 198.4h314.4C829 418.5 840 436.9 840 456c0 16.5-7.2 32.1-19.6 43z'));\nexports.LinkedinOutline = getIcon('linkedin', outline, getNode(newViewBox, 'M847.7 112H176.3c-35.5 0-64.3 28.8-64.3 64.3v671.4c0 35.5 28.8 64.3 64.3 64.3h671.4c35.5 0 64.3-28.8 64.3-64.3V176.3c0-35.5-28.8-64.3-64.3-64.3zm0 736c-447.8-.1-671.7-.2-671.7-.3.1-447.8.2-671.7.3-671.7 447.8.1 671.7.2 671.7.3-.1 447.8-.2 671.7-.3 671.7zM230.6 411.9h118.7v381.8H230.6zm59.4-52.2c37.9 0 68.8-30.8 68.8-68.8a68.8 68.8 0 1 0-137.6 0c-.1 38 30.7 68.8 68.8 68.8zm252.3 245.1c0-49.8 9.5-98 71.2-98 60.8 0 61.7 56.9 61.7 101.2v185.7h118.6V584.3c0-102.8-22.2-181.9-142.3-181.9-57.7 0-96.4 31.7-112.3 61.7h-1.6v-52.2H423.7v381.8h118.6V604.8z'));\nexports.LockOutline = getIcon('lock', outline, getNode(newViewBox, 'M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM332 240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224H332V240zm460 600H232V536h560v304zM484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z'));\nexports.MedicineBoxOutline = getIcon('medicine-box', outline, getNode(newViewBox, 'M839.2 278.1a32 32 0 0 0-30.4-22.1H736V144c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v112h-72.8a31.9 31.9 0 0 0-30.4 22.1L112 502v378c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V502l-72.8-223.9zM360 184h304v72H360v-72zm480 656H184V513.4L244.3 328h535.4L840 513.4V840zM652 572H544V464c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V636h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'));\nexports.MehOutline = getIcon('meh', outline, getNode(newViewBox, 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm352 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 0 1 248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 0 1 249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 0 1 775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 0 1 775 775zM664 565H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'));\nexports.MailOutline = getIcon('mail', outline, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 110.8V792H136V270.8l-27.6-21.5 39.3-50.5 42.8 33.3h643.1l42.8-33.3 39.3 50.5-27.7 21.5zM833.6 232L512 482 190.4 232l-42.8-33.3-39.3 50.5 27.6 21.5 341.6 265.6a55.99 55.99 0 0 0 68.7 0L888 270.8l27.6-21.5-39.3-50.5-42.7 33.2z'));\nexports.MessageOutline = getIcon('message', outline, getNode(newViewBox, 'M464 512a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm200 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm-400 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm661.2-173.6c-22.6-53.7-55-101.9-96.3-143.3a444.35 444.35 0 0 0-143.3-96.3C630.6 75.7 572.2 64 512 64h-2c-60.6.3-119.3 12.3-174.5 35.9a445.35 445.35 0 0 0-142 96.5c-40.9 41.3-73 89.3-95.2 142.8-23 55.4-34.6 114.3-34.3 174.9A449.4 449.4 0 0 0 112 714v152a46 46 0 0 0 46 46h152.1A449.4 449.4 0 0 0 510 960h2.1c59.9 0 118-11.6 172.7-34.3a444.48 444.48 0 0 0 142.8-95.2c41.3-40.9 73.8-88.7 96.5-142 23.6-55.2 35.6-113.9 35.9-174.5.3-60.9-11.5-120-34.8-175.6zm-151.1 438C704 845.8 611 884 512 884h-1.7c-60.3-.3-120.2-15.3-173.1-43.5l-8.4-4.5H188V695.2l-4.5-8.4C155.3 633.9 140.3 574 140 513.7c-.4-99.7 37.7-193.3 107.6-263.8 69.8-70.5 163.1-109.5 262.8-109.9h1.7c50 0 98.5 9.7 144.2 28.9 44.6 18.7 84.6 45.6 119 80 34.3 34.3 61.3 74.4 80 119 19.4 46.2 29.1 95.2 28.9 145.8-.6 99.6-39.7 192.9-110.1 262.7z'));\nexports.MinusCircleOutline = getIcon('minus-circle', outline, getNode(newViewBox, 'M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.MinusSquareOutline = getIcon('minus-square', outline, getNode(newViewBox, 'M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.MobileOutline = getIcon('mobile', outline, getNode(newViewBox, 'M744 62H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V126c0-35.3-28.7-64-64-64zm-8 824H288V134h448v752zM472 784a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.MoneyCollectOutline = getIcon('money-collect', outline, getNode(newViewBox, 'M911.5 700.7a8 8 0 0 0-10.3-4.8L840 718.2V180c0-37.6-30.4-68-68-68H252c-37.6 0-68 30.4-68 68v538.2l-61.3-22.3c-.9-.3-1.8-.5-2.7-.5-4.4 0-8 3.6-8 8V763c0 3.3 2.1 6.3 5.3 7.5L501 910.1c7.1 2.6 14.8 2.6 21.9 0l383.8-139.5c3.2-1.2 5.3-4.2 5.3-7.5v-59.6c0-1-.2-1.9-.5-2.8zM512 837.5l-256-93.1V184h512v560.4l-256 93.1zM660.6 312h-54.5c-3 0-5.8 1.7-7.1 4.4l-84.7 168.8H511l-84.7-168.8a8 8 0 0 0-7.1-4.4h-55.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.8l103.9 191.6h-57c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76v39h-76c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76V704c0 4.4 3.6 8 8 8h49.9c4.4 0 8-3.6 8-8v-63.5h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8h-76.3v-39h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8H564l103.7-191.6c.6-1.2 1-2.5 1-3.8-.1-4.3-3.7-7.9-8.1-7.9z'));\nexports.PauseCircleOutline = getIcon('pause-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm-88-532h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zm224 0h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z'));\nexports.PayCircleOutline = getIcon('pay-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm159.6-585h-59.5c-3 0-5.8 1.7-7.1 4.4l-90.6 180H511l-90.6-180a8 8 0 0 0-7.1-4.4h-60.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9L457 515.7h-61.4c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V603h-81.7c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V717c0 4.4 3.6 8 8 8h54.3c4.4 0 8-3.6 8-8v-68.1h82c4.4 0 8-3.6 8-8V611c0-4.4-3.6-8-8-8h-82v-41.5h82c4.4 0 8-3.6 8-8v-29.9c0-4.4-3.6-8-8-8h-62l111.1-204.8c.6-1.2 1-2.5 1-3.8-.1-4.4-3.7-8-8.1-8z'));\nexports.NotificationOutline = getIcon('notification', outline, getNode(newViewBox, 'M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.7c-3.7 11.6-5.7 23.9-5.7 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1zm496 58.4L318.8 611.3l-12.9-5.2H184V417.9h121.9l12.9-5.2L840 203.3v617.4z'));\nexports.PhoneOutline = getIcon('phone', outline, getNode(newViewBox, 'M877.1 238.7L770.6 132.3c-13-13-30.4-20.3-48.8-20.3s-35.8 7.2-48.8 20.3L558.3 246.8c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l89.6 89.7a405.46 405.46 0 0 1-86.4 127.3c-36.7 36.9-79.6 66-127.2 86.6l-89.6-89.7c-13-13-30.4-20.3-48.8-20.3a68.2 68.2 0 0 0-48.8 20.3L132.3 673c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l106.4 106.4c22.2 22.2 52.8 34.9 84.2 34.9 6.5 0 12.8-.5 19.2-1.6 132.4-21.8 263.8-92.3 369.9-198.3C818 606 888.4 474.6 910.4 342.1c6.3-37.6-6.3-76.3-33.3-103.4zm-37.6 91.5c-19.5 117.9-82.9 235.5-178.4 331s-213 158.9-330.9 178.4c-14.8 2.5-30-2.5-40.8-13.2L184.9 721.9 295.7 611l119.8 120 .9.9 21.6-8a481.29 481.29 0 0 0 285.7-285.8l8-21.6-120.8-120.7 110.8-110.9 104.5 104.5c10.8 10.8 15.8 26 13.3 40.8z'));\nexports.PictureOutline = getIcon('picture', outline, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2zM304 456a88 88 0 1 0 0-176 88 88 0 0 0 0 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z'));\nexports.PieChartOutline = getIcon('pie-chart', outline, getNode(newViewBox, 'M864 518H506V160c0-4.4-3.6-8-8-8h-26a398.46 398.46 0 0 0-282.8 117.1 398.19 398.19 0 0 0-85.7 127.1A397.61 397.61 0 0 0 72 552a398.46 398.46 0 0 0 117.1 282.8c36.7 36.7 79.5 65.6 127.1 85.7A397.61 397.61 0 0 0 472 952a398.46 398.46 0 0 0 282.8-117.1c36.7-36.7 65.6-79.5 85.7-127.1A397.61 397.61 0 0 0 872 552v-26c0-4.4-3.6-8-8-8zM705.7 787.8A331.59 331.59 0 0 1 470.4 884c-88.1-.4-170.9-34.9-233.2-97.2C174.5 724.1 140 640.7 140 552c0-88.7 34.5-172.1 97.2-234.8 54.6-54.6 124.9-87.9 200.8-95.5V586h364.3c-7.7 76.3-41.3 147-96.6 201.8zM952 462.4l-2.6-28.2c-8.5-92.1-49.4-179-115.2-244.6A399.4 399.4 0 0 0 589 74.6L560.7 72c-4.7-.4-8.7 3.2-8.7 7.9V464c0 4.4 3.6 8 8 8l384-1c4.7 0 8.4-4 8-8.6zm-332.2-58.2V147.6a332.24 332.24 0 0 1 166.4 89.8c45.7 45.6 77 103.6 90 166.1l-256.4.7z'));\nexports.PlaySquareOutline = getIcon('play-square', outline, getNode(newViewBox, 'M442.3 677.6l199.4-156.7a11.3 11.3 0 0 0 0-17.7L442.3 346.4c-7.4-5.8-18.3-.6-18.3 8.8v313.5c0 9.4 10.9 14.7 18.3 8.9z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.PlayCircleOutline = getIcon('play-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z', 'M719.4 499.1l-296.1-215A15.9 15.9 0 0 0 398 297v430c0 13.1 14.8 20.5 25.3 12.9l296.1-215a15.9 15.9 0 0 0 0-25.8zm-257.6 134V390.9L628.5 512 461.8 633.1z'));\nexports.PlusCircleOutline = getIcon('plus-circle', outline, getNode(newViewBox, 'M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.PrinterOutline = getIcon('printer', outline, getNode(newViewBox, 'M820 436h-40c-4.4 0-8 3.6-8 8v40c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-40c0-4.4-3.6-8-8-8zm32-104H732V120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM360 180h304v152H360V180zm304 664H360V568h304v276zm200-140H732V500H292v204H160V412c0-6.6 5.4-12 12-12h680c6.6 0 12 5.4 12 12v292z'));\nexports.PlusSquareOutline = getIcon('plus-square', outline, getNode(newViewBox, 'M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.ProfileOutline = getIcon('profile', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM492 400h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zM340 368a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 144a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 144a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.ProjectOutline = getIcon('project', outline, getNode(newViewBox, 'M280 752h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8zm192-280h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm192 72h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v256c0 4.4 3.6 8 8 8zm216-432H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.PushpinOutline = getIcon('pushpin', outline, getNode(newViewBox, 'M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 0 0-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 0 1-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z'));\nexports.PropertySafetyOutline = getIcon('property-safety', outline, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zM430.5 318h-46c-1.7 0-3.3.4-4.8 1.2a10.1 10.1 0 0 0-4 13.6l88 161.1h-45.2c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1v29.7h-63.1c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1V658c0 5.5 4.5 10 10 10h41.3c5.5 0 10-4.5 10-10v-51.8h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-63.4v-29.7h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-45.7l87.7-161.1a10.05 10.05 0 0 0-8.8-14.8h-45c-3.8 0-7.2 2.1-8.9 5.5l-73.2 144.3-72.9-144.3c-1.7-3.4-5.2-5.5-9-5.5z'));\nexports.QuestionCircleOutline = getIcon('question-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z', 'M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0 1 30.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.ReadOutline = getIcon('read', outline, getNode(newViewBox, 'M928 161H699.2c-49.1 0-97.1 14.1-138.4 40.7L512 233l-48.8-31.3A255.2 255.2 0 0 0 324.8 161H96c-17.7 0-32 14.3-32 32v568c0 17.7 14.3 32 32 32h228.8c49.1 0 97.1 14.1 138.4 40.7l44.4 28.6c1.3.8 2.8 1.3 4.3 1.3s3-.4 4.3-1.3l44.4-28.6C602 807.1 650.1 793 699.2 793H928c17.7 0 32-14.3 32-32V193c0-17.7-14.3-32-32-32zM324.8 721H136V233h188.8c35.4 0 69.8 10.1 99.5 29.2l48.8 31.3 6.9 4.5v462c-47.6-25.6-100.8-39-155.2-39zm563.2 0H699.2c-54.4 0-107.6 13.4-155.2 39V298l6.9-4.5 48.8-31.3c29.7-19.1 64.1-29.2 99.5-29.2H888v488zM396.9 361H211.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5zm223.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c0-4.1-3.2-7.5-7.1-7.5H627.1c-3.9 0-7.1 3.4-7.1 7.5zM396.9 501H211.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5zm416 0H627.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5z'));\nexports.ReconciliationOutline = getIcon('reconciliation', outline, getNode(newViewBox, 'M676 565c-50.8 0-92 41.2-92 92s41.2 92 92 92 92-41.2 92-92-41.2-92-92-92zm0 126c-18.8 0-34-15.2-34-34s15.2-34 34-34 34 15.2 34 34-15.2 34-34 34zm204-523H668c0-30.9-25.1-56-56-56h-80c-30.9 0-56 25.1-56 56H264c-17.7 0-32 14.3-32 32v200h-88c-17.7 0-32 14.3-32 32v448c0 17.7 14.3 32 32 32h336c17.7 0 32-14.3 32-32v-16h368c17.7 0 32-14.3 32-32V200c0-17.7-14.3-32-32-32zm-412 64h72v-56h64v56h72v48H468v-48zm-20 616H176V616h272v232zm0-296H176v-88h272v88zm392 240H512V432c0-17.7-14.3-32-32-32H304V240h100v104h336V240h100v552zM704 408v96c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zM592 512h48c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z'));\nexports.RedEnvelopeOutline = getIcon('red-envelope', outline, getNode(newViewBox, 'M440.6 462.6a8.38 8.38 0 0 0-7.5-4.6h-48.8c-1.3 0-2.6.4-3.9 1a8.4 8.4 0 0 0-3.4 11.4l87.4 161.1H419c-4.6 0-8.4 3.8-8.4 8.4V665c0 4.6 3.8 8.4 8.4 8.4h63V702h-63c-4.6 0-8.4 3.8-8.4 8.4v25.1c0 4.6 3.8 8.4 8.4 8.4h63v49.9c0 4.6 3.8 8.4 8.4 8.4h43.7c4.6 0 8.4-3.8 8.4-8.4v-49.9h63.3c4.7 0 8.4-3.8 8.2-8.5v-25c0-4.6-3.8-8.4-8.4-8.4h-63.3v-28.6h63.3c4.6 0 8.4-3.8 8.4-8.4v-25.1c0-4.6-3.8-8.4-8.4-8.4h-45.9l87.2-161a8.45 8.45 0 0 0-7.4-12.4h-47.8c-3.1 0-6 1.8-7.5 4.6l-71.9 141.9-71.7-142zM832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V193.1l260.3 204.1c11.6 9.1 27.9 9.1 39.5 0L792 193.1V888zm0-751.3h-31.7L512 331.3 263.7 136.7H232v-.7h560v.7z'));\nexports.RestOutline = getIcon('rest', outline, getNode(newViewBox, 'M508 704c79.5 0 144-64.5 144-144s-64.5-144-144-144-144 64.5-144 144 64.5 144 144 144zm0-224c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z', 'M832 256h-28.1l-35.7-120.9c-4-13.7-16.5-23.1-30.7-23.1h-451c-14.3 0-26.8 9.4-30.7 23.1L220.1 256H192c-17.7 0-32 14.3-32 32v28c0 4.4 3.6 8 8 8h45.8l47.7 558.7a32 32 0 0 0 31.9 29.3h429.2a32 32 0 0 0 31.9-29.3L802.2 324H856c4.4 0 8-3.6 8-8v-28c0-17.7-14.3-32-32-32zm-518.6-76h397.2l22.4 76H291l22.4-76zm376.2 664H326.4L282 324h451.9l-44.3 520z'));\nexports.RightCircleOutline = getIcon('right-circle', outline, getNode(newViewBox, 'M666.7 505.5l-246-178A8 8 0 0 0 408 334v46.9c0 10.2 4.9 19.9 13.2 25.9L566.6 512 421.2 617.2c-8.3 6-13.2 15.6-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.5l246-178c4.4-3.2 4.4-9.8 0-13z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.RocketOutline = getIcon('rocket', outline, getNode(newViewBox, 'M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 0 0-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0 0 43.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0 0 43.1-30.5 97.52 97.52 0 0 0 21.4-60.8c0-8.4-1.1-16.4-3.1-23.8H864zM762.3 621.4c9.4 14.6 17 30.3 22.5 46.6H700V558.7a211.6 211.6 0 0 1 62.3 62.7zM388 483.1V318.8l124-147 124 147V668H388V483.1zM239.2 668c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668h-84.8zm388.9 116.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5-38.3 0-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 0 1-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM464 400a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'));\nexports.RightSquareOutline = getIcon('right-square', outline, getNode(newViewBox, 'M412.7 696.5l246-178c4.4-3.2 4.4-9.7 0-12.9l-246-178c-5.3-3.8-12.7 0-12.7 6.5V381c0 10.2 4.9 19.9 13.2 25.9L558.6 512 413.2 617.2c-8.3 6-13.2 15.6-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.5z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.SafetyCertificateOutline = getIcon('safety-certificate', outline, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zm-405.8-201c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0 0 26 0l212.6-292.7c3.8-5.3 0-12.7-6.5-12.7h-55.2c-5.1 0-10 2.5-13 6.6L468.9 542.4l-64.7-89.1z'));\nexports.ScheduleOutline = getIcon('schedule', outline, getNode(newViewBox, 'M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496zM416 496H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 136H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm308.2-177.4L620.6 598.3l-52.8-73.1c-3-4.2-7.8-6.6-12.9-6.6H500c-6.5 0-10.3 7.4-6.5 12.7l114.1 158.2a15.9 15.9 0 0 0 25.8 0l165-228.7c3.8-5.3 0-12.7-6.5-12.7H737c-5-.1-9.8 2.4-12.8 6.5z'));\nexports.SaveOutline = getIcon('save', outline, getNode(newViewBox, 'M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z'));\nexports.SecurityScanOutline = getIcon('security-scan', outline, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zM402.9 528.8l-77.5 77.5a8.03 8.03 0 0 0 0 11.3l34 34c3.1 3.1 8.2 3.1 11.3 0l77.5-77.5c55.7 35.1 130.1 28.4 178.6-20.1 56.3-56.3 56.3-147.5 0-203.8-56.3-56.3-147.5-56.3-203.8 0-48.5 48.5-55.2 123-20.1 178.6zm65.4-133.3c31.3-31.3 82-31.3 113.2 0 31.3 31.3 31.3 82 0 113.2-31.3 31.3-82 31.3-113.2 0s-31.3-81.9 0-113.2z'));\nexports.SettingOutline = getIcon('setting', outline, getNode(newViewBox, 'M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 0 0 9.3-35.2l-.9-2.6a443.74 443.74 0 0 0-79.7-137.9l-1.8-2.1a32.12 32.12 0 0 0-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 0 0-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 0 0-25.8 25.7l-15.8 85.4a351.86 351.86 0 0 0-99 57.4l-81.9-29.1a32 32 0 0 0-35.1 9.5l-1.8 2.1a446.02 446.02 0 0 0-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 0 0-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0 0 35.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0 0 25.8 25.7l2.7.5a449.4 449.4 0 0 0 159 0l2.7-.5a32.05 32.05 0 0 0 25.8-25.7l15.7-85a350 350 0 0 0 99.7-57.6l81.3 28.9a32 32 0 0 0 35.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 0 1-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 0 1-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 0 1 512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 0 1 400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 0 1 624 502c0 29.9-11.7 58-32.8 79.2z'));\nexports.ShoppingOutline = getIcon('shopping', outline, getNode(newViewBox, 'M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32zm-432-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16H400v-16zm392 544H232V384h96v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h224v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h96v456z'));\nexports.SkinOutline = getIcon('skin', outline, getNode(newViewBox, 'M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7a37.93 37.93 0 0 0-37-29.3H154a44 44 0 0 0-44 44v252a44 44 0 0 0 44 44h75v388a44 44 0 0 0 44 44h478a44 44 0 0 0 44-44V466h75a44 44 0 0 0 44-44V170a44 44 0 0 0-44-44zm-28 268H723v432H301V394H182V198h153.3c28.2 71.2 97.5 120 176.7 120s148.5-48.8 176.7-120H842v196z'));\nexports.SkypeOutline = getIcon('skype', outline, getNode(newViewBox, 'M883.7 578.6c4.1-22.5 6.3-45.5 6.3-68.5 0-51-10-100.5-29.7-147-19-45-46.3-85.4-81-120.1a375.79 375.79 0 0 0-120.1-80.9c-46.6-19.7-96-29.7-147-29.7-24 0-48.1 2.3-71.5 6.8A225.1 225.1 0 0 0 335.6 113c-59.7 0-115.9 23.3-158.1 65.5A222.25 222.25 0 0 0 112 336.6c0 38 9.8 75.4 28.1 108.4-3.7 21.4-5.7 43.3-5.7 65.1 0 51 10 100.5 29.7 147 19 45 46.2 85.4 80.9 120.1 34.7 34.7 75.1 61.9 120.1 80.9 46.6 19.7 96 29.7 147 29.7 22.2 0 44.4-2 66.2-5.9 33.5 18.9 71.3 29 110 29 59.7 0 115.9-23.2 158.1-65.5 42.3-42.2 65.5-98.4 65.5-158.1.1-38-9.7-75.5-28.2-108.7zm-88.1 216C766.9 823.4 729 839 688.4 839c-26.1 0-51.8-6.8-74.6-19.7l-22.5-12.7-25.5 4.5c-17.8 3.2-35.8 4.8-53.6 4.8-41.4 0-81.3-8.1-119.1-24.1-36.3-15.3-69-37.3-97.2-65.5a304.29 304.29 0 0 1-65.5-97.1c-16-37.7-24-77.6-24-119 0-17.4 1.6-35.2 4.6-52.8l4.4-25.1L203 410a151.02 151.02 0 0 1-19.1-73.4c0-40.6 15.7-78.5 44.4-107.2C257.1 200.7 295 185 335.6 185a153 153 0 0 1 71.4 17.9l22.4 11.8 24.8-4.8c18.9-3.6 38.4-5.5 58-5.5 41.4 0 81.3 8.1 119 24 36.5 15.4 69.1 37.4 97.2 65.5 28.2 28.1 50.2 60.8 65.6 97.2 16 37.7 24 77.6 24 119 0 18.4-1.7 37-5.1 55.5l-4.7 25.5 12.6 22.6c12.6 22.5 19.2 48 19.2 73.7 0 40.7-15.7 78.5-44.4 107.2zM583.4 466.2L495 446.6c-33.6-7.7-72.3-17.8-72.3-49.5s27.1-53.9 76.1-53.9c98.7 0 89.7 67.8 138.7 67.8 25.8 0 48.4-15.2 48.4-41.2 0-60.8-97.4-106.5-180-106.5-89.7 0-185.2 38.1-185.2 139.5 0 48.8 17.4 100.8 113.6 124.9l119.4 29.8c36.1 8.9 45.2 29.2 45.2 47.6 0 30.5-30.3 60.3-85.2 60.3-107.2 0-92.3-82.5-149.7-82.5-25.8 0-44.5 17.8-44.5 43.1 0 49.4 60 115.4 194.2 115.4 127.7 0 191-61.5 191-144 0-53.1-24.5-109.6-121.3-131.2z'));\nexports.SlackSquareOutline = getIcon('slack-square', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM529 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V311.4zM361.5 580.2c0 27.8-22.5 50.4-50.3 50.4a50.35 50.35 0 0 1-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h50.3v50.4zm134 134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V580.2c0-27.8 22.5-50.4 50.3-50.4a50.35 50.35 0 0 1 50.3 50.4v134.4zm-50.2-218.4h-134c-27.8 0-50.3-22.6-50.3-50.4 0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4-.1 27.9-22.6 50.4-50.3 50.4zm0-134.4c-13.3 0-26.1-5.3-35.6-14.8S395 324.8 395 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v50.4h-50.3zm134 403.2c-27.8 0-50.3-22.6-50.3-50.4v-50.4h50.3c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm134-134.4h-134a50.35 50.35 0 0 1-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm0-134.4H663v-50.4c0-27.8 22.5-50.4 50.3-50.4s50.3 22.6 50.3 50.4c0 27.8-22.5 50.4-50.3 50.4z'));\nexports.SlidersOutline = getIcon('sliders', outline, getNode(newViewBox, 'M320 224h-66v-56c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v56h-66c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h66v56c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-56h66c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm-60 508h-80V292h80v440zm644-436h-66v-96c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v96h-66c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8h66v96c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-96h66c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8zm-60 364h-80V364h80v296zM612 404h-66V232c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v172h-66c-4.4 0-8 3.6-8 8v200c0 4.4 3.6 8 8 8h66v172c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V620h66c4.4 0 8-3.6 8-8V412c0-4.4-3.6-8-8-8zm-60 145a3 3 0 0 1-3 3h-74a3 3 0 0 1-3-3v-74a3 3 0 0 1 3-3h74a3 3 0 0 1 3 3v74z'));\nexports.SmileOutline = getIcon('smile', outline, getNode(newViewBox, 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm352 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 0 1 248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 0 1 249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 0 1 775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 0 1 775 775zM664 533h-48.1c-4.2 0-7.8 3.2-8.1 7.4C604 589.9 562.5 629 512 629s-92.1-39.1-95.8-88.6c-.3-4.2-3.9-7.4-8.1-7.4H360a8 8 0 0 0-8 8.4c4.4 84.3 74.5 151.6 160 151.6s155.6-67.3 160-151.6a8 8 0 0 0-8-8.4z'));\nexports.SnippetsOutline = getIcon('snippets', outline, getNode(newViewBox, 'M832 112H724V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H500V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H320c-17.7 0-32 14.3-32 32v120h-96c-17.7 0-32 14.3-32 32v632c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32v-96h96c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM664 888H232V336h218v174c0 22.1 17.9 40 40 40h174v338zm0-402H514V336h.2L664 485.8v.2zm128 274h-56V456L544 264H360v-80h68v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h152v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h68v576z'));\nexports.SoundOutline = getIcon('sound', outline, getNode(newViewBox, 'M625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1zM586 803L293.4 611.7l-18-11.7H146V424h129.4l17.9-11.7L586 221v582zm348-327H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zm-41.9 261.8l-110.3-63.7a15.9 15.9 0 0 0-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0 0 21.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM760 344a15.9 15.9 0 0 0 21.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 0 0-21.7-5.9L746 287.8a15.99 15.99 0 0 0-5.8 21.8L760 344z'));\nexports.StarOutline = getIcon('star', outline, getNode(newViewBox, 'M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 0 0 .6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0 0 46.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3zM664.8 561.6l36.1 210.3L512 672.7 323.1 772l36.1-210.3-152.8-149L417.6 382 512 190.7 606.4 382l211.2 30.7-152.8 148.9z'));\nexports.StepBackwardOutline = getIcon('step-backward', outline, getNode(normalViewBox, 'M347.6 528.95l383.2 301.02c14.25 11.2 35.2 1.1 35.2-16.95V210.97c0-18.05-20.95-28.14-35.2-16.94L347.6 495.05a21.53 21.53 0 0 0 0 33.9M330 864h-64a8 8 0 0 1-8-8V168a8 8 0 0 1 8-8h64a8 8 0 0 1 8 8v688a8 8 0 0 1-8 8'));\nexports.StepForwardOutline = getIcon('step-forward', outline, getNode(normalViewBox, 'M676.4 528.95L293.2 829.97c-14.25 11.2-35.2 1.1-35.2-16.95V210.97c0-18.05 20.95-28.14 35.2-16.94l383.2 301.02a21.53 21.53 0 0 1 0 33.9M694 864h64a8 8 0 0 0 8-8V168a8 8 0 0 0-8-8h-64a8 8 0 0 0-8 8v688a8 8 0 0 0 8 8'));\nexports.StopOutline = getIcon('stop', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372 0-89 31.3-170.8 83.5-234.8l523.3 523.3C682.8 852.7 601 884 512 884zm288.5-137.2L277.2 223.5C341.2 171.3 423 140 512 140c205.4 0 372 166.6 372 372 0 89-31.3 170.8-83.5 234.8z'));\nexports.SwitcherOutline = getIcon('switcher', outline, getNode(newViewBox, 'M752 240H144c-17.7 0-32 14.3-32 32v608c0 17.7 14.3 32 32 32h608c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32zm-40 600H184V312h528v528zm168-728H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h576v576c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32zM300 550h296v64H300z'));\nexports.TagOutline = getIcon('tag', outline, getNode(newViewBox, 'M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 0 0 0 14.1l363.8 363.8c1.9 1.9 4.4 2.9 7.1 2.9s5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM459.7 834.7L189.3 564.3 589 164.6 836 188l23.4 247-399.7 399.7zM680 256c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm0 120c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z'));\nexports.TabletOutline = getIcon('tablet', outline, getNode(newViewBox, 'M800 64H224c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zm-8 824H232V136h560v752zM472 784a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.ShopOutline = getIcon('shop', outline, getNode(newViewBox, 'M882 272.1V144c0-17.7-14.3-32-32-32H174c-17.7 0-32 14.3-32 32v128.1c-16.7 1-30 14.9-30 31.9v131.7a177 177 0 0 0 14.4 70.4c4.3 10.2 9.6 19.8 15.6 28.9v345c0 17.6 14.3 32 32 32h676c17.7 0 32-14.3 32-32V535a175 175 0 0 0 15.6-28.9c9.5-22.3 14.4-46 14.4-70.4V304c0-17-13.3-30.9-30-31.9zM214 184h596v88H214v-88zm362 656.1H448V736h128v104.1zm234 0H640V704c0-17.7-14.3-32-32-32H416c-17.7 0-32 14.3-32 32v136.1H214V597.9c2.9 1.4 5.9 2.8 9 4 22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 3-1.3 6-2.6 9-4v242.2zm30-404.4c0 59.8-49 108.3-109.3 108.3-40.8 0-76.4-22.1-95.2-54.9-2.9-5-8.1-8.1-13.9-8.1h-.6c-5.7 0-11 3.1-13.9 8.1A109.24 109.24 0 0 1 512 544c-40.7 0-76.2-22-95-54.7-3-5.1-8.4-8.3-14.3-8.3s-11.4 3.2-14.3 8.3a109.63 109.63 0 0 1-95.1 54.7C233 544 184 495.5 184 435.7v-91.2c0-.3.2-.5.5-.5h655c.3 0 .5.2.5.5v91.2z'));\nexports.TagsOutline = getIcon('tags', outline, getNode(newViewBox, 'M483.2 790.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3c-2.3-.2-4.7.6-6.3 2.3L137.7 444.8a8.03 8.03 0 0 0 0 11.3l334.2 334.2c3.1 3.2 8.2 3.2 11.3 0zm62.6-651.7l224.6 19 19 224.6L477.5 694 233.9 450.5l311.9-311.9zm60.16 186.23a48 48 0 1 0 67.88-67.89 48 48 0 1 0-67.88 67.89zM889.7 539.8l-39.6-39.5a8.03 8.03 0 0 0-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 0 0-11.3 0l-39.6 39.5a8.03 8.03 0 0 0 0 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3z'));\nexports.TaobaoCircleOutline = getIcon('taobao-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM315.7 291.5c27.3 0 49.5 22.1 49.5 49.4s-22.1 49.4-49.5 49.4a49.4 49.4 0 1 1 0-98.8zM366.9 578c-13.6 42.3-10.2 26.7-64.4 144.5l-78.5-49s87.7-79.8 105.6-116.2c19.2-38.4-21.1-58.9-21.1-58.9l-60.2-37.5 32.7-50.2c45.4 33.7 48.7 36.6 79.2 67.2 23.8 23.9 20.7 56.8 6.7 100.1zm427.2 55c-15.3 143.8-202.4 90.3-202.4 90.3l10.2-41.1 43.3 9.3c80 5 72.3-64.9 72.3-64.9V423c.6-77.3-72.6-85.4-204.2-38.3l30.6 8.3c-2.5 9-12.5 23.2-25.2 38.6h176v35.6h-99.1v44.5h98.7v35.7h-98.7V622c14.9-4.8 28.6-11.5 40.5-20.5l-8.7-32.5 46.5-14.4 38.8 94.9-57.3 23.9-10.2-37.8c-25.6 19.5-78.8 48-171.8 45.4-99.2 2.6-73.7-112-73.7-112l2.5-1.3H472c-.5 14.7-6.6 38.7 1.7 51.8 6.8 10.8 24.2 12.6 35.3 13.1 1.3.1 2.6.1 3.9.1v-85.3h-101v-35.7h101v-44.5H487c-22.7 24.1-43.5 44.1-43.5 44.1l-30.6-26.7c21.7-22.9 43.3-59.1 56.8-83.2-10.9 4.4-22 9.2-33.6 14.2-11.2 14.3-24.2 29-38.7 43.5.5.8-50-28.4-50-28.4 52.2-44.4 81.4-139.9 81.4-139.9l72.5 20.4s-5.9 14-18.4 35.6c290.3-82.3 307.4 50.5 307.4 50.5s19.1 91.8 3.8 235.7z'));\nexports.ToolOutline = getIcon('tool', outline, getNode(newViewBox, 'M876.6 239.5c-.5-.9-1.2-1.8-2-2.5-5-5-13.1-5-18.1 0L684.2 409.3l-67.9-67.9L788.7 169c.8-.8 1.4-1.6 2-2.5 3.6-6.1 1.6-13.9-4.5-17.5-98.2-58-226.8-44.7-311.3 39.7-67 67-89.2 162-66.5 247.4l-293 293c-3 3-2.8 7.9.3 11l169.7 169.7c3.1 3.1 8.1 3.3 11 .3l292.9-292.9c85.5 22.8 180.5.7 247.6-66.4 84.4-84.5 97.7-213.1 39.7-311.3zM786 499.8c-58.1 58.1-145.3 69.3-214.6 33.6l-8.8 8.8-.1-.1-274 274.1-79.2-79.2 230.1-230.1s0 .1.1.1l52.8-52.8c-35.7-69.3-24.5-156.5 33.6-214.6a184.2 184.2 0 0 1 144-53.5L537 318.9a32.05 32.05 0 0 0 0 45.3l124.5 124.5a32.05 32.05 0 0 0 45.3 0l132.8-132.8c3.7 51.8-14.4 104.8-53.6 143.9z'));\nexports.ThunderboltOutline = getIcon('thunderbolt', outline, getNode(newViewBox, 'M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7zM378.2 732.5l60.3-241H281.1l189.6-327.4h224.6L487 427.4h211L378.2 732.5z'));\nexports.TrophyOutline = getIcon('trophy', outline, getNode(newViewBox, 'M868 160h-92v-40c0-4.4-3.6-8-8-8H256c-4.4 0-8 3.6-8 8v40h-92a44 44 0 0 0-44 44v148c0 81.7 60 149.6 138.2 162C265.7 630.2 359 721.7 476 734.5v105.2H280c-17.7 0-32 14.3-32 32V904c0 4.4 3.6 8 8 8h512c4.4 0 8-3.6 8-8v-32.3c0-17.7-14.3-32-32-32H548V734.5C665 721.7 758.3 630.2 773.8 514 852 501.6 912 433.7 912 352V204a44 44 0 0 0-44-44zM184 352V232h64v207.6a91.99 91.99 0 0 1-64-87.6zm520 128c0 49.1-19.1 95.4-53.9 130.1-34.8 34.8-81 53.9-130.1 53.9h-16c-49.1 0-95.4-19.1-130.1-53.9-34.8-34.8-53.9-81-53.9-130.1V184h384v296zm136-128c0 41-26.9 75.8-64 87.6V232h64v120z'));\nexports.UnlockOutline = getIcon('unlock', outline, getNode(newViewBox, 'M832 464H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v68c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-68c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zm-40 376H232V536h560v304zM484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z'));\nexports.UpCircleOutline = getIcon('up-circle', outline, getNode(newViewBox, 'M518.5 360.3a7.95 7.95 0 0 0-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7H381c10.2 0 19.9-4.9 25.9-13.2L512 460.4l105.2 145.4c6 8.3 15.6 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.5-12.7l-178-246z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.UpSquareOutline = getIcon('up-square', outline, getNode(newViewBox, 'M334 624h46.9c10.2 0 19.9-4.9 25.9-13.2L512 465.4l105.2 145.4c6 8.3 15.6 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.5-12.7l-178-246a7.95 7.95 0 0 0-12.9 0l-178 246A7.96 7.96 0 0 0 334 624z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.UsbOutline = getIcon('usb', outline, getNode(newViewBox, 'M760 432V144c0-17.7-14.3-32-32-32H296c-17.7 0-32 14.3-32 32v288c-66.2 0-120 52.1-120 116v356c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V548c0-24.3 21.6-44 48.1-44h495.8c26.5 0 48.1 19.7 48.1 44v356c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V548c0-63.9-53.8-116-120-116zm-424 0V184h352v248H336zm120-184h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm160 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'));\nexports.VideoCameraOutline = getIcon('video-camera', outline, getNode(newViewBox, 'M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v576c0 35.3 28.7 64 64 64h592c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM712 792H136V232h576v560zm176-167l-104-59.8V458.9L888 399v226zM208 360h112c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H208c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'));\nexports.WalletOutline = getIcon('wallet', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0 264H184V184h656v200H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200zM580 512a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.WarningOutline = getIcon('warning', outline, getNode(newViewBox, 'M464 720a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z'));\nexports.WechatOutline = getIcon('wechat', outline, getNode(newViewBox, 'M690.1 377.4c5.9 0 11.8.2 17.6.5-24.4-128.7-158.3-227.1-319.9-227.1C209 150.8 64 271.4 64 420.2c0 81.1 43.6 154.2 111.9 203.6a21.5 21.5 0 0 1 9.1 17.6c0 2.4-.5 4.6-1.1 6.9-5.5 20.3-14.2 52.8-14.6 54.3-.7 2.6-1.7 5.2-1.7 7.9 0 5.9 4.8 10.8 10.8 10.8 2.3 0 4.2-.9 6.2-2l70.9-40.9c5.3-3.1 11-5 17.2-5 3.2 0 6.4.5 9.5 1.4 33.1 9.5 68.8 14.8 105.7 14.8 6 0 11.9-.1 17.8-.4-7.1-21-10.9-43.1-10.9-66 0-135.8 132.2-245.8 295.3-245.8zm-194.3-86.5c23.8 0 43.2 19.3 43.2 43.1s-19.3 43.1-43.2 43.1c-23.8 0-43.2-19.3-43.2-43.1s19.4-43.1 43.2-43.1zm-215.9 86.2c-23.8 0-43.2-19.3-43.2-43.1s19.3-43.1 43.2-43.1 43.2 19.3 43.2 43.1-19.4 43.1-43.2 43.1zm586.8 415.6c56.9-41.2 93.2-102 93.2-169.7 0-124-120.8-224.5-269.9-224.5-149 0-269.9 100.5-269.9 224.5S540.9 847.5 690 847.5c30.8 0 60.6-4.4 88.1-12.3 2.6-.8 5.2-1.2 7.9-1.2 5.2 0 9.9 1.6 14.3 4.1l59.1 34c1.7 1 3.3 1.7 5.2 1.7a9 9 0 0 0 6.4-2.6 9 9 0 0 0 2.6-6.4c0-2.2-.9-4.4-1.4-6.6-.3-1.2-7.6-28.3-12.2-45.3-.5-1.9-.9-3.8-.9-5.7.1-5.9 3.1-11.2 7.6-14.5zM600.2 587.2c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9c0 19.8-16.2 35.9-36 35.9zm179.9 0c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9a36.08 36.08 0 0 1-36 35.9z'));\nexports.WeiboCircleOutline = getIcon('weibo-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-44.4 672C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 0 0-7.2-34.1 34.68 34.68 0 0 0-33.1-10.7 18.24 18.24 0 0 1-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 0 1-22.9 11.7 18.18 18.18 0 0 1-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 0 1-26.6 13.7 21.19 21.19 0 0 1-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 0 0-98.9-32.1 21.14 21.14 0 0 1-25.1-16.3 21.07 21.07 0 0 1 16.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-93-32.2c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zm34.9-14.5c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z'));\nexports.WindowsOutline = getIcon('windows', outline, getNode(newViewBox, 'M120.1 770.6L443 823.2V543.8H120.1v226.8zm63.4-163.5h196.2v141.6l-196.2-31.9V607.1zm340.3 226.5l382 62.2v-352h-382v289.8zm63.4-226.5h255.3v214.4l-255.3-41.6V607.1zm-63.4-415.7v288.8h382V128.1l-382 63.3zm318.7 225.5H587.3V245l255.3-42.3v214.2zm-722.4 63.3H443V201.9l-322.9 53.5v224.8zM183.5 309l196.2-32.5v140.4H183.5V309z'));\nexports.YahooOutline = getIcon('yahoo', outline, getNode(newViewBox, 'M859.9 681.4h-14.1c-27.1 0-49.2 22.2-49.2 49.3v14.1c0 27.1 22.2 49.3 49.2 49.3h14.1c27.1 0 49.2-22.2 49.2-49.3v-14.1c0-27.1-22.2-49.3-49.2-49.3zM402.6 231C216.2 231 65 357 65 512.5S216.2 794 402.6 794s337.6-126 337.6-281.5S589.1 231 402.6 231zm0 507C245.1 738 121 634.6 121 512.5c0-62.3 32.3-119.7 84.9-161v48.4h37l159.8 159.9v65.3h-84.4v56.3h225.1v-56.3H459v-65.3l103.5-103.6h65.3v-56.3H459v65.3l-28.1 28.1-93.4-93.5h37v-56.3H216.4c49.4-35 114.3-56.6 186.2-56.6 157.6 0 281.6 103.4 281.6 225.5S560.2 738 402.6 738zm534.7-507H824.7c-15.5 0-27.7 12.6-27.1 28.1l13.1 366h84.4l65.4-366.4c2.7-15.2-7.8-27.7-23.2-27.7z'));\nexports.WeiboSquareOutline = getIcon('weibo-square', outline, getNode(newViewBox, 'M433.6 595.1c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM467.6 736C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 0 0-7.2-34.1 34.68 34.68 0 0 0-33.1-10.7 18.24 18.24 0 0 1-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 0 1-22.9 11.7 18.18 18.18 0 0 1-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 0 1-26.6 13.7 21.19 21.19 0 0 1-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 0 0-98.9-32.1 21.14 21.14 0 0 1-25.1-16.3 21.07 21.07 0 0 1 16.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-58.1-46.7c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z'));\nexports.YuqueOutline = getIcon('yuque', outline, getNode(newViewBox, 'M854.6 370.6c-9.9-39.4 9.9-102.2 73.4-124.4l-67.9-3.6s-25.7-90-143.6-98c-117.8-8.1-194.9-3-195-3 .1 0 87.4 55.6 52.4 154.7-25.6 52.5-65.8 95.6-108.8 144.7-1.3 1.3-2.5 2.6-3.5 3.7C319.4 605 96 860 96 860c245.9 64.4 410.7-6.3 508.2-91.1 20.5-.2 35.9-.3 46.3-.3 135.8 0 250.6-117.6 245.9-248.4-3.2-89.9-31.9-110.2-41.8-149.6zm-204.1 334c-10.6 0-26.2.1-46.8.3l-23.6.2-17.8 15.5c-47.1 41-104.4 71.5-171.4 87.6-52.5 12.6-110 16.2-172.7 9.6 18-20.5 36.5-41.6 55.4-63.1 92-104.6 173.8-197.5 236.9-268.5l1.4-1.4 1.3-1.5c4.1-4.6 20.6-23.3 24.7-28.1 9.7-11.1 17.3-19.9 24.5-28.6 30.7-36.7 52.2-67.8 69-102.2l1.6-3.3 1.2-3.4c13.7-38.8 15.4-76.9 6.2-112.8 22.5.7 46.5 1.9 71.7 3.6 33.3 2.3 55.5 12.9 71.1 29.2 5.8 6 10.2 12.5 13.4 18.7 1 2 1.7 3.6 2.3 5l5 17.7c-15.7 34.5-19.9 73.3-11.4 107.2 3 11.8 6.9 22.4 12.3 34.4 2.1 4.7 9.5 20.1 11 23.3 10.3 22.7 15.4 43 16.7 78.7 3.3 94.6-82.7 181.9-182 181.9z'));\nexports.YoutubeOutline = getIcon('youtube', outline, getNode(newViewBox, 'M960 509.2c0-2.2 0-4.7-.1-7.6-.1-8.1-.3-17.2-.5-26.9-.8-27.9-2.2-55.7-4.4-81.9-3-36.1-7.4-66.2-13.4-88.8a139.52 139.52 0 0 0-98.3-98.5c-28.3-7.6-83.7-12.3-161.7-15.2-37.1-1.4-76.8-2.3-116.5-2.8-13.9-.2-26.8-.3-38.4-.4h-29.4c-11.6.1-24.5.2-38.4.4-39.7.5-79.4 1.4-116.5 2.8-78 3-133.5 7.7-161.7 15.2A139.35 139.35 0 0 0 82.4 304C76.3 326.6 72 356.7 69 392.8c-2.2 26.2-3.6 54-4.4 81.9-.3 9.7-.4 18.8-.5 26.9 0 2.9-.1 5.4-.1 7.6v5.6c0 2.2 0 4.7.1 7.6.1 8.1.3 17.2.5 26.9.8 27.9 2.2 55.7 4.4 81.9 3 36.1 7.4 66.2 13.4 88.8 12.8 47.9 50.4 85.7 98.3 98.5 28.2 7.6 83.7 12.3 161.7 15.2 37.1 1.4 76.8 2.3 116.5 2.8 13.9.2 26.8.3 38.4.4h29.4c11.6-.1 24.5-.2 38.4-.4 39.7-.5 79.4-1.4 116.5-2.8 78-3 133.5-7.7 161.7-15.2 47.9-12.8 85.5-50.5 98.3-98.5 6.1-22.6 10.4-52.7 13.4-88.8 2.2-26.2 3.6-54 4.4-81.9.3-9.7.4-18.8.5-26.9 0-2.9.1-5.4.1-7.6v-5.6zm-72 5.2c0 2.1 0 4.4-.1 7.1-.1 7.8-.3 16.4-.5 25.7-.7 26.6-2.1 53.2-4.2 77.9-2.7 32.2-6.5 58.6-11.2 76.3-6.2 23.1-24.4 41.4-47.4 47.5-21 5.6-73.9 10.1-145.8 12.8-36.4 1.4-75.6 2.3-114.7 2.8-13.7.2-26.4.3-37.8.3h-28.6l-37.8-.3c-39.1-.5-78.2-1.4-114.7-2.8-71.9-2.8-124.9-7.2-145.8-12.8-23-6.2-41.2-24.4-47.4-47.5-4.7-17.7-8.5-44.1-11.2-76.3-2.1-24.7-3.4-51.3-4.2-77.9-.3-9.3-.4-18-.5-25.7 0-2.7-.1-5.1-.1-7.1v-4.8c0-2.1 0-4.4.1-7.1.1-7.8.3-16.4.5-25.7.7-26.6 2.1-53.2 4.2-77.9 2.7-32.2 6.5-58.6 11.2-76.3 6.2-23.1 24.4-41.4 47.4-47.5 21-5.6 73.9-10.1 145.8-12.8 36.4-1.4 75.6-2.3 114.7-2.8 13.7-.2 26.4-.3 37.8-.3h28.6l37.8.3c39.1.5 78.2 1.4 114.7 2.8 71.9 2.8 124.9 7.2 145.8 12.8 23 6.2 41.2 24.4 47.4 47.5 4.7 17.7 8.5 44.1 11.2 76.3 2.1 24.7 3.4 51.3 4.2 77.9.3 9.3.4 18 .5 25.7 0 2.7.1 5.1.1 7.1v4.8zM423 646l232-135-232-133z'));\nexports.AlibabaOutline = getIcon('alibaba', outline, getNode(newViewBox, 'M602.9 669.8c-37.2 2.6-33.6-17.3-11.5-46.2 50.4-67.2 143.7-158.5 147.9-225.2 5.8-86.6-81.3-113.4-171-113.4-62.4 1.6-127 18.9-171 34.6-151.6 53.5-246.6 137.5-306.9 232-62.4 93.4-43 183.2 91.8 185.8 101.8-4.2 170.5-32.5 239.7-68.2.5 0-192.5 55.1-263.9 14.7-7.9-4.2-15.7-10-17.8-26.2 0-33.1 54.6-67.7 86.6-78.7v-56.7c64.5 22.6 140.6 16.3 205.7-32 2.1 5.8 4.2 13.1 3.7 21h11c2.6-22.6-12.6-44.6-37.8-46.2 7.3 5.8 12.6 10.5 15.2 14.7l-1 1-.5.5c-83.9 58.8-165.3 31.5-173.1 29.9l46.7-45.7-13.1-33.1c92.9-32.5 169.5-56.2 296.9-78.7l-28.5-23 14.7-8.9c75.5 21 126.4 36.7 123.8 76.6-1 6.8-3.7 14.7-7.9 23.1C660.1 466.1 594 538 567.2 569c-17.3 20.5-34.6 39.4-46.7 58.3-13.6 19.4-20.5 37.3-21 53.5 2.6 131.8 391.4-61.9 468-112.9-111.7 47.8-232.9 93.5-364.6 101.9zm85-302.9c2.8 5.2 4.1 11.6 4.1 19.1-.1-6.8-1.4-13.3-4.1-19.1z'));\nexports.AlignCenterOutline = getIcon('align-center', outline, getNode(newViewBox, 'M264 230h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm496 424c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496zm144 140H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.AlignLeftOutline = getIcon('align-left', outline, getNode(newViewBox, 'M120 230h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 424h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm784 140H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.AlignRightOutline = getIcon('align-right', outline, getNode(newViewBox, 'M904 158H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 424H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 212H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.AlipayOutline = getIcon('alipay', outline, getNode(newViewBox, 'M789 610.3c-38.7-12.9-90.7-32.7-148.5-53.6 34.8-60.3 62.5-129 80.7-203.6H530.5v-68.6h233.6v-38.3H530.5V132h-95.4c-16.7 0-16.7 16.5-16.7 16.5v97.8H182.2v38.3h236.3v68.6H223.4v38.3h378.4a667.18 667.18 0 0 1-54.5 132.9c-122.8-40.4-253.8-73.2-336.1-53-52.6 13-86.5 36.1-106.5 60.3-91.4 111-25.9 279.6 167.2 279.6C386 811.2 496 747.6 581.2 643 708.3 704 960 808.7 960 808.7V659.4s-31.6-2.5-171-49.1zM253.9 746.6c-150.5 0-195-118.3-120.6-183.1 24.8-21.9 70.2-32.6 94.4-35 89.4-8.8 172.2 25.2 269.9 72.8-68.8 89.5-156.3 145.3-243.7 145.3z'));\nexports.AliyunOutline = getIcon('aliyun', outline, getNode(newViewBox, 'M959.2 383.9c-.3-82.1-66.9-148.6-149.1-148.6H575.9l21.6 85.2 201 43.7a42.58 42.58 0 0 1 32.9 39.7c.1.5.1 216.1 0 216.6a42.58 42.58 0 0 1-32.9 39.7l-201 43.7-21.6 85.3h234.2c82.1 0 148.8-66.5 149.1-148.6V383.9zM225.5 660.4a42.58 42.58 0 0 1-32.9-39.7c-.1-.6-.1-216.1 0-216.6.8-19.4 14.6-35.5 32.9-39.7l201-43.7 21.6-85.2H213.8c-82.1 0-148.8 66.4-149.1 148.6V641c.3 82.1 67 148.6 149.1 148.6H448l-21.6-85.3-200.9-43.9zm200.9-158.8h171v21.3h-171z'));\nexports.AmazonOutline = getIcon('amazon', outline, getNode(newViewBox, 'M825 768.9c-3.3-.9-7.3-.4-11.9 1.3-61.6 28.2-121.5 48.3-179.7 60.2C507.7 856 385.2 842.6 266 790.3c-33.1-14.6-79.1-39.2-138-74a9.36 9.36 0 0 0-5.3-2c-2-.1-3.7.1-5.3.9-1.6.8-2.8 1.8-3.7 3.1-.9 1.3-1.1 3.1-.4 5.4.6 2.2 2.1 4.7 4.6 7.4 10.4 12.2 23.3 25.2 38.6 39s35.6 29.4 60.9 46.8c25.3 17.4 51.8 32.9 79.3 46.4 27.6 13.5 59.6 24.9 96.1 34.1s73 13.8 109.4 13.8c36.2 0 71.4-3.7 105.5-10.9 34.2-7.3 63-15.9 86.5-25.9 23.4-9.9 45-21 64.8-33 19.8-12 34.4-22.2 43.9-30.3 9.5-8.2 16.3-14.6 20.2-19.4 4.6-5.7 6.9-10.6 6.9-14.9.1-4.5-1.7-7.1-5-7.9zM527.4 348.1c-15.2 1.3-33.5 4.1-55 8.3-21.5 4.1-41.4 9.3-59.8 15.4s-37.2 14.6-56.3 25.4c-19.2 10.8-35.5 23.2-49 37s-24.5 31.1-33.1 52c-8.6 20.8-12.9 43.7-12.9 68.7 0 27.1 4.7 51.2 14.3 72.5 9.5 21.3 22.2 38 38.2 50.4 15.9 12.4 34 22.1 54 29.2 20 7.1 41.2 10.3 63.2 9.4 22-.9 43.5-4.3 64.4-10.3 20.8-5.9 40.4-15.4 58.6-28.3 18.2-12.9 33.1-28.2 44.8-45.7 4.3 6.6 8.1 11.5 11.5 14.7l8.7 8.9c5.8 5.9 14.7 14.6 26.7 26.1 11.9 11.5 24.1 22.7 36.3 33.7l104.4-99.9-6-4.9c-4.3-3.3-9.4-8-15.2-14.3-5.8-6.2-11.6-13.1-17.2-20.5-5.7-7.4-10.6-16.1-14.7-25.9-4.1-9.8-6.2-19.3-6.2-28.5V258.7c0-10.1-1.9-21-5.7-32.8-3.9-11.7-10.7-24.5-20.7-38.3-10-13.8-22.4-26.2-37.2-37-14.9-10.8-34.7-20-59.6-27.4-24.8-7.4-52.6-11.1-83.2-11.1-31.3 0-60.4 3.7-87.6 10.9-27.1 7.3-50.3 17-69.7 29.2-19.3 12.2-35.9 26.3-49.7 42.4-13.8 16.1-24.1 32.9-30.8 50.4-6.7 17.5-10.1 35.2-10.1 53.1L408 310c5.5-16.4 12.9-30.6 22-42.8 9.2-12.2 17.9-21 25.8-26.5 8-5.5 16.6-9.9 25.7-13.2 9.2-3.3 15.4-5 18.6-5.4 3.2-.3 5.7-.4 7.6-.4 26.7 0 45.2 7.9 55.6 23.6 6.5 9.5 9.7 23.9 9.7 43.3v56.6c-15.2.6-30.4 1.6-45.6 2.9zM573.1 500c0 16.6-2.2 31.7-6.5 45-9.2 29.1-26.7 47.4-52.4 54.8-22.4 6.6-43.7 3.3-63.9-9.8-21.5-14-32.2-33.8-32.2-59.3 0-19.9 5-36.9 15-51.1 10-14.1 23.3-24.7 40-31.7s33-12 49-14.9c15.9-3 33-4.8 51-5.4V500zm335.2 218.9c-4.3-5.4-15.9-8.9-34.9-10.7-19-1.8-35.5-1.7-49.7.4-15.3 1.8-31.1 6.2-47.3 13.4-16.3 7.1-23.4 13.1-21.6 17.8l.7 1.3.9.7 1.4.2h4.6c.8 0 1.8-.1 3.2-.2 1.4-.1 2.7-.3 3.9-.4 1.2-.1 2.9-.3 5.1-.4 2.1-.1 4.1-.4 6-.7.3 0 3.7-.3 10.3-.9 6.6-.6 11.4-1 14.3-1.3 2.9-.3 7.8-.6 14.5-.9 6.7-.3 12.1-.3 16.1 0 4 .3 8.5.7 13.6 1.1 5.1.4 9.2 1.3 12.4 2.7 3.2 1.3 5.6 3 7.1 5.1 5.2 6.6 4.2 21.2-3 43.9s-14 40.8-20.4 54.2c-2.8 5.7-2.8 9.2 0 10.7s6.7.1 11.9-4c15.6-12.2 28.6-30.6 39.1-55.3 6.1-14.6 10.5-29.8 13.1-45.7 2.4-15.9 2-26.2-1.3-31z'));\nexports.AntCloudOutline = getIcon('ant-cloud', outline, getNode(newViewBox, 'M378.9 738c-3.1 0-6.1-.5-8.8-1.5l4.4 30.7h26.3l-15.5-29.9c-2.1.5-4.2.7-6.4.7zm421-291.2c-12.6 0-24.8 1.5-36.5 4.2-21.4-38.4-62.3-64.3-109.3-64.3-6.9 0-13.6.6-20.2 1.6-35.4-77.4-113.4-131.1-203.9-131.1-112.3 0-205.3 82.6-221.6 190.4C127.3 455.5 64 523.8 64 607c0 88.4 71.6 160.1 160 160.2h50l13.2-27.6c-26.2-8.3-43.3-29-39.1-48.8 4.6-21.6 32.8-33.9 63.1-27.5 22.9 4.9 40.4 19.1 45.5 35.1a26.1 26.1 0 0 1 22.1-12.4h.2c-.8-3.2-1.2-6.5-1.2-9.9 0-20.1 14.8-36.7 34.1-39.6v-25.4c0-4.4 3.6-8 8-8s8 3.6 8 8v26.3c4.6 1.2 8.8 3.2 12.6 5.8l19.5-21.4c3-3.3 8-3.5 11.3-.5 3.3 3 3.5 8 .5 11.3l-20 22-.2.2a40 40 0 0 1-46.9 59.2c-.4 5.6-2.6 10.7-6 14.8l20 38.4H804v-.1c86.5-2.2 156-73 156-160.1 0-88.5-71.7-160.2-160.1-160.2zM338.2 737.2l-4.3 30h24.4l-5.9-41.5c-3.5 4.6-8.3 8.5-14.2 11.5zM797.5 305a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm-65.7 61.3a24 24 0 1 0 48 0 24 24 0 1 0-48 0zM303.4 742.9l-11.6 24.3h26l3.5-24.7c-5.7.8-11.7 1-17.9.4z'));\nexports.ApartmentOutline = getIcon('apartment', outline, getNode(newViewBox, 'M908 640H804V488c0-4.4-3.6-8-8-8H548v-96h108c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h108v96H228c-4.4 0-8 3.6-8 8v152H116c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h288c8.8 0 16-7.2 16-16V656c0-8.8-7.2-16-16-16H292v-88h440v88H620c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h288c8.8 0 16-7.2 16-16V656c0-8.8-7.2-16-16-16zm-564 76v168H176V716h168zm84-408V140h168v168H428zm420 576H680V716h168v168z'));\nexports.AntDesignOutline = getIcon('ant-design', outline, getNode(newViewBox, 'M716.3 313.8c19-18.9 19-49.7 0-68.6l-69.9-69.9.1.1c-18.5-18.5-50.3-50.3-95.3-95.2-21.2-20.7-55.5-20.5-76.5.5L80.9 474.2a53.84 53.84 0 0 0 0 76.4L474.6 944a54.14 54.14 0 0 0 76.5 0l165.1-165c19-18.9 19-49.7 0-68.6a48.7 48.7 0 0 0-68.7 0l-125 125.2c-5.2 5.2-13.3 5.2-18.5 0L189.5 521.4c-5.2-5.2-5.2-13.3 0-18.5l314.4-314.2c.4-.4.9-.7 1.3-1.1 5.2-4.1 12.4-3.7 17.2 1.1l125.2 125.1c19 19 49.8 19 68.7 0zM408.6 514.4a106.3 106.2 0 1 0 212.6 0 106.3 106.2 0 1 0-212.6 0zm536.2-38.6L821.9 353.5c-19-18.9-49.8-18.9-68.7.1a48.4 48.4 0 0 0 0 68.6l83 82.9c5.2 5.2 5.2 13.3 0 18.5l-81.8 81.7a48.4 48.4 0 0 0 0 68.6 48.7 48.7 0 0 0 68.7 0l121.8-121.7a53.93 53.93 0 0 0-.1-76.4z'));\nexports.AreaChartOutline = getIcon('area-chart', outline, getNode(newViewBox, 'M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-616-64h536c4.4 0 8-3.6 8-8V284c0-7.2-8.7-10.7-13.7-5.7L592 488.6l-125.4-124a8.03 8.03 0 0 0-11.3 0l-189 189.6a7.87 7.87 0 0 0-2.3 5.6V720c0 4.4 3.6 8 8 8z'));\nexports.ArrowLeftOutline = getIcon('arrow-left', outline, getNode(newViewBox, 'M872 474H286.9l350.2-304c5.6-4.9 2.2-14-5.2-14h-88.5c-3.9 0-7.6 1.4-10.5 3.9L155 487.8a31.96 31.96 0 0 0 0 48.3L535.1 866c1.5 1.3 3.3 2 5.2 2h91.5c7.4 0 10.8-9.2 5.2-14L286.9 550H872c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z'));\nexports.ArrowDownOutline = getIcon('arrow-down', outline, getNode(newViewBox, 'M862 465.3h-81c-4.6 0-9 2-12.1 5.5L550 723.1V160c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v563.1L255.1 470.8c-3-3.5-7.4-5.5-12.1-5.5h-81c-6.8 0-10.5 8.1-6 13.2L487.9 861a31.96 31.96 0 0 0 48.3 0L868 478.5c4.5-5.2.8-13.2-6-13.2z'));\nexports.ArrowUpOutline = getIcon('arrow-up', outline, getNode(newViewBox, 'M868 545.5L536.1 163a31.96 31.96 0 0 0-48.3 0L156 545.5a7.97 7.97 0 0 0 6 13.2h81c4.6 0 9-2 12.1-5.5L474 300.9V864c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V300.9l218.9 252.3c3 3.5 7.4 5.5 12.1 5.5h81c6.8 0 10.5-8 6-13.2z'));\nexports.ArrowsAltOutline = getIcon('arrows-alt', outline, getNode(newViewBox, 'M855 160.1l-189.2 23.5c-6.6.8-9.3 8.8-4.7 13.5l54.7 54.7-153.5 153.5a8.03 8.03 0 0 0 0 11.3l45.1 45.1c3.1 3.1 8.2 3.1 11.3 0l153.6-153.6 54.7 54.7a7.94 7.94 0 0 0 13.5-4.7L863.9 169a7.9 7.9 0 0 0-8.9-8.9zM416.6 562.3a8.03 8.03 0 0 0-11.3 0L251.8 715.9l-54.7-54.7a7.94 7.94 0 0 0-13.5 4.7L160.1 855c-.6 5.2 3.7 9.5 8.9 8.9l189.2-23.5c6.6-.8 9.3-8.8 4.7-13.5l-54.7-54.7 153.6-153.6c3.1-3.1 3.1-8.2 0-11.3l-45.2-45z'));\nexports.ArrowRightOutline = getIcon('arrow-right', outline, getNode(newViewBox, 'M869 487.8L491.2 159.9c-2.9-2.5-6.6-3.9-10.5-3.9h-88.5c-7.4 0-10.8 9.2-5.2 14l350.2 304H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h585.1L386.9 854c-5.6 4.9-2.2 14 5.2 14h91.5c1.9 0 3.8-.7 5.2-2L869 536.2a32.07 32.07 0 0 0 0-48.4z'));\nexports.AuditOutline = getIcon('audit', outline, getNode(newViewBox, 'M296 250c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm184 144H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-48 458H208V148h560v320c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm440-88H728v-36.6c46.3-13.8 80-56.6 80-107.4 0-61.9-50.1-112-112-112s-112 50.1-112 112c0 50.7 33.7 93.6 80 107.4V764H520c-8.8 0-16 7.2-16 16v152c0 8.8 7.2 16 16 16h352c8.8 0 16-7.2 16-16V780c0-8.8-7.2-16-16-16zM646 620c0-27.6 22.4-50 50-50s50 22.4 50 50-22.4 50-50 50-50-22.4-50-50zm180 266H566v-60h260v60z'));\nexports.BarChartOutline = getIcon('bar-chart', outline, getNode(newViewBox, 'M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-600-80h56c4.4 0 8-3.6 8-8V560c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V384c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v320c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V462c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v242c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v400c0 4.4 3.6 8 8 8z'));\nexports.BarcodeOutline = getIcon('barcode', outline, getNode(newViewBox, 'M120 160H72c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8zm833 0h-48c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8zM200 736h112c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8H200c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm321 0h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm126 0h178c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8H647c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm-255 0h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm-79 64H201c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h112c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm257 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm256 0H648c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h178c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-385 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'));\nexports.BarsOutline = getIcon('bars', outline, getNode(normalViewBox, 'M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.BgColorsOutline = getIcon('bg-colors', outline, getNode(newViewBox, 'M766.4 744.3c43.7 0 79.4-36.2 79.4-80.5 0-53.5-79.4-140.8-79.4-140.8S687 610.3 687 663.8c0 44.3 35.7 80.5 79.4 80.5zm-377.1-44.1c7.1 7.1 18.6 7.1 25.6 0l256.1-256c7.1-7.1 7.1-18.6 0-25.6l-256-256c-.6-.6-1.3-1.2-2-1.7l-78.2-78.2a9.11 9.11 0 0 0-12.8 0l-48 48a9.11 9.11 0 0 0 0 12.8l67.2 67.2-207.8 207.9c-7.1 7.1-7.1 18.6 0 25.6l255.9 256zm12.9-448.6l178.9 178.9H223.4l178.8-178.9zM904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8z'));\nexports.BehanceOutline = getIcon('behance', outline, getNode(newViewBox, 'M634 294.3h199.5v48.4H634zM434.1 485.8c44.1-21.1 67.2-53.2 67.2-102.8 0-98.1-73-121.9-157.3-121.9H112v492.4h238.5c89.4 0 173.3-43 173.3-143 0-61.8-29.2-107.5-89.7-124.7zM220.2 345.1h101.5c39.1 0 74.2 10.9 74.2 56.3 0 41.8-27.3 58.6-66 58.6H220.2V345.1zm115.5 324.8H220.1V534.3H338c47.6 0 77.7 19.9 77.7 70.3 0 49.6-35.9 65.3-80 65.3zm575.8-89.5c0-105.5-61.7-193.4-173.3-193.4-108.5 0-182.3 81.7-182.3 188.8 0 111 69.9 187.2 182.3 187.2 85.1 0 140.2-38.3 166.7-120h-86.3c-9.4 30.5-47.6 46.5-77.3 46.5-57.4 0-87.4-33.6-87.4-90.7h256.9c.3-5.9.7-12.1.7-18.4zM653.9 537c3.1-46.9 34.4-76.2 81.2-76.2 49.2 0 73.8 28.9 78.1 76.2H653.9z'));\nexports.BlockOutline = getIcon('block', outline, getNode(newViewBox, 'M856 376H648V168c0-8.8-7.2-16-16-16H168c-8.8 0-16 7.2-16 16v464c0 8.8 7.2 16 16 16h208v208c0 8.8 7.2 16 16 16h464c8.8 0 16-7.2 16-16V392c0-8.8-7.2-16-16-16zm-480 16v188H220V220h360v156H392c-8.8 0-16 7.2-16 16zm204 52v136H444V444h136zm224 360H444V648h188c8.8 0 16-7.2 16-16V444h156v360z'));\nexports.BoldOutline = getIcon('bold', outline, getNode(newViewBox, 'M697.8 481.4c33.6-35 54.2-82.3 54.2-134.3v-10.2C752 229.3 663.9 142 555.3 142H259.4c-15.1 0-27.4 12.3-27.4 27.4v679.1c0 16.3 13.2 29.5 29.5 29.5h318.7c117 0 211.8-94.2 211.8-210.5v-11c0-73-37.4-137.3-94.2-175.1zM328 238h224.7c57.1 0 103.3 44.4 103.3 99.3v9.5c0 54.8-46.3 99.3-103.3 99.3H328V238zm366.6 429.4c0 62.9-51.7 113.9-115.5 113.9H328V542.7h251.1c63.8 0 115.5 51 115.5 113.9v10.8z'));\nexports.BorderBottomOutline = getIcon('border-bottom', outline, getNode(newViewBox, 'M872 808H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-720-94h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-498h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 332h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-166h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm166 166h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-332h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm332 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 332h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm222-72h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm388-404h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm388 426h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm388-404h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z'));\nexports.BorderLeftOutline = getIcon('border-left', outline, getNode(newViewBox, 'M208 144h-56c-4.4 0-8 3.6-8 8v720c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V152c0-4.4-3.6-8-8-8zm166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM540 310h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM374 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderOuterOutline = getIcon('border-outer', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM484 366h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM302 548h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm364 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-182 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 182h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z'));\nexports.BorderInnerOutline = getIcon('border-inner', outline, getNode(newViewBox, 'M872 476H548V144h-72v332H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h324v332h72V548h324c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-664h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM650 216h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 592h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-56-592h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-166 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 592h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-56-426h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 260h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderRightOutline = getIcon('border-right', outline, getNode(newViewBox, 'M872 144h-56c-4.4 0-8 3.6-8 8v720c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V152c0-4.4-3.6-8-8-8zm-166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM208 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM374 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderHorizontalOutline = getIcon('border-horizontal', outline, getNode(newViewBox, 'M540 144h-56c-4.4 0-8 3.6-8 8v720c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V152c0-4.4-3.6-8-8-8zm-166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-664 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM208 310h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm664 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-664 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm664 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM374 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderTopOutline = getIcon('border-top', outline, getNode(newViewBox, 'M872 144H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM208 310h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166-166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332-498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderVerticleOutline = getIcon('border-verticle', outline, getNode(newViewBox, 'M872 476H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-664h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM650 216h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 592h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-56-592h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-166 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm332 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM208 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM152 382h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm332 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM208 642h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderOutline = getIcon('border', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.BranchesOutline = getIcon('branches', outline, getNode(newViewBox, 'M740 161c-61.8 0-112 50.2-112 112 0 50.1 33.1 92.6 78.5 106.9v95.9L320 602.4V318.1c44.2-15 76-56.9 76-106.1 0-61.8-50.2-112-112-112s-112 50.2-112 112c0 49.2 31.8 91 76 106.1V706c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c0-49.2-31.8-91-76-106.1v-27.8l423.5-138.7a50.52 50.52 0 0 0 34.9-48.2V378.2c42.9-15.8 73.6-57 73.6-105.2 0-61.8-50.2-112-112-112zm-504 51a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm96 600a48.01 48.01 0 0 1-96 0 48.01 48.01 0 0 1 96 0zm408-491a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.CheckOutline = getIcon('check', outline, getNode(newViewBox, 'M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z'));\nexports.CiOutline = getIcon('ci', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm218-572.1h-50.4c-4.4 0-8 3.6-8 8v384.2c0 4.4 3.6 8 8 8H730c4.4 0 8-3.6 8-8V319.9c0-4.4-3.6-8-8-8zm-281.4 49.6c49.5 0 83.1 31.5 87 77.6.4 4.2 3.8 7.4 8 7.4h52.6c2.4 0 4.4-2 4.4-4.4 0-81.2-64-138.1-152.3-138.1C345.4 304 286 373.5 286 488.4v49c0 114 59.4 182.6 162.3 182.6 88 0 152.3-55.1 152.3-132.5 0-2.4-2-4.4-4.4-4.4h-52.7c-4.2 0-7.6 3.2-8 7.3-4.2 43-37.7 72.4-87 72.4-61.1 0-95.6-44.9-95.6-125.2v-49.3c.1-81.4 34.6-126.8 95.7-126.8z'));\nexports.CloseOutline = getIcon('close', outline, getNode(newViewBox, 'M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z'));\nexports.CloudDownloadOutline = getIcon('cloud-download', outline, getNode(newViewBox, 'M624 706.3h-74.1V464c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v242.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.7a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9z', 'M811.4 366.7C765.6 245.9 648.9 160 512.2 160S258.8 245.8 213 366.6C127.3 389.1 64 467.2 64 560c0 110.5 89.5 200 199.9 200H304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8h-40.1c-33.7 0-65.4-13.4-89-37.7-23.5-24.2-36-56.8-34.9-90.6.9-26.4 9.9-51.2 26.2-72.1 16.7-21.3 40.1-36.8 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0 1 52.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10C846.1 454.5 884 503.8 884 560c0 33.1-12.9 64.3-36.3 87.7a123.07 123.07 0 0 1-87.6 36.3H720c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h40.1C870.5 760 960 670.5 960 560c0-92.7-63.1-170.7-148.6-193.3z'));\nexports.CloudServerOutline = getIcon('cloud-server', outline, getNode(newViewBox, 'M704 446H320c-4.4 0-8 3.6-8 8v402c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8V454c0-4.4-3.6-8-8-8zm-328 64h272v117H376V510zm272 290H376V683h272v117z', 'M424 748a32 32 0 1 0 64 0 32 32 0 1 0-64 0zm0-178a32 32 0 1 0 64 0 32 32 0 1 0-64 0z', 'M811.4 368.9C765.6 248 648.9 162 512.2 162S258.8 247.9 213 368.8C126.9 391.5 63.5 470.2 64 563.6 64.6 668 145.6 752.9 247.6 762c4.7.4 8.7-3.3 8.7-8v-60.4c0-4-3-7.4-7-7.9-27-3.4-52.5-15.2-72.1-34.5-24-23.5-37.2-55.1-37.2-88.6 0-28 9.1-54.4 26.2-76.4 16.7-21.4 40.2-36.9 66.1-43.7l37.9-10 13.9-36.7c8.6-22.8 20.6-44.2 35.7-63.5 14.9-19.2 32.6-36 52.4-50 41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.3c19.9 14 37.5 30.8 52.4 50 15.1 19.3 27.1 40.7 35.7 63.5l13.8 36.6 37.8 10c54.2 14.4 92.1 63.7 92.1 120 0 33.6-13.2 65.1-37.2 88.6-19.5 19.2-44.9 31.1-71.9 34.5-4 .5-6.9 3.9-6.9 7.9V754c0 4.7 4.1 8.4 8.8 8 101.7-9.2 182.5-94 183.2-198.2.6-93.4-62.7-172.1-148.6-194.9z'));\nexports.CloudSyncOutline = getIcon('cloud-sync', outline, getNode(newViewBox, 'M811.4 368.9C765.6 248 648.9 162 512.2 162S258.8 247.9 213 368.8C126.9 391.5 63.5 470.2 64 563.6 64.6 668 145.6 752.9 247.6 762c4.7.4 8.7-3.3 8.7-8v-60.4c0-4-3-7.4-7-7.9-27-3.4-52.5-15.2-72.1-34.5-24-23.5-37.2-55.1-37.2-88.6 0-28 9.1-54.4 26.2-76.4 16.7-21.4 40.2-36.9 66.1-43.7l37.9-10 13.9-36.7c8.6-22.8 20.6-44.2 35.7-63.5 14.9-19.2 32.6-36 52.4-50 41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.3c19.9 14 37.5 30.8 52.4 50 15.1 19.3 27.1 40.7 35.7 63.5l13.8 36.6 37.8 10c54.2 14.4 92.1 63.7 92.1 120 0 33.6-13.2 65.1-37.2 88.6-19.5 19.2-44.9 31.1-71.9 34.5-4 .5-6.9 3.9-6.9 7.9V754c0 4.7 4.1 8.4 8.8 8 101.7-9.2 182.5-94 183.2-198.2.6-93.4-62.7-172.1-148.6-194.9z', 'M376.9 656.4c1.8-33.5 15.7-64.7 39.5-88.6 25.4-25.5 60-39.8 96-39.8 36.2 0 70.3 14.1 96 39.8 1.4 1.4 2.7 2.8 4.1 4.3l-25 19.6a8 8 0 0 0 3 14.1l98.2 24c5 1.2 9.9-2.6 9.9-7.7l.5-101.3c0-6.7-7.6-10.5-12.9-6.3L663 532.7c-36.6-42-90.4-68.6-150.5-68.6-107.4 0-195 85.1-199.4 191.7-.2 4.5 3.4 8.3 8 8.3H369c4.2-.1 7.7-3.4 7.9-7.7zM703 664h-47.9c-4.2 0-7.7 3.3-8 7.6-1.8 33.5-15.7 64.7-39.5 88.6-25.4 25.5-60 39.8-96 39.8-36.2 0-70.3-14.1-96-39.8-1.4-1.4-2.7-2.8-4.1-4.3l25-19.6a8 8 0 0 0-3-14.1l-98.2-24c-5-1.2-9.9 2.6-9.9 7.7l-.4 101.4c0 6.7 7.6 10.5 12.9 6.3l23.2-18.2c36.6 42 90.4 68.6 150.5 68.6 107.4 0 195-85.1 199.4-191.7.2-4.5-3.4-8.3-8-8.3z'));\nexports.CloudUploadOutline = getIcon('cloud-upload', outline, getNode(newViewBox, 'M518.3 459a8 8 0 0 0-12.6 0l-112 141.7a7.98 7.98 0 0 0 6.3 12.9h73.9V856c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V613.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 459z', 'M811.4 366.7C765.6 245.9 648.9 160 512.2 160S258.8 245.8 213 366.6C127.3 389.1 64 467.2 64 560c0 110.5 89.5 200 199.9 200H304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8h-40.1c-33.7 0-65.4-13.4-89-37.7-23.5-24.2-36-56.8-34.9-90.6.9-26.4 9.9-51.2 26.2-72.1 16.7-21.3 40.1-36.8 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0 1 52.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10C846.1 454.5 884 503.8 884 560c0 33.1-12.9 64.3-36.3 87.7a123.07 123.07 0 0 1-87.6 36.3H720c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h40.1C870.5 760 960 670.5 960 560c0-92.7-63.1-170.7-148.6-193.3z'));\nexports.ClusterOutline = getIcon('cluster', outline, getNode(newViewBox, 'M888 680h-54V540H546v-92h238c8.8 0 16-7.2 16-16V168c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h238v92H190v140h-54c-4.4 0-8 3.6-8 8v176c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V688c0-4.4-3.6-8-8-8h-54v-72h220v72h-54c-4.4 0-8 3.6-8 8v176c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V688c0-4.4-3.6-8-8-8h-54v-72h220v72h-54c-4.4 0-8 3.6-8 8v176c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V688c0-4.4-3.6-8-8-8zM256 805.3c0 1.5-1.2 2.7-2.7 2.7h-58.7c-1.5 0-2.7-1.2-2.7-2.7v-58.7c0-1.5 1.2-2.7 2.7-2.7h58.7c1.5 0 2.7 1.2 2.7 2.7v58.7zm288 0c0 1.5-1.2 2.7-2.7 2.7h-58.7c-1.5 0-2.7-1.2-2.7-2.7v-58.7c0-1.5 1.2-2.7 2.7-2.7h58.7c1.5 0 2.7 1.2 2.7 2.7v58.7zM288 384V216h448v168H288zm544 421.3c0 1.5-1.2 2.7-2.7 2.7h-58.7c-1.5 0-2.7-1.2-2.7-2.7v-58.7c0-1.5 1.2-2.7 2.7-2.7h58.7c1.5 0 2.7 1.2 2.7 2.7v58.7zM360 300a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.CodepenOutline = getIcon('codepen', outline, getNode(newViewBox, 'M911.7 385.3l-.3-1.5c-.2-1-.3-1.9-.6-2.9-.2-.6-.4-1.1-.5-1.7-.3-.8-.5-1.7-.9-2.5-.2-.6-.5-1.1-.8-1.7-.4-.8-.8-1.5-1.2-2.3-.3-.5-.6-1.1-1-1.6-.8-1.2-1.7-2.4-2.6-3.6-.5-.6-1.1-1.3-1.7-1.9-.4-.5-.9-.9-1.4-1.3-.6-.6-1.3-1.1-1.9-1.6-.5-.4-1-.8-1.6-1.2-.2-.1-.4-.3-.6-.4L531.1 117.8a34.3 34.3 0 0 0-38.1 0L127.3 361.3c-.2.1-.4.3-.6.4-.5.4-1 .8-1.6 1.2-.7.5-1.3 1.1-1.9 1.6-.5.4-.9.9-1.4 1.3-.6.6-1.2 1.2-1.7 1.9-1 1.1-1.8 2.3-2.6 3.6-.3.5-.7 1-1 1.6-.4.7-.8 1.5-1.2 2.3-.3.5-.5 1.1-.8 1.7-.3.8-.6 1.7-.9 2.5-.2.6-.4 1.1-.5 1.7-.2.9-.4 1.9-.6 2.9l-.3 1.5c-.2 1.5-.3 3-.3 4.5v243.5c0 1.5.1 3 .3 4.5l.3 1.5.6 2.9c.2.6.3 1.1.5 1.7.3.9.6 1.7.9 2.5.2.6.5 1.1.8 1.7.4.8.7 1.5 1.2 2.3.3.5.6 1.1 1 1.6.5.7.9 1.4 1.5 2.1l1.2 1.5c.5.6 1.1 1.3 1.7 1.9.4.5.9.9 1.4 1.3.6.6 1.3 1.1 1.9 1.6.5.4 1 .8 1.6 1.2.2.1.4.3.6.4L493 905.7c5.6 3.8 12.3 5.8 19.1 5.8 6.6 0 13.3-1.9 19.1-5.8l365.6-243.5c.2-.1.4-.3.6-.4.5-.4 1-.8 1.6-1.2.7-.5 1.3-1.1 1.9-1.6.5-.4.9-.9 1.4-1.3.6-.6 1.2-1.2 1.7-1.9l1.2-1.5 1.5-2.1c.3-.5.7-1 1-1.6.4-.8.8-1.5 1.2-2.3.3-.5.5-1.1.8-1.7.3-.8.6-1.7.9-2.5.2-.5.4-1.1.5-1.7.3-.9.4-1.9.6-2.9l.3-1.5c.2-1.5.3-3 .3-4.5V389.8c-.3-1.5-.4-3-.6-4.5zM546.4 210.5l269.4 179.4-120.3 80.4-149-99.6V210.5zm-68.8 0v160.2l-149 99.6-120.3-80.4 269.3-179.4zM180.7 454.1l86 57.5-86 57.5v-115zm296.9 358.5L208.3 633.2l120.3-80.4 149 99.6v160.2zM512 592.8l-121.6-81.2L512 430.3l121.6 81.2L512 592.8zm34.4 219.8V652.4l149-99.6 120.3 80.4-269.3 179.4zM843.3 569l-86-57.5 86-57.5v115z'));\nexports.CodeSandboxOutline = getIcon('code-sandbox', outline, getNode(newViewBox, 'M709.6 210l.4-.2h.2L512 96 313.9 209.8h-.2l.7.3L151.5 304v416L512 928l360.5-208V304l-162.9-94zM482.7 843.6L339.6 761V621.4L210 547.8V372.9l272.7 157.3v313.4zM238.2 321.5l134.7-77.8 138.9 79.7 139.1-79.9 135.2 78-273.9 158-274-158zM814 548.3l-128.8 73.1v139.1l-143.9 83V530.4L814 373.1v175.2z'));\nexports.ColumHeightOutline = getIcon('colum-height', outline, getNode(newViewBox, 'M840 836H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm0-724H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM610.8 378c6 0 9.4-7 5.7-11.7L515.7 238.7a7.14 7.14 0 0 0-11.3 0L403.6 366.3a7.23 7.23 0 0 0 5.7 11.7H476v268h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V378h62.8z'));\nexports.ColumnWidthOutline = getIcon('column-width', outline, getNode(newViewBox, 'M180 176h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zm724 0h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zM785.3 504.3L657.7 403.6a7.23 7.23 0 0 0-11.7 5.7V476H378v-62.8c0-6-7-9.4-11.7-5.7L238.7 508.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h268v62.8c0 6 7 9.4 11.7 5.7l127.5-100.8c3.8-2.9 3.8-8.5.2-11.4z'));\nexports.ColumnHeightOutline = getIcon('column-height', outline, getNode(newViewBox, 'M840 836H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm0-724H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM610.8 378c6 0 9.4-7 5.7-11.7L515.7 238.7a7.14 7.14 0 0 0-11.3 0L403.6 366.3a7.23 7.23 0 0 0 5.7 11.7H476v268h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V378h62.8z'));\nexports.CoffeeOutline = getIcon('coffee', outline, getNode(normalViewBox, 'M275 281c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36zm613 144H768c0-39.8-32.2-72-72-72H200c-39.8 0-72 32.2-72 72v248c0 3.4.2 6.7.7 9.9-.5 7-.7 14-.7 21.1 0 176.7 143.3 320 320 320 160.1 0 292.7-117.5 316.3-271H888c39.8 0 72-32.2 72-72V497c0-39.8-32.2-72-72-72zM696 681h-1.1c.7 7.6 1.1 15.2 1.1 23 0 137-111 248-248 248S200 841 200 704c0-7.8.4-15.4 1.1-23H200V425h496v256zm192-8H776V497h112v176zM613 281c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36zm-170 0c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36z'));\nexports.CopyrightOutline = getIcon('copyright', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm5.6-532.7c53 0 89 33.8 93 83.4.3 4.2 3.8 7.4 8 7.4h56.7c2.6 0 4.7-2.1 4.7-4.7 0-86.7-68.4-147.4-162.7-147.4C407.4 290 344 364.2 344 486.8v52.3C344 660.8 407.4 734 517.3 734c94 0 162.7-58.8 162.7-141.4 0-2.6-2.1-4.7-4.7-4.7h-56.8c-4.2 0-7.6 3.2-8 7.3-4.2 46.1-40.1 77.8-93 77.8-65.3 0-102.1-47.9-102.1-133.6v-52.6c.1-87 37-135.5 102.2-135.5z'));\nexports.DashOutline = getIcon('dash', outline, getNode(newViewBox, 'M112 476h160v72H112zm320 0h160v72H432zm320 0h160v72H752z'));\nexports.DeploymentUnitOutline = getIcon('deployment-unit', outline, getNode(newViewBox, 'M888.3 693.2c-42.5-24.6-94.3-18-129.2 12.8l-53-30.7V523.6c0-15.7-8.4-30.3-22-38.1l-136-78.3v-67.1c44.2-15 76-56.8 76-106.1 0-61.9-50.1-112-112-112s-112 50.1-112 112c0 49.3 31.8 91.1 76 106.1v67.1l-136 78.3c-13.6 7.8-22 22.4-22 38.1v151.6l-53 30.7c-34.9-30.8-86.8-37.4-129.2-12.8-53.5 31-71.7 99.4-41 152.9 30.8 53.5 98.9 71.9 152.2 41 42.5-24.6 62.7-73 53.6-118.8l48.7-28.3 140.6 81c6.8 3.9 14.4 5.9 22 5.9s15.2-2 22-5.9L674.5 740l48.7 28.3c-9.1 45.7 11.2 94.2 53.6 118.8 53.3 30.9 121.5 12.6 152.2-41 30.8-53.6 12.6-122-40.7-152.9zm-673 138.4a47.6 47.6 0 0 1-65.2-17.6c-13.2-22.9-5.4-52.3 17.5-65.5a47.6 47.6 0 0 1 65.2 17.6c13.2 22.9 5.4 52.3-17.5 65.5zM522 463.8zM464 234a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm170 446.2l-122 70.3-122-70.3V539.8l122-70.3 122 70.3v140.4zm239.9 133.9c-13.2 22.9-42.4 30.8-65.2 17.6-22.8-13.2-30.7-42.6-17.5-65.5s42.4-30.8 65.2-17.6c22.9 13.2 30.7 42.5 17.5 65.5z'));\nexports.DesktopOutline = getIcon('desktop', outline, getNode(newViewBox, 'M928 140H96c-17.7 0-32 14.3-32 32v496c0 17.7 14.3 32 32 32h380v112H304c-8.8 0-16 7.2-16 16v48c0 4.4 3.6 8 8 8h432c4.4 0 8-3.6 8-8v-48c0-8.8-7.2-16-16-16H548V700h380c17.7 0 32-14.3 32-32V172c0-17.7-14.3-32-32-32zm-40 488H136V212h752v416z'));\nexports.DingdingOutline = getIcon('dingding', outline, getNode(newViewBox, 'M573.7 252.5C422.5 197.4 201.3 96.7 201.3 96.7c-15.7-4.1-17.9 11.1-17.9 11.1-5 61.1 33.6 160.5 53.6 182.8 19.9 22.3 319.1 113.7 319.1 113.7S326 357.9 270.5 341.9c-55.6-16-37.9 17.8-37.9 17.8 11.4 61.7 64.9 131.8 107.2 138.4 42.2 6.6 220.1 4 220.1 4s-35.5 4.1-93.2 11.9c-42.7 5.8-97 12.5-111.1 17.8-33.1 12.5 24 62.6 24 62.6 84.7 76.8 129.7 50.5 129.7 50.5 33.3-10.7 61.4-18.5 85.2-24.2L565 743.1h84.6L603 928l205.3-271.9H700.8l22.3-38.7c.3.5.4.8.4.8S799.8 496.1 829 433.8l.6-1h-.1c5-10.8 8.6-19.7 10-25.8 17-71.3-114.5-99.4-265.8-154.5z'));\nexports.DisconnectOutline = getIcon('disconnect', outline, getNode(newViewBox, 'M832.6 191.4c-84.6-84.6-221.5-84.6-306 0l-96.9 96.9 51 51 96.9-96.9c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204l-96.9 96.9 51.1 51.1 96.9-96.9c84.4-84.6 84.4-221.5-.1-306.1zM446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l96.9-96.9-51.1-51.1-96.9 96.9c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l96.9-96.9-51-51-96.8 97zM260.3 209.4a8.03 8.03 0 0 0-11.3 0L209.4 249a8.03 8.03 0 0 0 0 11.3l554.4 554.4c3.1 3.1 8.2 3.1 11.3 0l39.6-39.6c3.1-3.1 3.1-8.2 0-11.3L260.3 209.4z'));\nexports.DollarOutline = getIcon('dollar', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm47.7-395.2l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z'));\nexports.DoubleRightOutline = getIcon('double-right', outline, getNode(newViewBox, 'M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 0 0 188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 0 0 492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z'));\nexports.DotChartOutline = getIcon('dot-chart', outline, getNode(newViewBox, 'M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 1 0 128 0 64 64 0 1 0-128 0zm118-224a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm158 228a96 96 0 1 0 192 0 96 96 0 1 0-192 0zm148-314a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.DoubleLeftOutline = getIcon('double-left', outline, getNode(newViewBox, 'M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 0 0 0 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 0 0 0 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z'));\nexports.DownloadOutline = getIcon('download', outline, getNode(newViewBox, 'M505.7 661a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z'));\nexports.DribbbleOutline = getIcon('dribbble', outline, getNode(newViewBox, 'M512 96C282.6 96 96 282.6 96 512s186.6 416 416 416 416-186.6 416-416S741.4 96 512 96zm275.1 191.8c49.5 60.5 79.5 137.5 80.2 221.4-11.7-2.5-129.2-26.3-247.4-11.4-2.5-6.1-5-12.2-7.6-18.3-7.4-17.3-15.3-34.6-23.6-51.5C720 374.3 779.6 298 787.1 287.8zM512 157.2c90.3 0 172.8 33.9 235.5 89.5-6.4 9.1-59.9 81-186.2 128.4-58.2-107-122.7-194.8-132.6-208 27.3-6.6 55.2-9.9 83.3-9.9zM360.9 191c9.4 12.8 72.9 100.9 131.7 205.5C326.4 440.6 180 440 164.1 439.8c23.1-110.3 97.4-201.9 196.8-248.8zM156.7 512.5c0-3.6.1-7.3.2-10.9 15.5.3 187.7 2.5 365.2-50.6 10.2 19.9 19.9 40.1 28.8 60.3-4.7 1.3-9.4 2.7-14 4.2C353.6 574.9 256.1 736.4 248 750.1c-56.7-63-91.3-146.3-91.3-237.6zM512 867.8c-82.2 0-157.9-28-218.1-75 6.4-13.1 78.3-152 278.7-221.9l2.3-.8c49.9 129.6 70.5 238.3 75.8 269.5A350.46 350.46 0 0 1 512 867.8zm198.5-60.7c-3.6-21.6-22.5-125.6-69-253.3C752.9 536 850.7 565.2 862.8 569c-15.8 98.8-72.5 184.2-152.3 238.1z'));\nexports.DropboxOutline = getIcon('dropbox', outline, getNode(newViewBox, 'M64 556.9l264.2 173.5L512.5 577 246.8 412.7zm896-290.3zm0 0L696.8 95 512.5 248.5l265.2 164.2L512.5 577l184.3 153.4L960 558.8 777.7 412.7zM513 609.8L328.2 763.3l-79.4-51.5v57.8L513 928l263.7-158.4v-57.8l-78.9 51.5zM328.2 95L64 265.1l182.8 147.6 265.7-164.2zM64 556.9z'));\nexports.EllipsisOutline = getIcon('ellipsis', outline, getNode(newViewBox, 'M176 511a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm280 0a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm280 0a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.EnterOutline = getIcon('enter', outline, getNode(newViewBox, 'M864 170h-60c-4.4 0-8 3.6-8 8v518H310v-73c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 0 0 0 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-75h498c35.3 0 64-28.7 64-64V178c0-4.4-3.6-8-8-8z'));\nexports.EuroOutline = getIcon('euro', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm117.7-588.6c-15.9-3.5-34.4-5.4-55.3-5.4-106.7 0-178.9 55.7-198.6 149.9H344c-4.4 0-8 3.6-8 8v27.2c0 4.4 3.6 8 8 8h26.4c-.3 4.1-.3 8.4-.3 12.8v36.9H344c-4.4 0-8 3.6-8 8V568c0 4.4 3.6 8 8 8h30.2c17.2 99.2 90.4 158 200.2 158 20.9 0 39.4-1.7 55.3-5.1 3.7-.8 6.4-4 6.4-7.8v-42.8c0-5-4.6-8.8-9.5-7.8-14.7 2.8-31.9 4.1-51.8 4.1-68.5 0-114.5-36.6-129.8-98.6h130.6c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H439.2v-36c0-4.7 0-9.4.3-13.8h135.9c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H447.1c17.2-56.9 62.3-90.4 127.6-90.4 19.9 0 37.1 1.5 51.7 4.4a8 8 0 0 0 9.6-7.8v-42.8c0-3.8-2.6-7-6.3-7.8z'));\nexports.ExceptionOutline = getIcon('exception', outline, getNode(newViewBox, 'M688 312v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm376 116c-119.3 0-216 96.7-216 216s96.7 216 216 216 216-96.7 216-216-96.7-216-216-216zm107.5 323.5C750.8 868.2 712.6 884 672 884s-78.8-15.8-107.5-44.5C535.8 810.8 520 772.6 520 732s15.8-78.8 44.5-107.5C593.2 595.8 631.4 580 672 580s78.8 15.8 107.5 44.5C808.2 653.2 824 691.4 824 732s-15.8 78.8-44.5 107.5zM640 812a32 32 0 1 0 64 0 32 32 0 1 0-64 0zm12-64h40c4.4 0 8-3.6 8-8V628c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v112c0 4.4 3.6 8 8 8zM440 852H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.ExclamationOutline = getIcon('exclamation', outline, getNode(newViewBox, 'M448 804a64 64 0 1 0 128 0 64 64 0 1 0-128 0zm32-168h64c4.4 0 8-3.6 8-8V164c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z'));\nexports.ExportOutline = getIcon('export', outline, getNode(newViewBox, 'M888.3 757.4h-53.8c-4.2 0-7.7 3.5-7.7 7.7v61.8H197.1V197.1h629.8v61.8c0 4.2 3.5 7.7 7.7 7.7h53.8c4.2 0 7.7-3.4 7.7-7.7V158.7c0-17-13.7-30.7-30.7-30.7H158.7c-17 0-30.7 13.7-30.7 30.7v706.6c0 17 13.7 30.7 30.7 30.7h706.6c17 0 30.7-13.7 30.7-30.7V765.1c0-4.3-3.5-7.7-7.7-7.7zm18.6-251.7L765 393.7c-5.3-4.2-13-.4-13 6.3v76H438c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 0 0 0-12.6z'));\nexports.FallOutline = getIcon('fall', outline, getNode(newViewBox, 'M925.9 804l-24-199.2c-.8-6.6-8.9-9.4-13.6-4.7L829 659.5 557.7 388.3c-6.3-6.2-16.4-6.2-22.6 0L433.3 490 156.6 213.3a8.03 8.03 0 0 0-11.3 0l-45 45.2a8.03 8.03 0 0 0 0 11.3L422 591.7c6.2 6.3 16.4 6.3 22.6 0L546.4 490l226.1 226-59.3 59.3a8.01 8.01 0 0 0 4.7 13.6l199.2 24c5.1.7 9.5-3.7 8.8-8.9z'));\nexports.FileDoneOutline = getIcon('file-done', outline, getNode(newViewBox, 'M688 312v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm376 116c-119.3 0-216 96.7-216 216s96.7 216 216 216 216-96.7 216-216-96.7-216-216-216zm107.5 323.5C750.8 868.2 712.6 884 672 884s-78.8-15.8-107.5-44.5C535.8 810.8 520 772.6 520 732s15.8-78.8 44.5-107.5C593.2 595.8 631.4 580 672 580s78.8 15.8 107.5 44.5C808.2 653.2 824 691.4 824 732s-15.8 78.8-44.5 107.5zM761 656h-44.3c-2.6 0-5 1.2-6.5 3.3l-63.5 87.8-23.1-31.9a7.92 7.92 0 0 0-6.5-3.3H573c-6.5 0-10.3 7.4-6.5 12.7l73.8 102.1c3.2 4.4 9.7 4.4 12.9 0l114.2-158c3.9-5.3.1-12.7-6.4-12.7zM440 852H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.FileSyncOutline = getIcon('file-sync', outline, getNode(newViewBox, 'M296 256c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm192 200v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8zm-48 396H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm104.1-115.6c1.8-34.5 16.2-66.8 40.8-91.4 26.2-26.2 62-41 99.1-41 37.4 0 72.6 14.6 99.1 41 3.2 3.2 6.3 6.6 9.2 10.1L769.2 673a8 8 0 0 0 3 14.1l93.3 22.5c5 1.2 9.8-2.6 9.9-7.7l.6-95.4a8 8 0 0 0-12.9-6.4l-20.3 15.8C805.4 569.6 748.1 540 684 540c-109.9 0-199.6 86.9-204 195.7-.2 4.5 3.5 8.3 8 8.3h48.1c4.3 0 7.8-3.3 8-7.6zM880 744h-48.1c-4.3 0-7.8 3.3-8 7.6-1.8 34.5-16.2 66.8-40.8 91.4-26.2 26.2-62 41-99.1 41-37.4 0-72.6-14.6-99.1-41-3.2-3.2-6.3-6.6-9.2-10.1l23.1-17.9a8 8 0 0 0-3-14.1l-93.3-22.5c-5-1.2-9.8 2.6-9.9 7.7l-.6 95.4a8 8 0 0 0 12.9 6.4l20.3-15.8C562.6 918.4 619.9 948 684 948c109.9 0 199.6-86.9 204-195.7.2-4.5-3.5-8.3-8-8.3z'));\nexports.FileProtectOutline = getIcon('file-protect', outline, getNode(newViewBox, 'M644.7 669.2a7.92 7.92 0 0 0-6.5-3.3H594c-6.5 0-10.3 7.4-6.5 12.7l73.8 102.1c3.2 4.4 9.7 4.4 12.9 0l114.2-158c3.8-5.3 0-12.7-6.5-12.7h-44.3c-2.6 0-5 1.2-6.5 3.3l-63.5 87.8-22.9-31.9zM688 306v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm184 458H208V148h560v296c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h312c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm402.6-320.8l-192-66.7c-.9-.3-1.7-.4-2.6-.4s-1.8.1-2.6.4l-192 66.7a7.96 7.96 0 0 0-5.4 7.5v251.1c0 2.5 1.1 4.8 3.1 6.3l192 150.2c1.4 1.1 3.2 1.7 4.9 1.7s3.5-.6 4.9-1.7l192-150.2c1.9-1.5 3.1-3.8 3.1-6.3V538.7c0-3.4-2.2-6.4-5.4-7.5zM826 763.7L688 871.6 550 763.7V577l138-48 138 48v186.7z'));\nexports.FileSearchOutline = getIcon('file-search', outline, getNode(newViewBox, 'M688 312v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm144 452H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm445.7 51.5l-93.3-93.3C814.7 780.7 828 743.9 828 704c0-97.2-78.8-176-176-176s-176 78.8-176 176 78.8 176 176 176c35.8 0 69-10.7 96.8-29l94.7 94.7c1.6 1.6 3.6 2.3 5.6 2.3s4.1-.8 5.6-2.3l31-31a7.9 7.9 0 0 0 0-11.2zM652 816c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z'));\nexports.FileJpgOutline = getIcon('file-jpg', outline, getNode(normalViewBox, 'M874.6 301.8L596.8 21.3c-4.5-4.5-9.4-8.3-14.7-11.5-1.4-.8-2.8-1.6-4.3-2.3-.9-.5-1.9-.9-2.8-1.3-9-4-18.9-6.2-29-6.2H201c-39.8 0-73 32.2-73 72v880c0 39.8 33.2 72 73 72h623c39.8 0 71-32.2 71-72V352.5c0-19-7-37.2-20.4-50.7zM583 110.4L783.8 312H583V110.4zM823 952H200V72h311v240c0 39.8 33.2 72 73 72h239v568zM350 696.5c0 24.2-7.5 31.4-21.9 31.4-9 0-18.4-5.8-24.8-18.5L272.9 732c13.4 22.9 32.3 34.2 61.3 34.2 41.6 0 60.8-29.9 60.8-66.2V577h-45v119.5zM501.3 577H437v186h44v-62h21.6c39.1 0 73.1-19.6 73.1-63.6 0-45.8-33.5-60.4-74.4-60.4zm-.8 89H481v-53h18.2c21.5 0 33.4 6.2 33.4 24.9 0 18.1-10.5 28.1-32.1 28.1zm182.5-9v36h30v30.1c-4 2.9-11 4.7-17.7 4.7-34.3 0-50.7-21.4-50.7-58.2 0-36.1 19.7-57.4 47.1-57.4 15.3 0 25 6.2 34 14.4l23.7-28.3c-12.7-12.8-32.1-24.2-59.2-24.2-49.6 0-91.1 35.3-91.1 97 0 62.7 40 95.1 91.5 95.1 25.9 0 49.2-10.2 61.5-22.6V657H683z'));\nexports.FontColorsOutline = getIcon('font-colors', outline, getNode(newViewBox, 'M904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8zm-650.3-80h85c4.2 0 8-2.7 9.3-6.8l53.7-166h219.2l53.2 166c1.3 4 5 6.8 9.3 6.8h89.1c1.1 0 2.2-.2 3.2-.5a9.7 9.7 0 0 0 6-12.4L573.6 118.6a9.9 9.9 0 0 0-9.2-6.6H462.1c-4.2 0-7.9 2.6-9.2 6.6L244.5 723.1c-.4 1-.5 2.1-.5 3.2-.1 5.3 4.3 9.7 9.7 9.7zm255.9-516.1h4.1l83.8 263.8H424.9l84.7-263.8z'));\nexports.FontSizeOutline = getIcon('font-size', outline, getNode(newViewBox, 'M920 416H616c-4.4 0-8 3.6-8 8v112c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-56h60v320h-46c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h164c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-46V480h60v56c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V424c0-4.4-3.6-8-8-8zM656 296V168c0-4.4-3.6-8-8-8H104c-4.4 0-8 3.6-8 8v128c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-64h168v560h-92c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-92V232h168v64c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8z'));\nexports.ForkOutline = getIcon('fork', outline, getNode(newViewBox, 'M752 100c-61.8 0-112 50.2-112 112 0 47.7 29.9 88.5 72 104.6v27.6L512 601.4 312 344.2v-27.6c42.1-16.1 72-56.9 72-104.6 0-61.8-50.2-112-112-112s-112 50.2-112 112c0 50.6 33.8 93.5 80 107.3v34.4c0 9.7 3.3 19.3 9.3 27L476 672.3v33.6c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c0-49.2-31.8-91-76-106.1v-33.6l226.7-291.6c6-7.7 9.3-17.3 9.3-27v-34.4c46.2-13.8 80-56.7 80-107.3 0-61.8-50.2-112-112-112zM224 212a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm336 600a48.01 48.01 0 0 1-96 0 48.01 48.01 0 0 1 96 0zm192-552a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.FormOutline = getIcon('form', outline, getNode(newViewBox, 'M904 512h-56c-4.4 0-8 3.6-8 8v320H184V184h320c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V520c0-4.4-3.6-8-8-8z', 'M355.9 534.9L354 653.8c-.1 8.9 7.1 16.2 16 16.2h.4l118-2.9c2-.1 4-.9 5.4-2.3l415.9-415c3.1-3.1 3.1-8.2 0-11.3L785.4 114.3c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-415.8 415a8.3 8.3 0 0 0-2.3 5.6zm63.5 23.6L779.7 199l45.2 45.1-360.5 359.7-45.7 1.1.7-46.4z'));\nexports.FullscreenExitOutline = getIcon('fullscreen-exit', outline, getNode(newViewBox, 'M391 240.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L200 146.3a8.03 8.03 0 0 0-11.3 0l-42.4 42.3a8.03 8.03 0 0 0 0 11.3L280 333.6l-43.9 43.9a8.01 8.01 0 0 0 4.7 13.6L401 410c5.1.6 9.5-3.7 8.9-8.9L391 240.9zm10.1 373.2L240.8 633c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L146.3 824a8.03 8.03 0 0 0 0 11.3l42.4 42.3c3.1 3.1 8.2 3.1 11.3 0L333.7 744l43.7 43.7A8.01 8.01 0 0 0 391 783l18.9-160.1c.6-5.1-3.7-9.4-8.8-8.8zm221.8-204.2L783.2 391c6.6-.8 9.4-8.9 4.7-13.6L744 333.6 877.7 200c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.3a8.03 8.03 0 0 0-11.3 0L690.3 279.9l-43.7-43.7a8.01 8.01 0 0 0-13.6 4.7L614.1 401c-.6 5.2 3.7 9.5 8.8 8.9zM744 690.4l43.9-43.9a8.01 8.01 0 0 0-4.7-13.6L623 614c-5.1-.6-9.5 3.7-8.9 8.9L633 783.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L824 877.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3L744 690.4z'));\nexports.FullscreenOutline = getIcon('fullscreen', outline, getNode(newViewBox, 'M290 236.4l43.9-43.9a8.01 8.01 0 0 0-4.7-13.6L169 160c-5.1-.6-9.5 3.7-8.9 8.9L179 329.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L370 423.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3L290 236.4zm352.7 187.3c3.1 3.1 8.2 3.1 11.3 0l133.7-133.6 43.7 43.7a8.01 8.01 0 0 0 13.6-4.7L863.9 169c.6-5.1-3.7-9.5-8.9-8.9L694.8 179c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L600.3 370a8.03 8.03 0 0 0 0 11.3l42.4 42.4zM845 694.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L654 600.3a8.03 8.03 0 0 0-11.3 0l-42.4 42.3a8.03 8.03 0 0 0 0 11.3L734 787.6l-43.9 43.9a8.01 8.01 0 0 0 4.7 13.6L855 864c5.1.6 9.5-3.7 8.9-8.9L845 694.9zm-463.7-94.6a8.03 8.03 0 0 0-11.3 0L236.3 733.9l-43.7-43.7a8.01 8.01 0 0 0-13.6 4.7L160.1 855c-.6 5.1 3.7 9.5 8.9 8.9L329.2 845c6.6-.8 9.4-8.9 4.7-13.6L290 787.6 423.7 654c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.4z'));\nexports.GatewayOutline = getIcon('gateway', outline, getNode(newViewBox, 'M928 392c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H744c-8.8 0-16 7.2-16 16v56H296v-56c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v184c0 8.8 7.2 16 16 16h56v240H96c-8.8 0-16 7.2-16 16v184c0 8.8 7.2 16 16 16h184c8.8 0 16-7.2 16-16v-56h432v56c0 8.8 7.2 16 16 16h184c8.8 0 16-7.2 16-16V648c0-8.8-7.2-16-16-16h-56V392h56zM792 240h88v88h-88v-88zm-648 88v-88h88v88h-88zm88 456h-88v-88h88v88zm648-88v88h-88v-88h88zm-80-64h-56c-8.8 0-16 7.2-16 16v56H296v-56c0-8.8-7.2-16-16-16h-56V392h56c8.8 0 16-7.2 16-16v-56h432v56c0 8.8 7.2 16 16 16h56v240z'));\nexports.DownOutline = getIcon('down', outline, getNode(newViewBox, 'M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z'));\nexports.DragOutline = getIcon('drag', outline, getNode(newViewBox, 'M909.3 506.3L781.7 405.6a7.23 7.23 0 0 0-11.7 5.7V476H548V254h64.8c6 0 9.4-7 5.7-11.7L517.7 114.7a7.14 7.14 0 0 0-11.3 0L405.6 242.3a7.23 7.23 0 0 0 5.7 11.7H476v222H254v-64.8c0-6-7-9.4-11.7-5.7L114.7 506.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h222v222h-64.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V548h222v64.8c0 6 7 9.4 11.7 5.7l127.5-100.8a7.3 7.3 0 0 0 .1-11.4z'));\nexports.GlobalOutline = getIcon('global', outline, getNode(newViewBox, 'M854.4 800.9c.2-.3.5-.6.7-.9C920.6 722.1 960 621.7 960 512s-39.4-210.1-104.8-288c-.2-.3-.5-.5-.7-.8-1.1-1.3-2.1-2.5-3.2-3.7-.4-.5-.8-.9-1.2-1.4l-4.1-4.7-.1-.1c-1.5-1.7-3.1-3.4-4.6-5.1l-.1-.1c-3.2-3.4-6.4-6.8-9.7-10.1l-.1-.1-4.8-4.8-.3-.3c-1.5-1.5-3-2.9-4.5-4.3-.5-.5-1-1-1.6-1.5-1-1-2-1.9-3-2.8-.3-.3-.7-.6-1-1C736.4 109.2 629.5 64 512 64s-224.4 45.2-304.3 119.2c-.3.3-.7.6-1 1-1 .9-2 1.9-3 2.9-.5.5-1 1-1.6 1.5-1.5 1.4-3 2.9-4.5 4.3l-.3.3-4.8 4.8-.1.1c-3.3 3.3-6.5 6.7-9.7 10.1l-.1.1c-1.6 1.7-3.1 3.4-4.6 5.1l-.1.1c-1.4 1.5-2.8 3.1-4.1 4.7-.4.5-.8.9-1.2 1.4-1.1 1.2-2.1 2.5-3.2 3.7-.2.3-.5.5-.7.8C103.4 301.9 64 402.3 64 512s39.4 210.1 104.8 288c.2.3.5.6.7.9l3.1 3.7c.4.5.8.9 1.2 1.4l4.1 4.7c0 .1.1.1.1.2 1.5 1.7 3 3.4 4.6 5l.1.1c3.2 3.4 6.4 6.8 9.6 10.1l.1.1c1.6 1.6 3.1 3.2 4.7 4.7l.3.3c3.3 3.3 6.7 6.5 10.1 9.6 80.1 74 187 119.2 304.5 119.2s224.4-45.2 304.3-119.2a300 300 0 0 0 10-9.6l.3-.3c1.6-1.6 3.2-3.1 4.7-4.7l.1-.1c3.3-3.3 6.5-6.7 9.6-10.1l.1-.1c1.5-1.7 3.1-3.3 4.6-5 0-.1.1-.1.1-.2 1.4-1.5 2.8-3.1 4.1-4.7.4-.5.8-.9 1.2-1.4a99 99 0 0 0 3.3-3.7zm4.1-142.6c-13.8 32.6-32 62.8-54.2 90.2a444.07 444.07 0 0 0-81.5-55.9c11.6-46.9 18.8-98.4 20.7-152.6H887c-3 40.9-12.6 80.6-28.5 118.3zM887 484H743.5c-1.9-54.2-9.1-105.7-20.7-152.6 29.3-15.6 56.6-34.4 81.5-55.9A373.86 373.86 0 0 1 887 484zM658.3 165.5c39.7 16.8 75.8 40 107.6 69.2a394.72 394.72 0 0 1-59.4 41.8c-15.7-45-35.8-84.1-59.2-115.4 3.7 1.4 7.4 2.9 11 4.4zm-90.6 700.6c-9.2 7.2-18.4 12.7-27.7 16.4V697a389.1 389.1 0 0 1 115.7 26.2c-8.3 24.6-17.9 47.3-29 67.8-17.4 32.4-37.8 58.3-59 75.1zm59-633.1c11 20.6 20.7 43.3 29 67.8A389.1 389.1 0 0 1 540 327V141.6c9.2 3.7 18.5 9.1 27.7 16.4 21.2 16.7 41.6 42.6 59 75zM540 640.9V540h147.5c-1.6 44.2-7.1 87.1-16.3 127.8l-.3 1.2A445.02 445.02 0 0 0 540 640.9zm0-156.9V383.1c45.8-2.8 89.8-12.5 130.9-28.1l.3 1.2c9.2 40.7 14.7 83.5 16.3 127.8H540zm-56 56v100.9c-45.8 2.8-89.8 12.5-130.9 28.1l-.3-1.2c-9.2-40.7-14.7-83.5-16.3-127.8H484zm-147.5-56c1.6-44.2 7.1-87.1 16.3-127.8l.3-1.2c41.1 15.6 85 25.3 130.9 28.1V484H336.5zM484 697v185.4c-9.2-3.7-18.5-9.1-27.7-16.4-21.2-16.7-41.7-42.7-59.1-75.1-11-20.6-20.7-43.3-29-67.8 37.2-14.6 75.9-23.3 115.8-26.1zm0-370a389.1 389.1 0 0 1-115.7-26.2c8.3-24.6 17.9-47.3 29-67.8 17.4-32.4 37.8-58.4 59.1-75.1 9.2-7.2 18.4-12.7 27.7-16.4V327zM365.7 165.5c3.7-1.5 7.3-3 11-4.4-23.4 31.3-43.5 70.4-59.2 115.4-21-12-40.9-26-59.4-41.8 31.8-29.2 67.9-52.4 107.6-69.2zM165.5 365.7c13.8-32.6 32-62.8 54.2-90.2 24.9 21.5 52.2 40.3 81.5 55.9-11.6 46.9-18.8 98.4-20.7 152.6H137c3-40.9 12.6-80.6 28.5-118.3zM137 540h143.5c1.9 54.2 9.1 105.7 20.7 152.6a444.07 444.07 0 0 0-81.5 55.9A373.86 373.86 0 0 1 137 540zm228.7 318.5c-39.7-16.8-75.8-40-107.6-69.2 18.5-15.8 38.4-29.7 59.4-41.8 15.7 45 35.8 84.1 59.2 115.4-3.7-1.4-7.4-2.9-11-4.4zm292.6 0c-3.7 1.5-7.3 3-11 4.4 23.4-31.3 43.5-70.4 59.2-115.4 21 12 40.9 26 59.4 41.8a373.81 373.81 0 0 1-107.6 69.2z'));\nexports.GooglePlusOutline = getIcon('google-plus', outline, getNode(newViewBox, 'M879.5 470.4c-.3-27-.4-54.2-.5-81.3h-80.8c-.3 27-.5 54.1-.7 81.3-27.2.1-54.2.3-81.2.6v80.9c27 .3 54.2.5 81.2.8.3 27 .3 54.1.5 81.1h80.9c.1-27 .3-54.1.5-81.3 27.2-.3 54.2-.4 81.2-.7v-80.9c-26.9-.2-54.1-.2-81.1-.5zm-530 .4c-.1 32.3 0 64.7.1 97 54.2 1.8 108.5 1 162.7 1.8-23.9 120.3-187.4 159.3-273.9 80.7-89-68.9-84.8-220 7.7-284 64.7-51.6 156.6-38.9 221.3 5.8 25.4-23.5 49.2-48.7 72.1-74.7-53.8-42.9-119.8-73.5-190-70.3-146.6-4.9-281.3 123.5-283.7 270.2-9.4 119.9 69.4 237.4 180.6 279.8 110.8 42.7 252.9 13.6 323.7-86 46.7-62.9 56.8-143.9 51.3-220-90.7-.7-181.3-.6-271.9-.3z'));\nexports.GoogleOutline = getIcon('google', outline, getNode(newViewBox, 'M881 442.4H519.7v148.5h206.4c-8.9 48-35.9 88.6-76.6 115.8-34.4 23-78.3 36.6-129.9 36.6-99.9 0-184.4-67.5-214.6-158.2-7.6-23-12-47.6-12-72.9s4.4-49.9 12-72.9c30.3-90.6 114.8-158.1 214.7-158.1 56.3 0 106.8 19.4 146.6 57.4l110-110.1c-66.5-62-153.2-100-256.6-100-149.9 0-279.6 86-342.7 211.4-26 51.8-40.8 110.4-40.8 172.4S151 632.8 177 684.6C240.1 810 369.8 896 519.7 896c103.6 0 190.4-34.4 253.8-93 72.5-66.8 114.4-165.2 114.4-282.1 0-27.2-2.4-53.3-6.9-78.5z'));\nexports.HeatMapOutline = getIcon('heat-map', outline, getNode(newViewBox, 'M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-790.4-23.9L512 231.9 858.7 832H165.3zm319-474.1l-228 394c-12.3 21.3 3.1 48 27.7 48h455.8c24.7 0 40.1-26.7 27.7-48L539.7 358c-6.2-10.7-17-16-27.7-16-10.8 0-21.6 5.3-27.7 16zm214 386H325.7L512 422l186.3 322zm-214-194.1l-57 98.4C415 669.5 430.4 696 455 696h114c24.6 0 39.9-26.5 27.7-47.7l-57-98.4c-6.1-10.6-16.9-15.9-27.7-15.9s-21.5 5.3-27.7 15.9zm57.1 98.4h-58.7l29.4-50.7 29.3 50.7z'));\nexports.GoldOutline = getIcon('gold', outline, getNode(newViewBox, 'M342 472h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H382.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8zm91.2-196h159.5l20.7 128h-201l20.8-128zm2.5 282.7c-.6-3.9-4-6.7-7.9-6.7H166.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248zM196.5 748l20.7-128h159.5l20.7 128H196.5zm709.4 58.7l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H596.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.3-.7 7.3-4.8 6.6-9.2zM626.5 748l20.7-128h159.5l20.7 128H626.5z'));\nexports.HistoryOutline = getIcon('history', outline, getNode(newViewBox, 'M536.1 273H488c-4.4 0-8 3.6-8 8v275.3c0 2.6 1.2 5 3.3 6.5l165.3 120.7c3.6 2.6 8.6 1.9 11.2-1.7l28.6-39c2.7-3.7 1.9-8.7-1.7-11.2L544.1 528.5V281c0-4.4-3.6-8-8-8zm219.8 75.2l156.8 38.3c5 1.2 9.9-2.6 9.9-7.7l.8-161.5c0-6.7-7.7-10.5-12.9-6.3L752.9 334.1a8 8 0 0 0 3 14.1zm167.7 301.1l-56.7-19.5a8 8 0 0 0-10.1 4.8c-1.9 5.1-3.9 10.1-6 15.1-17.8 42.1-43.3 80-75.9 112.5a353 353 0 0 1-112.5 75.9 352.18 352.18 0 0 1-137.7 27.8c-47.8 0-94.1-9.3-137.7-27.8a353 353 0 0 1-112.5-75.9c-32.5-32.5-58-70.4-75.9-112.5A353.44 353.44 0 0 1 171 512c0-47.8 9.3-94.2 27.8-137.8 17.8-42.1 43.3-80 75.9-112.5a353 353 0 0 1 112.5-75.9C430.6 167.3 477 158 524.8 158s94.1 9.3 137.7 27.8A353 353 0 0 1 775 261.7c10.2 10.3 19.8 21 28.6 32.3l59.8-46.8C784.7 146.6 662.2 81.9 524.6 82 285 82.1 92.6 276.7 95 516.4 97.4 751.9 288.9 942 524.8 942c185.5 0 343.5-117.6 403.7-282.3 1.5-4.2-.7-8.9-4.9-10.4z'));\nexports.IeOutline = getIcon('ie', outline, getNode(newViewBox, 'M852.6 367.6c16.3-36.9 32.1-90.7 32.1-131.8 0-109.1-119.5-147.6-314.5-57.9-161.4-10.8-316.8 110.5-355.6 279.7 46.3-52.3 117.4-123.4 183-151.7C316.1 378.3 246.7 470 194 565.6c-31.1 56.9-66 148.8-66 217.5 0 147.9 139.3 129.8 270.4 63 47.1 23.1 99.8 23.4 152.5 23.4 145.7 0 276.4-81.4 325.2-219H694.9c-78.8 132.9-295.2 79.5-295.2-71.2h493.2c9.6-65.4-2.5-143.6-40.3-211.7zM224.8 648.3c26.6 76.7 80.6 143.8 150.4 185-133.1 73.4-259.9 43.6-150.4-185zm174-163.3c3-82.7 75.4-142.3 156-142.3 80.1 0 153 59.6 156 142.3h-312zm276.8-281.4c32.1-15.4 72.8-33 108.8-33 47.1 0 81.4 32.6 81.4 80.6 0 30-11.1 73.5-21.9 101.8-39.3-63.5-98.9-122.4-168.3-149.4z'));\nexports.InboxOutline = getIcon('inbox', outline, getNode(normalViewBox, 'M885.2 446.3l-.2-.8-112.2-285.1c-5-16.1-19.9-27.2-36.8-27.2H281.2c-17 0-32.1 11.3-36.9 27.6L139.4 443l-.3.7-.2.8c-1.3 4.9-1.7 9.9-1 14.8-.1 1.6-.2 3.2-.2 4.8V830a60.9 60.9 0 0 0 60.8 60.8h627.2c33.5 0 60.8-27.3 60.9-60.8V464.1c0-1.3 0-2.6-.1-3.7.4-4.9 0-9.6-1.3-14.1zm-295.8-43l-.3 15.7c-.8 44.9-31.8 75.1-77.1 75.1-22.1 0-41.1-7.1-54.8-20.6S436 441.2 435.6 419l-.3-15.7H229.5L309 210h399.2l81.7 193.3H589.4zm-375 76.8h157.3c24.3 57.1 76 90.8 140.4 90.8 33.7 0 65-9.4 90.3-27.2 22.2-15.6 39.5-37.4 50.7-63.6h156.5V814H214.4V480.1z'));\nexports.ImportOutline = getIcon('import', outline, getNode(newViewBox, 'M888.3 757.4h-53.8c-4.2 0-7.7 3.5-7.7 7.7v61.8H197.1V197.1h629.8v61.8c0 4.2 3.5 7.7 7.7 7.7h53.8c4.2 0 7.7-3.4 7.7-7.7V158.7c0-17-13.7-30.7-30.7-30.7H158.7c-17 0-30.7 13.7-30.7 30.7v706.6c0 17 13.7 30.7 30.7 30.7h706.6c17 0 30.7-13.7 30.7-30.7V765.1c0-4.3-3.5-7.7-7.7-7.7zM902 476H588v-76c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 0 0 0 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-76h314c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.InfoOutline = getIcon('info', outline, getNode(newViewBox, 'M448 224a64 64 0 1 0 128 0 64 64 0 1 0-128 0zm96 168h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V400c0-4.4-3.6-8-8-8z'));\nexports.ItalicOutline = getIcon('italic', outline, getNode(newViewBox, 'M798 160H366c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h181.2l-156 544H229c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h432c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8H474.4l156-544H798c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8z'));\nexports.IssuesCloseOutline = getIcon('issues-close', outline, getNode(newViewBox, 'M464 688a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm72-112c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48zm400-188h-59.3c-2.6 0-5 1.2-6.5 3.3L763.7 538.1l-49.9-68.8a7.92 7.92 0 0 0-6.5-3.3H648c-6.5 0-10.3 7.4-6.5 12.7l109.2 150.7a16.1 16.1 0 0 0 26 0l165.8-228.7c3.8-5.3 0-12.7-6.5-12.7zm-44 306h-64.2c-5.5 0-10.6 2.9-13.6 7.5a352.2 352.2 0 0 1-49.8 62.2A355.92 355.92 0 0 1 651.1 840a355 355 0 0 1-138.7 27.9c-48.1 0-94.8-9.4-138.7-27.9a355.92 355.92 0 0 1-113.3-76.3A353.06 353.06 0 0 1 184 650.5c-18.6-43.8-28-90.5-28-138.5s9.4-94.7 28-138.5c17.9-42.4 43.6-80.5 76.4-113.2 32.8-32.7 70.9-58.4 113.3-76.3a355 355 0 0 1 138.7-27.9c48.1 0 94.8 9.4 138.7 27.9 42.4 17.9 80.5 43.6 113.3 76.3 19 19 35.6 39.8 49.8 62.2 2.9 4.7 8.1 7.5 13.6 7.5H892c6 0 9.8-6.3 7.2-11.6C828.8 178.5 684.7 82 517.7 80 278.9 77.2 80.5 272.5 80 511.2 79.5 750.1 273.3 944 512.4 944c169.2 0 315.6-97 386.7-238.4A8 8 0 0 0 892 694z'));\nexports.KeyOutline = getIcon('key', outline, getNode(newViewBox, 'M608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5l-41.1 41.1-62.3-62.3a8.15 8.15 0 0 0-11.4 0l-39.8 39.8a8.15 8.15 0 0 0 0 11.4l62.3 62.3-44.9 44.9-62.3-62.3a8.15 8.15 0 0 0-11.4 0l-39.8 39.8a8.15 8.15 0 0 0 0 11.4l62.3 62.3-65.3 65.3a8.03 8.03 0 0 0 0 11.3l42.3 42.3c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6A304.06 304.06 0 0 0 608 720c167.9 0 304-136.1 304-304S775.9 112 608 112zm161.2 465.2C726.2 620.3 668.9 644 608 644c-60.9 0-118.2-23.7-161.2-66.8-43.1-43-66.8-100.3-66.8-161.2 0-60.9 23.7-118.2 66.8-161.2 43-43.1 100.3-66.8 161.2-66.8 60.9 0 118.2 23.7 161.2 66.8 43.1 43 66.8 100.3 66.8 161.2 0 60.9-23.7 118.2-66.8 161.2z'));\nexports.LaptopOutline = getIcon('laptop', outline, getNode(newViewBox, 'M956.9 845.1L896.4 632V168c0-17.7-14.3-32-32-32h-704c-17.7 0-32 14.3-32 32v464L67.9 845.1C60.4 866 75.8 888 98 888h828.8c22.2 0 37.6-22 30.1-42.9zM200.4 208h624v395h-624V208zm228.3 608l8.1-37h150.3l8.1 37H428.7zm224 0l-19.1-86.7c-.8-3.7-4.1-6.3-7.8-6.3H398.2c-3.8 0-7 2.6-7.8 6.3L371.3 816H151l42.3-149h638.2l42.3 149H652.7z'));\nexports.LeftOutline = getIcon('left', outline, getNode(newViewBox, 'M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z'));\nexports.LinkOutline = getIcon('link', outline, getNode(newViewBox, 'M574 665.4a8.03 8.03 0 0 0-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 0 0-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 0 0 0 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 0 0 0 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 0 0-11.3 0L372.3 598.7a8.03 8.03 0 0 0 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z'));\nexports.LineChartOutline = getIcon('line-chart', outline, getNode(newViewBox, 'M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 0 0-11.3 0L266.3 586.7a8.03 8.03 0 0 0 0 11.3l39.5 39.7z'));\nexports.LineHeightOutline = getIcon('line-height', outline, getNode(newViewBox, 'M648 160H104c-4.4 0-8 3.6-8 8v128c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-64h168v560h-92c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-92V232h168v64c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8zm272.8 546H856V318h64.8c6 0 9.4-7 5.7-11.7L825.7 178.7a7.14 7.14 0 0 0-11.3 0L713.6 306.3a7.23 7.23 0 0 0 5.7 11.7H784v388h-64.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5a7.2 7.2 0 0 0-5.6-11.7z'));\nexports.LineOutline = getIcon('line', outline, getNode(newViewBox, 'M904 476H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.Loading3QuartersOutline = getIcon('loading-3-quarters', outline, getNode(normalViewBox, 'M512 1024c-69.1 0-136.2-13.5-199.3-40.2C251.7 958 197 921 150 874c-47-47-84-101.7-109.8-162.7C13.5 648.2 0 581.1 0 512c0-19.9 16.1-36 36-36s36 16.1 36 36c0 59.4 11.6 117 34.6 171.3 22.2 52.4 53.9 99.5 94.3 139.9 40.4 40.4 87.5 72.2 139.9 94.3C395 940.4 452.6 952 512 952c59.4 0 117-11.6 171.3-34.6 52.4-22.2 99.5-53.9 139.9-94.3 40.4-40.4 72.2-87.5 94.3-139.9C940.4 629 952 571.4 952 512c0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 0 0-94.3-139.9 437.71 437.71 0 0 0-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.2C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3s-13.5 136.2-40.2 199.3C958 772.3 921 827 874 874c-47 47-101.8 83.9-162.7 109.7-63.1 26.8-130.2 40.3-199.3 40.3z'));\nexports.LoadingOutline = getIcon('loading', outline, getNode(normalViewBox, 'M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 0 0-94.3-139.9 437.71 437.71 0 0 0-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z'));\nexports.LoginOutline = getIcon('login', outline, getNode(newViewBox, 'M521.7 82c-152.5-.4-286.7 78.5-363.4 197.7-3.4 5.3.4 12.3 6.7 12.3h70.3c4.8 0 9.3-2.1 12.3-5.8 7-8.5 14.5-16.7 22.4-24.5 32.6-32.5 70.5-58.1 112.7-75.9 43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 32.6 32.5 58.1 70.4 76 112.5C865.7 417.8 875 464.1 875 512c0 47.9-9.4 94.2-27.8 137.8-17.8 42.1-43.4 80-76 112.5s-70.5 58.1-112.7 75.9A352.8 352.8 0 0 1 520.6 866c-47.9 0-94.3-9.4-137.9-27.8A353.84 353.84 0 0 1 270 762.3c-7.9-7.9-15.3-16.1-22.4-24.5-3-3.7-7.6-5.8-12.3-5.8H165c-6.3 0-10.2 7-6.7 12.3C234.9 863.2 368.5 942 520.6 942c236.2 0 428-190.1 430.4-425.6C953.4 277.1 761.3 82.6 521.7 82zM395.02 624v-76h-314c-4.4 0-8-3.6-8-8v-56c0-4.4 3.6-8 8-8h314v-76c0-6.7 7.8-10.5 13-6.3l141.9 112a8 8 0 0 1 0 12.6l-141.9 112c-5.2 4.1-13 .4-13-6.3z'));\nexports.LogoutOutline = getIcon('logout', outline, getNode(newViewBox, 'M868 732h-70.3c-4.8 0-9.3 2.1-12.3 5.8-7 8.5-14.5 16.7-22.4 24.5a353.84 353.84 0 0 1-112.7 75.9A352.8 352.8 0 0 1 512.4 866c-47.9 0-94.3-9.4-137.9-27.8a353.84 353.84 0 0 1-112.7-75.9 353.28 353.28 0 0 1-76-112.5C167.3 606.2 158 559.9 158 512s9.4-94.2 27.8-137.8c17.8-42.1 43.4-80 76-112.5s70.5-58.1 112.7-75.9c43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 7.9 7.9 15.3 16.1 22.4 24.5 3 3.7 7.6 5.8 12.3 5.8H868c6.3 0 10.2-7 6.7-12.3C798 160.5 663.8 81.6 511.3 82 271.7 82.6 79.6 277.1 82 516.4 84.4 751.9 276.2 942 512.4 942c152.1 0 285.7-78.8 362.3-197.7 3.4-5.3-.4-12.3-6.7-12.3zm88.9-226.3L815 393.7c-5.3-4.2-13-.4-13 6.3v76H488c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 0 0 0-12.6z'));\nexports.ManOutline = getIcon('man', outline, getNode(newViewBox, 'M874 120H622c-3.3 0-6 2.7-6 6v56c0 3.3 2.7 6 6 6h160.4L583.1 387.3c-50-38.5-111-59.3-175.1-59.3-76.9 0-149.3 30-203.6 84.4S120 539.1 120 616s30 149.3 84.4 203.6C258.7 874 331.1 904 408 904s149.3-30 203.6-84.4C666 765.3 696 692.9 696 616c0-64.1-20.8-124.9-59.2-174.9L836 241.9V402c0 3.3 2.7 6 6 6h56c3.3 0 6-2.7 6-6V150c0-16.5-13.5-30-30-30zM408 828c-116.9 0-212-95.1-212-212s95.1-212 212-212 212 95.1 212 212-95.1 212-212 212z'));\nexports.MediumOutline = getIcon('medium', outline, getNode(newViewBox, 'M834.7 279.8l61.3-58.9V208H683.7L532.4 586.4 360.3 208H137.7v12.9l71.6 86.6c7 6.4 10.6 15.8 9.7 25.2V673c2.2 12.3-1.7 24.8-10.3 33.7L128 805v12.7h228.6v-12.9l-80.6-98a39.99 39.99 0 0 1-11.1-33.7V378.7l200.7 439.2h23.3l172.6-439.2v349.9c0 9.2 0 11.1-6 17.2l-62.1 60.3V819h301.2v-12.9l-59.9-58.9c-5.2-4-7.9-10.7-6.8-17.2V297a18.1 18.1 0 0 1 6.8-17.2z'));\nexports.MediumWorkmarkOutline = getIcon('medium-workmark', outline, getNode(normalViewBox, 'M517.2 590.55c0 3.55 0 4.36 2.4 6.55l13.43 13.25v.57h-59.57v-25.47a41.44 41.44 0 0 1-39.5 27.65c-30.61 0-52.84-24.25-52.84-68.87 0-41.8 23.99-69.69 57.65-69.69a35.15 35.15 0 0 1 34.61 21.67v-56.19a6.99 6.99 0 0 0-2.71-6.79l-12.8-12.45v-.56l59.33-7.04v177.37zm-43.74-8.09v-83.83a22.2 22.2 0 0 0-17.74-8.4c-14.48 0-28.47 13.25-28.47 52.62 0 36.86 12.07 49.88 27.1 49.88a23.91 23.91 0 0 0 19.11-10.27zm83.23 28.46V497.74a7.65 7.65 0 0 0-2.4-6.79l-13.19-13.74v-.57h59.56v114.8c0 3.55 0 4.36 2.4 6.54l13.12 12.45v.57l-59.49-.08zm-2.16-175.67c0-13.4 10.74-24.25 23.99-24.25 13.25 0 23.98 10.86 23.98 24.25 0 13.4-10.73 24.25-23.98 24.25s-23.99-10.85-23.99-24.25zm206.83 155.06c0 3.55 0 4.6 2.4 6.79l13.43 13.25v.57h-59.88V581.9a43.4 43.4 0 0 1-41.01 31.2c-26.55 0-40.78-19.56-40.78-56.59 0-17.86 0-37.43.56-59.41a6.91 6.91 0 0 0-2.4-6.55L620.5 477.2v-.57h59.09v73.81c0 24.25 3.51 40.42 18.54 40.42a23.96 23.96 0 0 0 19.35-12.2v-80.85a7.65 7.65 0 0 0-2.4-6.79l-13.27-13.82v-.57h59.56V590.3zm202.76 20.6c0-4.36.8-59.97.8-72.75 0-24.25-3.76-40.98-20.63-40.98a26.7 26.7 0 0 0-21.19 11.64 99.68 99.68 0 0 1 2.4 23.04c0 16.81-.56 38.23-.8 59.66a6.91 6.91 0 0 0 2.4 6.55l13.43 12.45v.56h-60.12c0-4.04.8-59.98.8-72.76 0-24.65-3.76-40.98-20.39-40.98-8.2.3-15.68 4.8-19.83 11.96v82.46c0 3.56 0 4.37 2.4 6.55l13.11 12.45v.56h-59.48V498.15a7.65 7.65 0 0 0-2.4-6.8l-13.19-14.14v-.57H841v28.78c5.53-19 23.13-31.76 42.7-30.96 19.82 0 33.26 11.16 38.93 32.34a46.41 46.41 0 0 1 44.77-32.34c26.55 0 41.58 19.8 41.58 57.23 0 17.87-.56 38.24-.8 59.66a6.5 6.5 0 0 0 2.72 6.55l13.11 12.45v.57h-59.88zM215.87 593.3l17.66 17.05v.57h-89.62v-.57l17.99-17.05a6.91 6.91 0 0 0 2.4-6.55V477.69c0-4.6 0-10.83.8-16.16L104.66 613.1h-.72l-62.6-139.45c-1.37-3.47-1.77-3.72-2.65-6.06v91.43a32.08 32.08 0 0 0 2.96 17.87l25.19 33.46v.57H0v-.57l25.18-33.55a32.16 32.16 0 0 0 2.96-17.78V457.97A19.71 19.71 0 0 0 24 444.15L6.16 420.78v-.56h63.96l53.56 118.1 47.17-118.1h62.6v.56l-17.58 19.8a6.99 6.99 0 0 0-2.72 6.8v139.37a6.5 6.5 0 0 0 2.72 6.55zm70.11-54.65v.56c0 34.6 17.67 48.5 38.38 48.5a43.5 43.5 0 0 0 40.77-24.97h.56c-7.2 34.2-28.14 50.36-59.48 50.36-33.82 0-65.72-20.61-65.72-68.39 0-50.2 31.98-70.25 67.32-70.25 28.46 0 58.76 13.58 58.76 57.24v6.95h-80.59zm0-6.95h39.42v-7.04c0-35.57-7.28-45.03-18.23-45.03-13.27 0-21.35 14.15-21.35 52.07h.16z'));\nexports.MenuUnfoldOutline = getIcon('menu-unfold', outline, getNode(newViewBox, 'M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z'));\nexports.MenuFoldOutline = getIcon('menu-fold', outline, getNode(newViewBox, 'M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z'));\nexports.MenuOutline = getIcon('menu', outline, getNode(newViewBox, 'M904 160H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0 624H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0-312H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8z'));\nexports.MinusOutline = getIcon('minus', outline, getNode(newViewBox, 'M872 474H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z'));\nexports.MonitorOutline = getIcon('monitor', outline, getNode(newViewBox, 'M692.8 412.7l.2-.2-34.6-44.3a7.97 7.97 0 0 0-11.2-1.4l-50.4 39.3-70.5-90.1a7.97 7.97 0 0 0-11.2-1.4l-37.9 29.7a7.97 7.97 0 0 0-1.4 11.2l70.5 90.2-.2.1 34.6 44.3c2.7 3.5 7.7 4.1 11.2 1.4l50.4-39.3 64.1 82c2.7 3.5 7.7 4.1 11.2 1.4l37.9-29.6c3.5-2.7 4.1-7.7 1.4-11.2l-64.1-82.1zM608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5L114.3 856.1a8.03 8.03 0 0 0 0 11.3l42.3 42.3c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6C473 696.1 537.7 720 608 720c167.9 0 304-136.1 304-304S775.9 112 608 112zm161.2 465.2C726.2 620.3 668.9 644 608 644s-118.2-23.7-161.2-66.8C403.7 534.2 380 476.9 380 416s23.7-118.2 66.8-161.2c43-43.1 100.3-66.8 161.2-66.8s118.2 23.7 161.2 66.8c43.1 43 66.8 100.3 66.8 161.2s-23.7 118.2-66.8 161.2z'));\nexports.MoreOutline = getIcon('more', outline, getNode(newViewBox, 'M456 231a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 280a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 280a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.OrderedListOutline = getIcon('ordered-list', outline, getNode(newViewBox, 'M920 760H336c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-568H336c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H336c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM216 712H100c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h72.4v20.5h-35.7c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h35.7V838H100c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h116c2.2 0 4-1.8 4-4V716c0-2.2-1.8-4-4-4zM100 188h38v120c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V152c0-4.4-3.6-8-8-8h-78c-2.2 0-4 1.8-4 4v36c0 2.2 1.8 4 4 4zm116 240H100c-2.2 0-4 1.8-4 4v36c0 2.2 1.8 4 4 4h68.4l-70.3 77.7a8.3 8.3 0 0 0-2.1 5.4V592c0 2.2 1.8 4 4 4h116c2.2 0 4-1.8 4-4v-36c0-2.2-1.8-4-4-4h-68.4l70.3-77.7a8.3 8.3 0 0 0 2.1-5.4V432c0-2.2-1.8-4-4-4z'));\nexports.NumberOutline = getIcon('number', outline, getNode(newViewBox, 'M872 394c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H708V152c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v166H400V152c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v166H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h168v236H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h168v166c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V706h228v166c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V706h164c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H708V394h164zM628 630H400V394h228v236z'));\nexports.PauseOutline = getIcon('pause', outline, getNode(newViewBox, 'M304 176h80v672h-80zm408 0h-64c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8z'));\nexports.PercentageOutline = getIcon('percentage', outline, getNode(newViewBox, 'M855.7 210.8l-42.4-42.4a8.03 8.03 0 0 0-11.3 0L168.3 801.9a8.03 8.03 0 0 0 0 11.3l42.4 42.4c3.1 3.1 8.2 3.1 11.3 0L855.6 222c3.2-3 3.2-8.1.1-11.2zM304 448c79.4 0 144-64.6 144-144s-64.6-144-144-144-144 64.6-144 144 64.6 144 144 144zm0-216c39.7 0 72 32.3 72 72s-32.3 72-72 72-72-32.3-72-72 32.3-72 72-72zm416 344c-79.4 0-144 64.6-144 144s64.6 144 144 144 144-64.6 144-144-64.6-144-144-144zm0 216c-39.7 0-72-32.3-72-72s32.3-72 72-72 72 32.3 72 72-32.3 72-72 72z'));\nexports.PaperClipOutline = getIcon('paper-clip', outline, getNode(newViewBox, 'M779.3 196.6c-94.2-94.2-247.6-94.2-341.7 0l-261 260.8c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0 0 12.7 0l261-260.8c32.4-32.4 75.5-50.2 121.3-50.2s88.9 17.8 121.2 50.2c32.4 32.4 50.2 75.5 50.2 121.2 0 45.8-17.8 88.8-50.2 121.2l-266 265.9-43.1 43.1c-40.3 40.3-105.8 40.3-146.1 0-19.5-19.5-30.2-45.4-30.2-73s10.7-53.5 30.2-73l263.9-263.8c6.7-6.6 15.5-10.3 24.9-10.3h.1c9.4 0 18.1 3.7 24.7 10.3 6.7 6.7 10.3 15.5 10.3 24.9 0 9.3-3.7 18.1-10.3 24.7L372.4 653c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0 0 12.7 0l215.6-215.6c19.9-19.9 30.8-46.3 30.8-74.4s-11-54.6-30.8-74.4c-41.1-41.1-107.9-41-149 0L463 364 224.8 602.1A172.22 172.22 0 0 0 174 724.8c0 46.3 18.1 89.8 50.8 122.5 33.9 33.8 78.3 50.7 122.7 50.7 44.4 0 88.8-16.9 122.6-50.7l309.2-309C824.8 492.7 850 432 850 367.5c.1-64.6-25.1-125.3-70.7-170.9z'));\nexports.PicCenterOutline = getIcon('pic-center', outline, getNode(newViewBox, 'M952 792H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-632H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM848 660c8.8 0 16-7.2 16-16V380c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h672zM232 436h560v152H232V436z'));\nexports.PicLeftOutline = getIcon('pic-left', outline, getNode(newViewBox, 'M952 792H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-632H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM608 660c8.8 0 16-7.2 16-16V380c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h512zM152 436h400v152H152V436zm552 210c0 4.4 3.6 8 8 8h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H712c-4.4 0-8 3.6-8 8v56zm8-204h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H712c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z'));\nexports.PlusOutline = getIcon('plus', outline, getNode(newViewBox, 'M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z', 'M176 474h672q8 0 8 8v60q0 8-8 8H176q-8 0-8-8v-60q0-8 8-8z'));\nexports.PicRightOutline = getIcon('pic-right', outline, getNode(newViewBox, 'M952 792H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-632H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-24 500c8.8 0 16-7.2 16-16V380c0-8.8-7.2-16-16-16H416c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h512zM472 436h400v152H472V436zM80 646c0 4.4 3.6 8 8 8h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H88c-4.4 0-8 3.6-8 8v56zm8-204h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H88c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z'));\nexports.PoundOutline = getIcon('pound', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm138-209.8H469.8v-4.7c27.4-17.2 43.9-50.4 43.9-91.1 0-14.1-2.2-27.9-5.3-41H607c4.4 0 8-3.6 8-8v-30c0-4.4-3.6-8-8-8H495c-7.2-22.6-13.4-45.7-13.4-70.5 0-43.5 34-70.2 87.3-70.2 21.5 0 42.5 4.1 60.4 10.5 5.2 1.9 10.6-2 10.6-7.6v-39.5c0-3.3-2.1-6.3-5.2-7.5-18.8-7.2-43.8-12.7-70.3-12.7-92.9 0-151.5 44.5-151.5 120.3 0 26.3 6.9 52 14.6 77.1H374c-4.4 0-8 3.6-8 8v30c0 4.4 3.6 8 8 8h67.1c3.4 14.7 5.9 29.4 5.9 44.2 0 45.2-28.8 83.3-72.8 94.2-3.6.9-6.1 4.1-6.1 7.8V722c0 4.4 3.6 8 8 8H650c4.4 0 8-3.6 8-8v-39.8c0-4.4-3.6-8-8-8z'));\nexports.PoweroffOutline = getIcon('poweroff', outline, getNode(newViewBox, 'M705.6 124.9a8 8 0 0 0-11.6 7.2v64.2c0 5.5 2.9 10.6 7.5 13.6a352.2 352.2 0 0 1 62.2 49.8c32.7 32.8 58.4 70.9 76.3 113.3a355 355 0 0 1 27.9 138.7c0 48.1-9.4 94.8-27.9 138.7a355.92 355.92 0 0 1-76.3 113.3 353.06 353.06 0 0 1-113.2 76.4c-43.8 18.6-90.5 28-138.5 28s-94.7-9.4-138.5-28a353.06 353.06 0 0 1-113.2-76.4A355.92 355.92 0 0 1 184 650.4a355 355 0 0 1-27.9-138.7c0-48.1 9.4-94.8 27.9-138.7 17.9-42.4 43.6-80.5 76.3-113.3 19-19 39.8-35.6 62.2-49.8 4.7-2.9 7.5-8.1 7.5-13.6V132c0-6-6.3-9.8-11.6-7.2C178.5 195.2 82 339.3 80 506.3 77.2 745.1 272.5 943.5 511.2 944c239 .5 432.8-193.3 432.8-432.4 0-169.2-97-315.7-238.4-386.7zM480 560h64c4.4 0 8-3.6 8-8V88c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z'));\nexports.PullRequestOutline = getIcon('pull-request', outline, getNode(newViewBox, 'M788 705.9V192c0-8.8-7.2-16-16-16H602v-68.8c0-6-7-9.4-11.7-5.7L462.7 202.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V240h114v465.9c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c.1-49.2-31.7-91-75.9-106.1zM752 860a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96zM384 212c0-61.8-50.2-112-112-112s-112 50.2-112 112c0 49.2 31.8 91 76 106.1V706c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c0-49.2-31.8-91-76-106.1V318.1c44.2-15.1 76-56.9 76-106.1zm-160 0a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm96 600a48.01 48.01 0 0 1-96 0 48.01 48.01 0 0 1 96 0z'));\nexports.QqOutline = getIcon('qq', outline, getNode(newViewBox, 'M824.8 613.2c-16-51.4-34.4-94.6-62.7-165.3C766.5 262.2 689.3 112 511.5 112 331.7 112 256.2 265.2 261 447.9c-28.4 70.8-46.7 113.7-62.7 165.3-34 109.5-23 154.8-14.6 155.8 18 2.2 70.1-82.4 70.1-82.4 0 49 25.2 112.9 79.8 159-26.4 8.1-85.7 29.9-71.6 53.8 11.4 19.3 196.2 12.3 249.5 6.3 53.3 6 238.1 13 249.5-6.3 14.1-23.8-45.3-45.7-71.6-53.8 54.6-46.2 79.8-110.1 79.8-159 0 0 52.1 84.6 70.1 82.4 8.5-1.1 19.5-46.4-14.5-155.8z'));\nexports.QuestionOutline = getIcon('question', outline, getNode(newViewBox, 'M764 280.9c-14-30.6-33.9-58.1-59.3-81.6C653.1 151.4 584.6 125 512 125s-141.1 26.4-192.7 74.2c-25.4 23.6-45.3 51-59.3 81.7-14.6 32-22 65.9-22 100.9v27c0 6.2 5 11.2 11.2 11.2h54c6.2 0 11.2-5 11.2-11.2v-27c0-99.5 88.6-180.4 197.6-180.4s197.6 80.9 197.6 180.4c0 40.8-14.5 79.2-42 111.2-27.2 31.7-65.6 54.4-108.1 64-24.3 5.5-46.2 19.2-61.7 38.8a110.85 110.85 0 0 0-23.9 68.6v31.4c0 6.2 5 11.2 11.2 11.2h54c6.2 0 11.2-5 11.2-11.2v-31.4c0-15.7 10.9-29.5 26-32.9 58.4-13.2 111.4-44.7 149.3-88.7 19.1-22.3 34-47.1 44.3-74 10.7-27.9 16.1-57.2 16.1-87 0-35-7.4-69-22-100.9zM512 787c-30.9 0-56 25.1-56 56s25.1 56 56 56 56-25.1 56-56-25.1-56-56-56z'));\nexports.RadarChartOutline = getIcon('radar-chart', outline, getNode(newViewBox, 'M926.8 397.1l-396-288a31.81 31.81 0 0 0-37.6 0l-396 288a31.99 31.99 0 0 0-11.6 35.8l151.3 466a32 32 0 0 0 30.4 22.1h489.5c13.9 0 26.1-8.9 30.4-22.1l151.3-466c4.2-13.2-.5-27.6-11.7-35.8zM838.6 417l-98.5 32-200-144.7V199.9L838.6 417zM466 567.2l-89.1 122.3-55.2-169.2L466 567.2zm-116.3-96.8L484 373.3v140.8l-134.3-43.7zM512 599.2l93.9 128.9H418.1L512 599.2zm28.1-225.9l134.2 97.1L540.1 514V373.3zM558 567.2l144.3-46.9-55.2 169.2L558 567.2zm-74-367.3v104.4L283.9 449l-98.5-32L484 199.9zM169.3 470.8l86.5 28.1 80.4 246.4-53.8 73.9-113.1-348.4zM327.1 853l50.3-69h269.3l50.3 69H327.1zm414.5-33.8l-53.8-73.9 80.4-246.4 86.5-28.1-113.1 348.4z'));\nexports.QrcodeOutline = getIcon('qrcode', outline, getNode(newViewBox, 'M468 128H160c-17.7 0-32 14.3-32 32v308c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zm-56 284H192V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210H136c-4.4 0-8 3.6-8 8v308c0 17.7 14.3 32 32 32h308c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zm-56 284H192V612h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm590-630H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V160c0-17.7-14.3-32-32-32zm-32 284H612V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210h-48c-4.4 0-8 3.6-8 8v134h-78V556c0-4.4-3.6-8-8-8H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h78v102c0 4.4 3.6 8 8 8h190c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zM746 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm142 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'));\nexports.RadiusBottomleftOutline = getIcon('radius-bottomleft', outline, getNode(newViewBox, 'M712 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm2-696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM136 374h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-174h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm752 624h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-230 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm230 624H358c-87.3 0-158-70.7-158-158V484c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v182c0 127 103 230 230 230h182c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.RadiusBottomrightOutline = getIcon('radius-bottomright', outline, getNode(newViewBox, 'M368 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-58-624h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm578 102h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm292 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm174 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm230 276h-56c-4.4 0-8 3.6-8 8v182c0 87.3-70.7 158-158 158H484c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h182c127 0 230-103 230-230V484c0-4.4-3.6-8-8-8z'));\nexports.RadiusUpleftOutline = getIcon('radius-upleft', outline, getNode(newViewBox, 'M656 200h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm58 624h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 650h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm696-696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-174 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm174-696H358c-127 0-230 103-230 230v182c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V358c0-87.3 70.7-158 158-158h182c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.RadiusUprightOutline = getIcon('radius-upright', outline, getNode(newViewBox, 'M368 128h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-2 696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm522-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 128h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm174 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-48-696H484c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h182c87.3 0 158 70.7 158 158v182c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V358c0-127-103-230-230-230z'));\nexports.RadiusSettingOutline = getIcon('radius-setting', outline, getNode(newViewBox, 'M396 140h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-44 684h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm524-204h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 344h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 160h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 160h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 160h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm320 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm160 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm140-284c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V370c0-127-103-230-230-230H484c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h170c87.3 0 158 70.7 158 158v170zM236 96H92c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h144c4.4 0 8-3.6 8-8V104c0-4.4-3.6-8-8-8zm-48 101.6c0 1.3-1.1 2.4-2.4 2.4h-43.2c-1.3 0-2.4-1.1-2.4-2.4v-43.2c0-1.3 1.1-2.4 2.4-2.4h43.2c1.3 0 2.4 1.1 2.4 2.4v43.2zM920 780H776c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h144c4.4 0 8-3.6 8-8V788c0-4.4-3.6-8-8-8zm-48 101.6c0 1.3-1.1 2.4-2.4 2.4h-43.2c-1.3 0-2.4-1.1-2.4-2.4v-43.2c0-1.3 1.1-2.4 2.4-2.4h43.2c1.3 0 2.4 1.1 2.4 2.4v43.2z'));\nexports.RedditOutline = getIcon('reddit', outline, getNode(newViewBox, 'M288 568a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm338.7 119.7c-23.1 18.2-68.9 37.8-114.7 37.8s-91.6-19.6-114.7-37.8c-14.4-11.3-35.3-8.9-46.7 5.5s-8.9 35.3 5.5 46.7C396.3 771.6 457.5 792 512 792s115.7-20.4 155.9-52.1a33.25 33.25 0 1 0-41.2-52.2zM960 456c0-61.9-50.1-112-112-112-42.1 0-78.7 23.2-97.9 57.6-57.6-31.5-127.7-51.8-204.1-56.5L612.9 195l127.9 36.9c11.5 32.6 42.6 56.1 79.2 56.1 46.4 0 84-37.6 84-84s-37.6-84-84-84c-32 0-59.8 17.9-74 44.2L603.5 123a33.2 33.2 0 0 0-39.6 18.4l-90.8 203.9c-74.5 5.2-142.9 25.4-199.2 56.2A111.94 111.94 0 0 0 176 344c-61.9 0-112 50.1-112 112 0 45.8 27.5 85.1 66.8 102.5-7.1 21-10.8 43-10.8 65.5 0 154.6 175.5 280 392 280s392-125.4 392-280c0-22.6-3.8-44.5-10.8-65.5C932.5 541.1 960 501.8 960 456zM820 172.5a31.5 31.5 0 1 1 0 63 31.5 31.5 0 0 1 0-63zM120 456c0-30.9 25.1-56 56-56a56 56 0 0 1 50.6 32.1c-29.3 22.2-53.5 47.8-71.5 75.9a56.23 56.23 0 0 1-35.1-52zm392 381.5c-179.8 0-325.5-95.6-325.5-213.5S332.2 410.5 512 410.5 837.5 506.1 837.5 624 691.8 837.5 512 837.5zM868.8 508c-17.9-28.1-42.2-53.7-71.5-75.9 9-18.9 28.3-32.1 50.6-32.1 30.9 0 56 25.1 56 56 .1 23.5-14.5 43.7-35.1 52zM624 568a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.RedoOutline = getIcon('redo', outline, getNode(newViewBox, 'M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2a318.64 318.64 0 0 1-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 0 1-68.6 101.7c-9.3 9.3-19.1 18-29.3 26L668.2 724a8 8 0 0 0-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 .8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z'));\nexports.ReloadOutline = getIcon('reload', outline, getNode(newViewBox, 'M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 0 0-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 0 1 655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 0 1 279 755.2a342.16 342.16 0 0 1-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 0 1 109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 0 0 3 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z'));\nexports.RetweetOutline = getIcon('retweet', outline, getNode(normalViewBox, 'M136 552h63.6c4.4 0 8-3.6 8-8V288.7h528.6v72.6c0 1.9.6 3.7 1.8 5.2a8.3 8.3 0 0 0 11.7 1.4L893 255.4c4.3-5 3.6-10.3 0-13.2L749.7 129.8a8.22 8.22 0 0 0-5.2-1.8c-4.6 0-8.4 3.8-8.4 8.4V209H199.7c-39.5 0-71.7 32.2-71.7 71.8V544c0 4.4 3.6 8 8 8zm752-80h-63.6c-4.4 0-8 3.6-8 8v255.3H287.8v-72.6c0-1.9-.6-3.7-1.8-5.2a8.3 8.3 0 0 0-11.7-1.4L131 768.6c-4.3 5-3.6 10.3 0 13.2l143.3 112.4c1.5 1.2 3.3 1.8 5.2 1.8 4.6 0 8.4-3.8 8.4-8.4V815h536.6c39.5 0 71.7-32.2 71.7-71.8V480c-.2-4.4-3.8-8-8.2-8z'));\nexports.RightOutline = getIcon('right', outline, getNode(newViewBox, 'M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z'));\nexports.RiseOutline = getIcon('rise', outline, getNode(newViewBox, 'M917 211.1l-199.2 24c-6.6.8-9.4 8.9-4.7 13.6l59.3 59.3-226 226-101.8-101.7c-6.3-6.3-16.4-6.2-22.6 0L100.3 754.1a8.03 8.03 0 0 0 0 11.3l45 45.2c3.1 3.1 8.2 3.1 11.3 0L433.3 534 535 635.7c6.3 6.2 16.4 6.2 22.6 0L829 364.5l59.3 59.3a8.01 8.01 0 0 0 13.6-4.7l24-199.2c.7-5.1-3.7-9.5-8.9-8.8z'));\nexports.RollbackOutline = getIcon('rollback', outline, getNode(newViewBox, 'M793 242H366v-74c0-6.7-7.7-10.4-12.9-6.3l-142 112a8 8 0 0 0 0 12.6l142 112c5.2 4.1 12.9.4 12.9-6.3v-74h415v470H175c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h618c35.3 0 64-28.7 64-64V306c0-35.3-28.7-64-64-64z'));\nexports.SafetyOutline = getIcon('safety', outline, getNode(normalViewBox, 'M512 64L128 192v384c0 212.1 171.9 384 384 384s384-171.9 384-384V192L512 64zm312 512c0 172.3-139.7 312-312 312S200 748.3 200 576V246l312-110 312 110v330z', 'M378.4 475.1a35.91 35.91 0 0 0-50.9 0 35.91 35.91 0 0 0 0 50.9l129.4 129.4 2.1 2.1a33.98 33.98 0 0 0 48.1 0L730.6 434a33.98 33.98 0 0 0 0-48.1l-2.8-2.8a33.98 33.98 0 0 0-48.1 0L483 579.7 378.4 475.1z'));\nexports.RobotOutline = getIcon('robot', outline, getNode(newViewBox, 'M300 328a60 60 0 1 0 120 0 60 60 0 1 0-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 1 0 120 0 60 60 0 1 0-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z'));\nexports.SearchOutline = getIcon('search', outline, getNode(newViewBox, 'M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0 0 11.6 0l43.6-43.5a8.2 8.2 0 0 0 0-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z'));\nexports.ScanOutline = getIcon('scan', outline, getNode(newViewBox, 'M136 384h56c4.4 0 8-3.6 8-8V200h176c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-37.6 0-68 30.4-68 68v180c0 4.4 3.6 8 8 8zm512-184h176v176c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V196c0-37.6-30.4-68-68-68H648c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM376 824H200V648c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v180c0 37.6 30.4 68 68 68h180c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm512-184h-56c-4.4 0-8 3.6-8 8v176H648c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h180c37.6 0 68-30.4 68-68V648c0-4.4-3.6-8-8-8zm16-164H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.ScissorOutline = getIcon('scissor', outline, getNode(newViewBox, 'M567.1 512l318.5-319.3c5-5 1.5-13.7-5.6-13.7h-90.5c-2.1 0-4.2.8-5.6 2.3l-273.3 274-90.2-90.5c12.5-22.1 19.7-47.6 19.7-74.8 0-83.9-68.1-152-152-152s-152 68.1-152 152 68.1 152 152 152c27.7 0 53.6-7.4 75.9-20.3l90 90.3-90.1 90.3A151.04 151.04 0 0 0 288 582c-83.9 0-152 68.1-152 152s68.1 152 152 152 152-68.1 152-152c0-27.2-7.2-52.7-19.7-74.8l90.2-90.5 273.3 274c1.5 1.5 3.5 2.3 5.6 2.3H880c7.1 0 10.7-8.6 5.6-13.7L567.1 512zM288 370c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm0 444c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z'));\nexports.SelectOutline = getIcon('select', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h360c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H184V184h656v320c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32zM653.3 599.4l52.2-52.2a8.01 8.01 0 0 0-4.7-13.6l-179.4-21c-5.1-.6-9.5 3.7-8.9 8.9l21 179.4c.8 6.6 8.9 9.4 13.6 4.7l52.4-52.4 256.2 256.2c3.1 3.1 8.2 3.1 11.3 0l42.4-42.4c3.1-3.1 3.1-8.2 0-11.3L653.3 599.4z'));\nexports.ShakeOutline = getIcon('shake', outline, getNode(newViewBox, 'M324 666a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm616.7-309.6L667.6 83.2C655.2 70.9 638.7 64 621.1 64s-34.1 6.8-46.5 19.2L83.3 574.5a65.85 65.85 0 0 0 0 93.1l273.2 273.2c12.3 12.3 28.9 19.2 46.5 19.2s34.1-6.8 46.5-19.2l491.3-491.3c25.6-25.7 25.6-67.5-.1-93.1zM403 880.1L143.9 621l477.2-477.2 259 259.2L403 880.1zM152.8 373.7a7.9 7.9 0 0 0 11.2 0L373.7 164a7.9 7.9 0 0 0 0-11.2l-38.4-38.4a7.9 7.9 0 0 0-11.2 0L114.3 323.9a7.9 7.9 0 0 0 0 11.2l38.5 38.6zm718.6 276.6a7.9 7.9 0 0 0-11.2 0L650.3 860.1a7.9 7.9 0 0 0 0 11.2l38.4 38.4a7.9 7.9 0 0 0 11.2 0L909.7 700a7.9 7.9 0 0 0 0-11.2l-38.3-38.5z'));\nexports.ShareAltOutline = getIcon('share-alt', outline, getNode(newViewBox, 'M752 664c-28.5 0-54.8 10-75.4 26.7L469.4 540.8a160.68 160.68 0 0 0 0-57.6l207.2-149.9C697.2 350 723.5 360 752 360c66.2 0 120-53.8 120-120s-53.8-120-120-120-120 53.8-120 120c0 11.6 1.6 22.7 4.7 33.3L439.9 415.8C410.7 377.1 364.3 352 312 352c-88.4 0-160 71.6-160 160s71.6 160 160 160c52.3 0 98.7-25.1 127.9-63.8l196.8 142.5c-3.1 10.6-4.7 21.8-4.7 33.3 0 66.2 53.8 120 120 120s120-53.8 120-120-53.8-120-120-120zm0-476c28.7 0 52 23.3 52 52s-23.3 52-52 52-52-23.3-52-52 23.3-52 52-52zM312 600c-48.5 0-88-39.5-88-88s39.5-88 88-88 88 39.5 88 88-39.5 88-88 88zm440 236c-28.7 0-52-23.3-52-52s23.3-52 52-52 52 23.3 52 52-23.3 52-52 52z'));\nexports.ShoppingCartOutline = getIcon('shopping-cart', outline, getNode(normalViewBox, 'M922.9 701.9H327.4l29.9-60.9 496.8-.9c16.8 0 31.2-12 34.2-28.6l68.8-385.1c1.8-10.1-.9-20.5-7.5-28.4a34.99 34.99 0 0 0-26.6-12.5l-632-2.1-5.4-25.4c-3.4-16.2-18-28-34.6-28H96.5a35.3 35.3 0 1 0 0 70.6h125.9L246 312.8l58.1 281.3-74.8 122.1a34.96 34.96 0 0 0-3 36.8c6 11.9 18.1 19.4 31.5 19.4h62.8a102.43 102.43 0 0 0-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7h161.1a102.43 102.43 0 0 0-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7H923c19.4 0 35.3-15.8 35.3-35.3a35.42 35.42 0 0 0-35.4-35.2zM305.7 253l575.8 1.9-56.4 315.8-452.3.8L305.7 253zm96.9 612.7c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 0 1-31.6 31.6zm325.1 0c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 0 1-31.6 31.6z'));\nexports.ShrinkOutline = getIcon('shrink', outline, getNode(newViewBox, 'M881.7 187.4l-45.1-45.1a8.03 8.03 0 0 0-11.3 0L667.8 299.9l-54.7-54.7a7.94 7.94 0 0 0-13.5 4.7L576.1 439c-.6 5.2 3.7 9.5 8.9 8.9l189.2-23.5c6.6-.8 9.3-8.8 4.7-13.5l-54.7-54.7 157.6-157.6c3-3 3-8.1-.1-11.2zM439 576.1l-189.2 23.5c-6.6.8-9.3 8.9-4.7 13.5l54.7 54.7-157.5 157.5a8.03 8.03 0 0 0 0 11.3l45.1 45.1c3.1 3.1 8.2 3.1 11.3 0l157.6-157.6 54.7 54.7a7.94 7.94 0 0 0 13.5-4.7L447.9 585a7.9 7.9 0 0 0-8.9-8.9z'));\nexports.SlackOutline = getIcon('slack', outline, getNode(newViewBox, 'M409.4 128c-42.4 0-76.7 34.4-76.7 76.8 0 20.3 8.1 39.9 22.4 54.3a76.74 76.74 0 0 0 54.3 22.5h76.7v-76.8c0-42.3-34.3-76.7-76.7-76.8zm0 204.8H204.7c-42.4 0-76.7 34.4-76.7 76.8s34.4 76.8 76.7 76.8h204.6c42.4 0 76.7-34.4 76.7-76.8.1-42.4-34.3-76.8-76.6-76.8zM614 486.4c42.4 0 76.8-34.4 76.7-76.8V204.8c0-42.4-34.3-76.8-76.7-76.8-42.4 0-76.7 34.4-76.7 76.8v204.8c0 42.5 34.3 76.8 76.7 76.8zm281.4-76.8c0-42.4-34.4-76.8-76.7-76.8S742 367.2 742 409.6v76.8h76.7c42.3 0 76.7-34.4 76.7-76.8zm-76.8 128H614c-42.4 0-76.7 34.4-76.7 76.8 0 20.3 8.1 39.9 22.4 54.3a76.74 76.74 0 0 0 54.3 22.5h204.6c42.4 0 76.7-34.4 76.7-76.8.1-42.4-34.3-76.7-76.7-76.8zM614 742.4h-76.7v76.8c0 42.4 34.4 76.8 76.7 76.8 42.4 0 76.8-34.4 76.7-76.8.1-42.4-34.3-76.7-76.7-76.8zM409.4 537.6c-42.4 0-76.7 34.4-76.7 76.8v204.8c0 42.4 34.4 76.8 76.7 76.8 42.4 0 76.8-34.4 76.7-76.8V614.4c0-20.3-8.1-39.9-22.4-54.3a76.92 76.92 0 0 0-54.3-22.5zM128 614.4c0 20.3 8.1 39.9 22.4 54.3a76.74 76.74 0 0 0 54.3 22.5c42.4 0 76.8-34.4 76.7-76.8v-76.8h-76.7c-42.3 0-76.7 34.4-76.7 76.8z'));\nexports.SmallDashOutline = getIcon('small-dash', outline, getNode(newViewBox, 'M112 476h72v72h-72zm182 0h72v72h-72zm364 0h72v72h-72zm182 0h72v72h-72zm-364 0h72v72h-72z'));\nexports.SolutionOutline = getIcon('solution', outline, getNode(newViewBox, 'M688 264c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48zm-8 136H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM480 544H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-48 308H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm356.8-74.4c29-26.3 47.2-64.3 47.2-106.6 0-79.5-64.5-144-144-144s-144 64.5-144 144c0 42.3 18.2 80.3 47.2 106.6-57 32.5-96.2 92.7-99.2 162.1-.2 4.5 3.5 8.3 8 8.3h48.1c4.2 0 7.7-3.3 8-7.6C564 871.2 621.7 816 692 816s128 55.2 131.9 124.4c.2 4.2 3.7 7.6 8 7.6H880c4.6 0 8.2-3.8 8-8.3-2.9-69.5-42.2-129.6-99.2-162.1zM692 591c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z'));\nexports.SketchOutline = getIcon('sketch', outline, getNode(newViewBox, 'M925.6 405.1l-203-253.7a6.5 6.5 0 0 0-5-2.4H306.4c-1.9 0-3.8.9-5 2.4l-203 253.7a6.5 6.5 0 0 0 .2 8.3l408.6 459.5c1.2 1.4 3 2.1 4.8 2.1 1.8 0 3.5-.8 4.8-2.1l408.6-459.5a6.5 6.5 0 0 0 .2-8.3zM645.2 206.4l34.4 133.9-132.5-133.9h98.1zm8.2 178.5H370.6L512 242l141.4 142.9zM378.8 206.4h98.1L344.3 340.3l34.5-133.9zm-53.4 7l-44.1 171.5h-93.1l137.2-171.5zM194.6 434.9H289l125.8 247.7-220.2-247.7zM512 763.4L345.1 434.9h333.7L512 763.4zm97.1-80.8L735 434.9h94.4L609.1 682.6zm133.6-297.7l-44.1-171.5 137.2 171.5h-93.1z'));\nexports.SortDescendingOutline = getIcon('sort-descending', outline, getNode(newViewBox, 'M839.6 433.8L749 150.5a9.24 9.24 0 0 0-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 0 0-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 0 0-9.2-9.3zM310.3 167.1a8 8 0 0 0-12.6 0L185.7 309c-4.2 5.3-.4 13 6.3 13h76v530c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V322h76c6.7 0 10.5-7.8 6.3-13l-112-141.9z'));\nexports.SortAscendingOutline = getIcon('sort-ascending', outline, getNode(newViewBox, 'M839.6 433.8L749 150.5a9.24 9.24 0 0 0-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 0 0-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 0 0-9.2-9.3zM416 702h-76V172c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v530h-76c-6.7 0-10.5 7.8-6.3 13l112 141.9a8 8 0 0 0 12.6 0l112-141.9c4.1-5.2.4-13-6.3-13z'));\nexports.StockOutline = getIcon('stock', outline, getNode(newViewBox, 'M904 747H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM165.7 621.8l39.7 39.5c3.1 3.1 8.2 3.1 11.3 0l234.7-233.9 97.6 97.3a32.11 32.11 0 0 0 45.2 0l264.2-263.2c3.1-3.1 3.1-8.2 0-11.3l-39.7-39.6a8.03 8.03 0 0 0-11.3 0l-235.7 235-97.7-97.3a32.11 32.11 0 0 0-45.2 0L165.7 610.5a7.94 7.94 0 0 0 0 11.3z'));\nexports.SwapLeftOutline = getIcon('swap-left', outline, getNode(normalViewBox, 'M872 572H266.8l144.3-183c4.1-5.2.4-13-6.3-13H340c-9.8 0-19.1 4.5-25.1 12.2l-164 208c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z'));\nexports.SwapRightOutline = getIcon('swap-right', outline, getNode(normalViewBox, 'M873.1 596.2l-164-208A32 32 0 0 0 684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z'));\nexports.StrikethroughOutline = getIcon('strikethrough', outline, getNode(newViewBox, 'M952 474H569.9c-10-2-20.5-4-31.6-6-15.9-2.9-22.2-4.1-30.8-5.8-51.3-10-82.2-20-106.8-34.2-35.1-20.5-52.2-48.3-52.2-85.1 0-37 15.2-67.7 44-89 28.4-21 68.8-32.1 116.8-32.1 54.8 0 97.1 14.4 125.8 42.8 14.6 14.4 25.3 32.1 31.8 52.6 1.3 4.1 2.8 10 4.3 17.8.9 4.8 5.2 8.2 9.9 8.2h72.8c5.6 0 10.1-4.6 10.1-10.1v-1c-.7-6.8-1.3-12.1-2-16-7.3-43.5-28-81.7-59.7-110.3-44.4-40.5-109.7-61.8-188.7-61.8-72.3 0-137.4 18.1-183.3 50.9-25.6 18.4-45.4 41.2-58.6 67.7-13.5 27.1-20.3 58.4-20.3 92.9 0 29.5 5.7 54.5 17.3 76.5 8.3 15.7 19.6 29.5 34.1 42H72c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h433.2c2.1.4 3.9.8 5.9 1.2 30.9 6.2 49.5 10.4 66.6 15.2 23 6.5 40.6 13.3 55.2 21.5 35.8 20.2 53.3 49.2 53.3 89 0 35.3-15.5 66.8-43.6 88.8-30.5 23.9-75.6 36.4-130.5 36.4-43.7 0-80.7-8.5-110.2-25-29.1-16.3-49.1-39.8-59.7-69.5-.8-2.2-1.7-5.2-2.7-9-1.2-4.4-5.3-7.5-9.7-7.5h-79.7c-5.6 0-10.1 4.6-10.1 10.1v1c.2 2.3.4 4.2.6 5.7 6.5 48.8 30.3 88.8 70.7 118.8 47.1 34.8 113.4 53.2 191.8 53.2 84.2 0 154.8-19.8 204.2-57.3 25-18.9 44.2-42.2 57.1-69 13-27.1 19.7-57.9 19.7-91.5 0-31.8-5.8-58.4-17.8-81.4-5.8-11.2-13.1-21.5-21.8-30.8H952c4.4 0 8-3.6 8-8v-60a8 8 0 0 0-8-7.9z'));\nexports.SwapOutline = getIcon('swap', outline, getNode(newViewBox, 'M847.9 592H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h605.2L612.9 851c-4.1 5.2-.4 13 6.3 13h72.5c4.9 0 9.5-2.2 12.6-6.1l168.8-214.1c16.5-21 1.6-51.8-25.2-51.8zM872 356H266.8l144.3-183c4.1-5.2.4-13-6.3-13h-72.5c-4.9 0-9.5 2.2-12.6 6.1L150.9 380.2c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z'));\nexports.SyncOutline = getIcon('sync', outline, getNode(newViewBox, 'M168 504.2c1-43.7 10-86.1 26.9-126 17.3-41 42.1-77.7 73.7-109.4S337 212.3 378 195c42.4-17.9 87.4-27 133.9-27s91.5 9.1 133.8 27A341.5 341.5 0 0 1 755 268.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 0 0 3 14.1l175.7 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c0-6.7-7.7-10.5-12.9-6.3l-56.4 44.1C765.8 155.1 646.2 92 511.8 92 282.7 92 96.3 275.6 92 503.8a8 8 0 0 0 8 8.2h60c4.4 0 7.9-3.5 8-7.8zm756 7.8h-60c-4.4 0-7.9 3.5-8 7.8-1 43.7-10 86.1-26.9 126-17.3 41-42.1 77.8-73.7 109.4A342.45 342.45 0 0 1 512.1 856a342.24 342.24 0 0 1-243.2-100.8c-9.9-9.9-19.2-20.4-27.8-31.4l60.2-47a8 8 0 0 0-3-14.1l-175.7-43c-5-1.2-9.9 2.6-9.9 7.7l-.7 181c0 6.7 7.7 10.5 12.9 6.3l56.4-44.1C258.2 868.9 377.8 932 512.2 932c229.2 0 415.5-183.7 419.8-411.8a8 8 0 0 0-8-8.2z'));\nexports.TableOutline = getIcon('table', outline, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 208H676V232h212v136zm0 224H676V432h212v160zM412 432h200v160H412V432zm200-64H412V232h200v136zm-476 64h212v160H136V432zm0-200h212v136H136V232zm0 424h212v136H136V656zm276 0h200v136H412V656zm476 136H676V656h212v136z'));\nexports.TeamOutline = getIcon('team', outline, getNode(newViewBox, 'M824.2 699.9a301.55 301.55 0 0 0-86.4-60.4C783.1 602.8 812 546.8 812 484c0-110.8-92.4-201.7-203.2-200-109.1 1.7-197 90.6-197 200 0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 0 0-86.4 60.4C345 754.6 314 826.8 312 903.8a8 8 0 0 0 8 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5A226.62 226.62 0 0 1 612 684c60.9 0 118.2 23.7 161.3 66.8C814.5 792 838 846.3 840 904.3c.1 4.3 3.7 7.7 8 7.7h56a8 8 0 0 0 8-8.2c-2-77-33-149.2-87.8-203.9zM612 612c-34.2 0-66.4-13.3-90.5-37.5a126.86 126.86 0 0 1-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4 0 34.2-13.3 66.3-37.5 90.5A127.3 127.3 0 0 1 612 612zM361.5 510.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 0 1-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.9-1.7-203.3 89.2-203.3 199.9 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 0 0 8 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.9-1 6.5-4.7 6-8.7z'));\nexports.TaobaoOutline = getIcon('taobao', outline, getNode(newViewBox, 'M168.5 273.7a68.7 68.7 0 1 0 137.4 0 68.7 68.7 0 1 0-137.4 0zm730 79.2s-23.7-184.4-426.9-70.1c17.3-30 25.6-49.5 25.6-49.5L396.4 205s-40.6 132.6-113 194.4c0 0 70.1 40.6 69.4 39.4 20.1-20.1 38.2-40.6 53.7-60.4 16.1-7 31.5-13.6 46.7-19.8-18.6 33.5-48.7 83.8-78.8 115.6l42.4 37s28.8-27.7 60.4-61.2h36v61.8H372.9v49.5h140.3v118.5c-1.7 0-3.6 0-5.4-.2-15.4-.7-39.5-3.3-49-18.2-11.5-18.1-3-51.5-2.4-71.9h-97l-3.4 1.8s-35.5 159.1 102.3 155.5c129.1 3.6 203-36 238.6-63.1l14.2 52.6 79.6-33.2-53.9-131.9-64.6 20.1 12.1 45.2c-16.6 12.4-35.6 21.7-56.2 28.4V561.3h137.1v-49.5H628.1V450h137.6v-49.5H521.3c17.6-21.4 31.5-41.1 35-53.6l-42.5-11.6c182.8-65.5 284.5-54.2 283.6 53.2v282.8s10.8 97.1-100.4 90.1l-60.2-12.9-14.2 57.1S882.5 880 903.7 680.2c21.3-200-5.2-327.3-5.2-327.3zm-707.4 18.3l-45.4 69.7 83.6 52.1s56 28.5 29.4 81.9C233.8 625.5 112 736.3 112 736.3l109 68.1c75.4-163.7 70.5-142 89.5-200.7 19.5-60.1 23.7-105.9-9.4-139.1-42.4-42.6-47-46.6-110-93.4z'));\nexports.ToTopOutline = getIcon('to-top', outline, getNode(newViewBox, 'M885 780H165c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM400 325.7h73.9V664c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V325.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 171a8 8 0 0 0-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13z'));\nexports.TrademarkOutline = getIcon('trademark', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm87.5-334.7c34.8-12.8 78.4-49 78.4-119.2 0-71.2-45.5-131.1-144.2-131.1H378c-4.4 0-8 3.6-8 8v410c0 4.4 3.6 8 8 8h54.5c4.4 0 8-3.6 8-8V561.2h88.7l74.6 159.2c1.3 2.8 4.1 4.6 7.2 4.6h62a7.9 7.9 0 0 0 7.1-11.5l-80.6-164.2zM522 505h-81.5V357h83.4c48 0 80.9 25.3 80.9 75.5 0 46.9-29.8 72.5-82.8 72.5z'));\nexports.TransactionOutline = getIcon('transaction', outline, getNode(newViewBox, 'M668.6 320c0-4.4-3.6-8-8-8h-54.5c-3 0-5.8 1.7-7.1 4.4l-84.7 168.8H511l-84.7-168.8a8 8 0 0 0-7.1-4.4h-55.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.8l103.9 191.6h-57c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76v39h-76c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76V704c0 4.4 3.6 8 8 8h49.9c4.4 0 8-3.6 8-8v-63.5h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8h-76.3v-39h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8H564l103.7-191.6c.5-1.1.9-2.4.9-3.7zM157.9 504.2a352.7 352.7 0 0 1 103.5-242.4c32.5-32.5 70.3-58.1 112.4-75.9 43.6-18.4 89.9-27.8 137.6-27.8 47.8 0 94.1 9.3 137.6 27.8 42.1 17.8 79.9 43.4 112.4 75.9 10 10 19.3 20.5 27.9 31.4l-50 39.1a8 8 0 0 0 3 14.1l156.8 38.3c5 1.2 9.9-2.6 9.9-7.7l.8-161.5c0-6.7-7.7-10.5-12.9-6.3l-47.8 37.4C770.7 146.3 648.6 82 511.5 82 277 82 86.3 270.1 82 503.8a8 8 0 0 0 8 8.2h60c4.3 0 7.8-3.5 7.9-7.8zM934 512h-60c-4.3 0-7.9 3.5-8 7.8a352.7 352.7 0 0 1-103.5 242.4 352.57 352.57 0 0 1-112.4 75.9c-43.6 18.4-89.9 27.8-137.6 27.8s-94.1-9.3-137.6-27.8a352.57 352.57 0 0 1-112.4-75.9c-10-10-19.3-20.5-27.9-31.4l49.9-39.1a8 8 0 0 0-3-14.1l-156.8-38.3c-5-1.2-9.9 2.6-9.9 7.7l-.8 161.7c0 6.7 7.7 10.5 12.9 6.3l47.8-37.4C253.3 877.7 375.4 942 512.5 942 747 942 937.7 753.9 942 520.2a8 8 0 0 0-8-8.2z'));\nexports.TwitterOutline = getIcon('twitter', outline, getNode(newViewBox, 'M928 254.3c-30.6 13.2-63.9 22.7-98.2 26.4a170.1 170.1 0 0 0 75-94 336.64 336.64 0 0 1-108.2 41.2A170.1 170.1 0 0 0 672 174c-94.5 0-170.5 76.6-170.5 170.6 0 13.2 1.6 26.4 4.2 39.1-141.5-7.4-267.7-75-351.6-178.5a169.32 169.32 0 0 0-23.2 86.1c0 59.2 30.1 111.4 76 142.1a172 172 0 0 1-77.1-21.7v2.1c0 82.9 58.6 151.6 136.7 167.4a180.6 180.6 0 0 1-44.9 5.8c-11.1 0-21.6-1.1-32.2-2.6C211 652 273.9 701.1 348.8 702.7c-58.6 45.9-132 72.9-211.7 72.9-14.3 0-27.5-.5-41.2-2.1C171.5 822 261.2 850 357.8 850 671.4 850 843 590.2 843 364.7c0-7.4 0-14.8-.5-22.2 33.2-24.3 62.3-54.4 85.5-88.2z'));\nexports.UnderlineOutline = getIcon('underline', outline, getNode(newViewBox, 'M824 804H200c-4.4 0-8 3.4-8 7.6v60.8c0 4.2 3.6 7.6 8 7.6h624c4.4 0 8-3.4 8-7.6v-60.8c0-4.2-3.6-7.6-8-7.6zm-312-76c69.4 0 134.6-27.1 183.8-76.2C745 602.7 772 537.4 772 468V156c0-6.6-5.4-12-12-12h-60c-6.6 0-12 5.4-12 12v312c0 97-79 176-176 176s-176-79-176-176V156c0-6.6-5.4-12-12-12h-60c-6.6 0-12 5.4-12 12v312c0 69.4 27.1 134.6 76.2 183.8C377.3 701 442.6 728 512 728z'));\nexports.UndoOutline = getIcon('undo', outline, getNode(newViewBox, 'M511.4 124C290.5 124.3 112 303 112 523.9c0 128 60.2 242 153.8 315.2l-37.5 48c-4.1 5.3-.3 13 6.3 12.9l167-.8c5.2 0 9-4.9 7.7-9.9L369.8 727a8 8 0 0 0-14.1-3L315 776.1c-10.2-8-20-16.7-29.3-26a318.64 318.64 0 0 1-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 0 1-68.6 101.7c-7.5 7.5-15.3 14.5-23.4 21.2a7.93 7.93 0 0 0-1.2 11.1l39.4 50.5c2.8 3.5 7.9 4.1 11.4 1.3C854.5 760.8 912 649.1 912 523.9c0-221.1-179.4-400.2-400.6-399.9z'));\nexports.UnorderedListOutline = getIcon('unordered-list', outline, getNode(newViewBox, 'M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.UpOutline = getIcon('up', outline, getNode(newViewBox, 'M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 0 0 140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z'));\nexports.UploadOutline = getIcon('upload', outline, getNode(newViewBox, 'M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 0 0-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z'));\nexports.UserAddOutline = getIcon('user-add', outline, getNode(newViewBox, 'M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 0 0-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 0 0-80.4 119.5A373.6 373.6 0 0 0 137 888.8a8 8 0 0 0 8 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 0 0 8.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 0 1 340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 0 1 683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.UsergroupAddOutline = getIcon('usergroup-add', outline, getNode(newViewBox, 'M892 772h-80v-80c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v80h-80c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h80v80c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-80h80c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM373.5 498.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 0 1-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.8-1.7-203.2 89.2-203.2 200 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 0 0 8 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.8-1.1 6.4-4.8 5.9-8.8zM824 472c0-109.4-87.9-198.3-196.9-200C516.3 270.3 424 361.2 424 472c0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 0 0-86.4 60.4C357 742.6 326 814.8 324 891.8a8 8 0 0 0 8 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5C505.8 695.7 563 672 624 672c110.4 0 200-89.5 200-200zm-109.5 90.5C690.3 586.7 658.2 600 624 600s-66.3-13.3-90.5-37.5a127.26 127.26 0 0 1-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4-.1 34.2-13.4 66.3-37.6 90.5z'));\nexports.UserOutline = getIcon('user', outline, getNode(newViewBox, 'M858.5 763.6a374 374 0 0 0-80.6-119.5 375.63 375.63 0 0 0-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 0 0-80.6 119.5A371.7 371.7 0 0 0 136 901.8a8 8 0 0 0 8 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 0 0 8-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z'));\nexports.UserDeleteOutline = getIcon('user-delete', outline, getNode(newViewBox, 'M678.3 655.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 0 0-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 518 759.6 444.7 759.6 362c0-137-110.8-248-247.5-248S264.7 225 264.7 362c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 0 0-80.4 119.5A373.6 373.6 0 0 0 137 901.8a8 8 0 0 0 8 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 641.2 432.2 610 512.2 610c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 0 0 8.1.3zM512.2 534c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 0 1 340.5 362c0-45.9 17.9-89.1 50.3-121.6S466.3 190 512.2 190s88.9 17.9 121.4 50.4A171.2 171.2 0 0 1 683.9 362c0 45.9-17.9 89.1-50.3 121.6C601.1 516.1 558 534 512.2 534zM880 772H640c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h240c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.UsergroupDeleteOutline = getIcon('usergroup-delete', outline, getNode(newViewBox, 'M888 784H664c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h224c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM373.5 510.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 0 1-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.9-1.7-203.3 89.2-203.3 199.9 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 0 0 8 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.9-1 6.5-4.7 6-8.7zM824 484c0-109.4-87.9-198.3-196.9-200C516.3 282.3 424 373.2 424 484c0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 0 0-86.4 60.4C357 754.6 326 826.8 324 903.8a8 8 0 0 0 8 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5C505.8 707.7 563 684 624 684c110.4 0 200-89.5 200-200zm-109.5 90.5C690.3 598.7 658.2 612 624 612s-66.3-13.3-90.5-37.5a127.26 127.26 0 0 1-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4-.1 34.2-13.4 66.3-37.6 90.5z'));\nexports.VerticalAlignBottomOutline = getIcon('vertical-align-bottom', outline, getNode(newViewBox, 'M859.9 780H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zM505.7 669a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V176c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8z'));\nexports.VerticalAlignMiddleOutline = getIcon('vertical-align-middle', outline, getNode(newViewBox, 'M859.9 474H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zm-353.6-74.7c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H550V104c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v156h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.6zm11.4 225.4a7.14 7.14 0 0 0-11.3 0L405.6 752.3a7.23 7.23 0 0 0 5.7 11.7H474v156c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V764h62.8c6 0 9.4-7 5.7-11.7L517.7 624.7z'));\nexports.VerticalAlignTopOutline = getIcon('vertical-align-top', outline, getNode(newViewBox, 'M859.9 168H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zM518.3 355a8 8 0 0 0-12.6 0l-112 141.7a7.98 7.98 0 0 0 6.3 12.9h73.9V848c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V509.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 355z'));\nexports.VerticalRightOutline = getIcon('vertical-right', outline, getNode(newViewBox, 'M326 164h-64c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V172c0-4.4-3.6-8-8-8zm444 72.4V164c0-6.8-7.9-10.5-13.1-6.1L335 512l421.9 354.1c5.2 4.4 13.1.7 13.1-6.1v-72.4c0-9.4-4.2-18.4-11.4-24.5L459.4 512l299.2-251.1c7.2-6.1 11.4-15.1 11.4-24.5z'));\nexports.VerticalLeftOutline = getIcon('vertical-left', outline, getNode(newViewBox, 'M762 164h-64c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V172c0-4.4-3.6-8-8-8zm-508 0v72.4c0 9.5 4.2 18.4 11.4 24.5L564.6 512 265.4 763.1c-7.2 6.1-11.4 15-11.4 24.5V860c0 6.8 7.9 10.5 13.1 6.1L689 512 267.1 157.9A7.95 7.95 0 0 0 254 164z'));\nexports.WifiOutline = getIcon('wifi', outline, getNode(newViewBox, 'M723 620.5C666.8 571.6 593.4 542 513 542s-153.8 29.6-210.1 78.6a8.1 8.1 0 0 0-.8 11.2l36 42.9c2.9 3.4 8 3.8 11.4.9C393.1 637.2 450.3 614 513 614s119.9 23.2 163.5 61.5c3.4 2.9 8.5 2.5 11.4-.9l36-42.9c2.8-3.3 2.4-8.3-.9-11.2zm117.4-140.1C751.7 406.5 637.6 362 513 362s-238.7 44.5-327.5 118.4a8.05 8.05 0 0 0-1 11.3l36 42.9c2.8 3.4 7.9 3.8 11.2 1C308 472.2 406.1 434 513 434s205 38.2 281.2 101.6c3.4 2.8 8.4 2.4 11.2-1l36-42.9c2.8-3.4 2.4-8.5-1-11.3zm116.7-139C835.7 241.8 680.3 182 511 182c-168.2 0-322.6 59-443.7 157.4a8 8 0 0 0-1.1 11.4l36 42.9c2.8 3.3 7.8 3.8 11.1 1.1C222 306.7 360.3 254 511 254c151.8 0 291 53.5 400 142.7 3.4 2.8 8.4 2.3 11.2-1.1l36-42.9c2.9-3.4 2.4-8.5-1.1-11.3zM448 778a64 64 0 1 0 128 0 64 64 0 1 0-128 0z'));\nexports.ZhihuOutline = getIcon('zhihu', outline, getNode(newViewBox, 'M564.7 230.1V803h60l25.2 71.4L756.3 803h131.5V230.1H564.7zm247.7 497h-59.9l-75.1 50.4-17.8-50.4h-18V308.3h170.7v418.8zM526.1 486.9H393.3c2.1-44.9 4.3-104.3 6.6-172.9h130.9l-.1-8.1c0-.6-.2-14.7-2.3-29.1-2.1-15-6.6-34.9-21-34.9H287.8c4.4-20.6 15.7-69.7 29.4-93.8l6.4-11.2-12.9-.7c-.8 0-19.6-.9-41.4 10.6-35.7 19-51.7 56.4-58.7 84.4-18.4 73.1-44.6 123.9-55.7 145.6-3.3 6.4-5.3 10.2-6.2 12.8-1.8 4.9-.8 9.8 2.8 13 10.5 9.5 38.2-2.9 38.5-3 .6-.3 1.3-.6 2.2-1 13.9-6.3 55.1-25 69.8-84.5h56.7c.7 32.2 3.1 138.4 2.9 172.9h-141l-2.1 1.5c-23.1 16.9-30.5 63.2-30.8 65.2l-1.4 9.2h167c-12.3 78.3-26.5 113.4-34 127.4-3.7 7-7.3 14-10.7 20.8-21.3 42.2-43.4 85.8-126.3 153.6-3.6 2.8-7 8-4.8 13.7 2.4 6.3 9.3 9.1 24.6 9.1 5.4 0 11.8-.3 19.4-1 49.9-4.4 100.8-18 135.1-87.6 17-35.1 31.7-71.7 43.9-108.9L497 850l5-12c.8-1.9 19-46.3 5.1-95.9l-.5-1.8-108.1-123-22 16.6c6.4-26.1 10.6-49.9 12.5-71.1h158.7v-8c0-40.1-18.5-63.9-19.2-64.9l-2.4-3z'));\nexports.WeiboOutline = getIcon('weibo', outline, getNode(newViewBox, 'M457.3 543c-68.1-17.7-145 16.2-174.6 76.2-30.1 61.2-1 129.1 67.8 151.3 71.2 23 155.2-12.2 184.4-78.3 28.7-64.6-7.2-131-77.6-149.2zm-52 156.2c-13.8 22.1-43.5 31.7-65.8 21.6-22-10-28.5-35.7-14.6-57.2 13.7-21.4 42.3-31 64.4-21.7 22.4 9.5 29.6 35 16 57.3zm45.5-58.5c-5 8.6-16.1 12.7-24.7 9.1-8.5-3.5-11.2-13.1-6.4-21.5 5-8.4 15.6-12.4 24.1-9.1 8.7 3.2 11.8 12.9 7 21.5zm334.5-197.2c15 4.8 31-3.4 35.9-18.3 11.8-36.6 4.4-78.4-23.2-109a111.39 111.39 0 0 0-106-34.3 28.45 28.45 0 0 0-21.9 33.8 28.39 28.39 0 0 0 33.8 21.8c18.4-3.9 38.3 1.8 51.9 16.7a54.2 54.2 0 0 1 11.3 53.3 28.45 28.45 0 0 0 18.2 36zm99.8-206c-56.7-62.9-140.4-86.9-217.7-70.5a32.98 32.98 0 0 0-25.4 39.3 33.12 33.12 0 0 0 39.3 25.5c55-11.7 114.4 5.4 154.8 50.1 40.3 44.7 51.2 105.7 34 159.1-5.6 17.4 3.9 36 21.3 41.7 17.4 5.6 36-3.9 41.6-21.2v-.1c24.1-75.4 8.9-161.1-47.9-223.9zM729 499c-12.2-3.6-20.5-6.1-14.1-22.1 13.8-34.7 15.2-64.7.3-86-28-40.1-104.8-37.9-192.8-1.1 0 0-27.6 12.1-20.6-9.8 13.5-43.5 11.5-79.9-9.6-101-47.7-47.8-174.6 1.8-283.5 110.6C127.3 471.1 80 557.5 80 632.2 80 775.1 263.2 862 442.5 862c235 0 391.3-136.5 391.3-245 0-65.5-55.2-102.6-104.8-118zM443 810.8c-143 14.1-266.5-50.5-275.8-144.5-9.3-93.9 99.2-181.5 242.2-195.6 143-14.2 266.5 50.5 275.8 144.4C694.4 709 586 796.6 443 810.8z'));\nexports.WomanOutline = getIcon('woman', outline, getNode(newViewBox, 'M712.8 548.8c53.6-53.6 83.2-125 83.2-200.8 0-75.9-29.5-147.2-83.2-200.8C659.2 93.6 587.8 64 512 64s-147.2 29.5-200.8 83.2C257.6 200.9 228 272.1 228 348c0 63.8 20.9 124.4 59.4 173.9 7.3 9.4 15.2 18.3 23.7 26.9 8.5 8.5 17.5 16.4 26.8 23.7 39.6 30.8 86.3 50.4 136.1 57V736H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h114v140c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V812h114c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H550V629.5c61.5-8.2 118.2-36.1 162.8-80.7zM512 556c-55.6 0-107.7-21.6-147.1-60.9C325.6 455.8 304 403.6 304 348s21.6-107.7 60.9-147.1C404.2 161.5 456.4 140 512 140s107.7 21.6 147.1 60.9C698.4 240.2 720 292.4 720 348s-21.6 107.7-60.9 147.1C619.7 534.4 567.6 556 512 556z'));\nexports.ZoomInOutline = getIcon('zoom-in', outline, getNode(newViewBox, 'M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z'));\nexports.AccountBookTwoTone = getIcon('account-book', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M712 304c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H384v48c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H184v584h656V256H712v48zm-65.6 121.8l-89.3 164.1h49.1c4.4 0 8 3.6 8 8v21.3c0 4.4-3.6 8-8 8h-65.4v33.7h65.4c4.4 0 8 3.6 8 8v21.3c0 4.4-3.6 8-8 8h-65.4V752c0 4.4-3.6 8-8 8h-41.3c-4.4 0-8-3.6-8-8v-53.8h-65.1c-4.4 0-8-3.6-8-8v-21.3c0-4.4 3.6-8 8-8h65.1v-33.7h-65.1c-4.4 0-8-3.6-8-8v-21.3c0-4.4 3.6-8 8-8H467l-89.3-164c-2.1-3.9-.7-8.8 3.2-10.9 1.1-.7 2.5-1 3.8-1h46a8 8 0 0 1 7.1 4.4l73.4 145.4h2.8l73.4-145.4c1.3-2.7 4.1-4.4 7.1-4.4h45c4.5 0 8 3.6 7.9 8 0 1.3-.4 2.6-1 3.8z'\n ], [\n primaryColor,\n 'M639.5 414h-45c-3 0-5.8 1.7-7.1 4.4L514 563.8h-2.8l-73.4-145.4a8 8 0 0 0-7.1-4.4h-46c-1.3 0-2.7.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9l89.3 164h-48.6c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1v33.7h-65.1c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1V752c0 4.4 3.6 8 8 8h41.3c4.4 0 8-3.6 8-8v-53.8h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-65.4v-33.7h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-49.1l89.3-164.1c.6-1.2 1-2.5 1-3.8.1-4.4-3.4-8-7.9-8z'\n ], [\n primaryColor,\n 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584z'\n ]);\n});\nexports.ZoomOutOutline = getIcon('zoom-out', outline, getNode(newViewBox, 'M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z'));\nexports.AlertTwoTone = getIcon('alert', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M340 585c0-5.5 4.5-10 10-10h44c5.5 0 10 4.5 10 10v171h355V563c0-136.4-110.6-247-247-247S265 426.6 265 563v193h75V585z'\n ], [\n primaryColor,\n 'M216.9 310.5l39.6-39.6c3.1-3.1 3.1-8.2 0-11.3l-67.9-67.9a8.03 8.03 0 0 0-11.3 0l-39.6 39.6a8.03 8.03 0 0 0 0 11.3l67.9 67.9c3.1 3.1 8.1 3.1 11.3 0zm669.6-79.2l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-67.9 67.9a8.03 8.03 0 0 0 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l67.9-67.9c3.1-3.2 3.1-8.2 0-11.3zM484 180h56c4.4 0 8-3.6 8-8V76c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8zm348 712H192c-17.7 0-32 14.3-32 32v24c0 4.4 3.6 8 8 8h688c4.4 0 8-3.6 8-8v-24c0-17.7-14.3-32-32-32zm-639-96c0 17.7 14.3 32 32 32h574c17.7 0 32-14.3 32-32V563c0-176.2-142.8-319-319-319S193 386.8 193 563v233zm72-233c0-136.4 110.6-247 247-247s247 110.6 247 247v193H404V585c0-5.5-4.5-10-10-10h-44c-5.5 0-10 4.5-10 10v171h-75V563z'\n ]);\n});\nexports.ApiTwoTone = getIcon('api', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M148.2 674.6zm106.7-92.3c-25 25-38.7 58.1-38.7 93.4s13.8 68.5 38.7 93.4c25 25 58.1 38.7 93.4 38.7 35.3 0 68.5-13.8 93.4-38.7l59.4-59.4-186.8-186.8-59.4 59.4zm420.8-366.1c-35.3 0-68.5 13.8-93.4 38.7l-59.4 59.4 186.8 186.8 59.4-59.4c24.9-25 38.7-58.1 38.7-93.4s-13.8-68.5-38.7-93.4c-25-25-58.1-38.7-93.4-38.7z'\n ], [\n primaryColor,\n 'M578.9 546.7a8.03 8.03 0 0 0-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 0 0-11.3 0L363 475.3l-43-43a7.85 7.85 0 0 0-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2a199.45 199.45 0 0 0-58.6 140.4c-.2 39.5 11.2 79.1 34.3 113.1l-76.1 76.1a8.03 8.03 0 0 0 0 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 0 1-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7-24.9-24.9-38.7-58.1-38.7-93.4s13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4zm476-620.3l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 0 0-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 0 0 0 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7s68.4 13.7 93.4 38.7c24.9 24.9 38.7 58.1 38.7 93.4s-13.8 68.4-38.7 93.4z'\n ]);\n});\nexports.AppstoreTwoTone = getIcon('appstore', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm52-668H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452 132H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z'\n ], [\n secondaryColor,\n 'M212 212h200v200H212zm400 0h200v200H612zM212 612h200v200H212zm400 0h200v200H612z'\n ]);\n});\nexports.BankTwoTone = getIcon('bank', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M240.9 393.9h542.2L512 196.7z'], [\n primaryColor,\n 'M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 0 0-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM381 836H264V462h117v374zm189 0H453V462h117v374zm190 0H642V462h118v374zM240.9 393.9L512 196.7l271.1 197.2H240.9z'\n ]);\n});\nexports.AudioTwoTone = getIcon('audio', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 552c54.3 0 98-43.2 98-96V232c0-52.8-43.7-96-98-96s-98 43.2-98 96v224c0 52.8 43.7 96 98 96z'\n ], [\n primaryColor,\n 'M842 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1z'\n ], [\n primaryColor,\n 'M512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm-98-392c0-52.8 43.7-96 98-96s98 43.2 98 96v224c0 52.8-43.7 96-98 96s-98-43.2-98-96V232z'\n ]);\n});\nexports.BellTwoTone = getIcon('bell', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 220c-55.6 0-107.8 21.6-147.1 60.9S304 372.4 304 428v340h416V428c0-55.6-21.6-107.8-60.9-147.1S567.6 220 512 220zm280 208c0-141.1-104.3-257.8-240-277.2v.1c135.7 19.4 240 136 240 277.1zM472 150.9v-.1C336.3 170.2 232 286.9 232 428c0-141.1 104.3-257.7 240-277.1z'\n ], [\n primaryColor,\n 'M816 768h-24V428c0-141.1-104.3-257.7-240-277.1V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.9c-135.7 19.4-240 136-240 277.1v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48zm208-120H304V428c0-55.6 21.6-107.8 60.9-147.1S456.4 220 512 220c55.6 0 107.8 21.6 147.1 60.9S720 372.4 720 428v340z'\n ]);\n});\nexports.BookTwoTone = getIcon('book', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-260 72h96v209.9L621.5 312 572 347.4V136zM232 888V136h280v296.9c0 3.3 1 6.6 3 9.3a15.9 15.9 0 0 0 22.3 3.7l83.8-59.9 81.4 59.4c2.7 2 6 3.1 9.4 3.1 8.8 0 16-7.2 16-16V136h64v752H232z'\n ], [secondaryColor, 'M668 345.9V136h-96v211.4l49.5-35.4z'], [\n secondaryColor,\n 'M727.9 136v296.5c0 8.8-7.2 16-16 16-3.4 0-6.7-1.1-9.4-3.1L621.1 386l-83.8 59.9a15.9 15.9 0 0 1-22.3-3.7c-2-2.7-3-6-3-9.3V136H232v752h559.9V136h-64z'\n ]);\n});\nexports.BoxPlotTwoTone = getIcon('box-plot', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M296 368h88v288h-88zm152 0h280v288H448z'], [\n primaryColor,\n 'M952 224h-52c-4.4 0-8 3.6-8 8v248h-92V304c0-4.4-3.6-8-8-8H232c-4.4 0-8 3.6-8 8v176h-92V232c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V548h92v172c0 4.4 3.6 8 8 8h560c4.4 0 8-3.6 8-8V548h92v244c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zM384 656h-88V368h88v288zm344 0H448V368h280v288z'\n ]);\n});\nexports.BugTwoTone = getIcon('bug', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M308 412v268c0 36.78 9.68 71.96 27.8 102.9a205.39 205.39 0 0 0 73.3 73.3A202.68 202.68 0 0 0 512 884c36.78 0 71.96-9.68 102.9-27.8a205.39 205.39 0 0 0 73.3-73.3A202.68 202.68 0 0 0 716 680V412H308zm484 172v96c0 6.5-.22 12.95-.66 19.35C859.94 728.64 908 796.7 908 876a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8c0-44.24-23.94-82.89-59.57-103.7a278.63 278.63 0 0 1-22.66 49.02 281.39 281.39 0 0 1-100.45 100.45C611.84 946.07 563.55 960 512 960s-99.84-13.93-141.32-38.23a281.39 281.39 0 0 1-100.45-100.45 278.63 278.63 0 0 1-22.66-49.02A119.95 119.95 0 0 0 188 876a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8c0-79.3 48.07-147.36 116.66-176.65A284.12 284.12 0 0 1 232 680v-96H84a8 8 0 0 1-8-8v-56a8 8 0 0 1 8-8h148V412c-76.77 0-139-62.23-139-139a8 8 0 0 1 8-8h60a8 8 0 0 1 8 8 63 63 0 0 0 63 63h560a63 63 0 0 0 63-63 8 8 0 0 1 8-8h60a8 8 0 0 1 8 8c0 76.77-62.23 139-139 139v100h148a8 8 0 0 1 8 8v56a8 8 0 0 1-8 8H792zM368 272a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8c0-40.04 8.78-76.75 25.9-108.07a184.57 184.57 0 0 1 74.03-74.03C427.25 72.78 463.96 64 504 64h16c40.04 0 76.75 8.78 108.07 25.9a184.57 184.57 0 0 1 74.03 74.03C719.22 195.25 728 231.96 728 272a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8c0-28.33-5.94-53.15-17.08-73.53a112.56 112.56 0 0 0-45.39-45.4C573.15 141.95 548.33 136 520 136h-16c-28.33 0-53.15 5.94-73.53 17.08a112.56 112.56 0 0 0-45.4 45.39C373.95 218.85 368 243.67 368 272z'\n ], [\n secondaryColor,\n 'M308 412v268c0 36.78 9.68 71.96 27.8 102.9a205.39 205.39 0 0 0 73.3 73.3A202.68 202.68 0 0 0 512 884c36.78 0 71.96-9.68 102.9-27.8a205.39 205.39 0 0 0 73.3-73.3A202.68 202.68 0 0 0 716 680V412H308z'\n ]);\n});\nexports.BulbTwoTone = getIcon('bulb', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 136c-141.4 0-256 114.6-256 256 0 92.5 49.4 176.3 128.1 221.8l35.9 20.8V752h184V634.6l35.9-20.8C718.6 568.3 768 484.5 768 392c0-141.4-114.6-256-256-256z'\n ], [\n primaryColor,\n 'M632 888H392c-4.4 0-8 3.6-8 8v32c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32v-32c0-4.4-3.6-8-8-8zM512 64c-181.1 0-328 146.9-328 328 0 121.4 66 227.4 164 284.1V792c0 17.7 14.3 32 32 32h264c17.7 0 32-14.3 32-32V676.1c98-56.7 164-162.7 164-284.1 0-181.1-146.9-328-328-328zm127.9 549.8L604 634.6V752H420V634.6l-35.9-20.8C305.4 568.3 256 484.5 256 392c0-141.4 114.6-256 256-256s256 114.6 256 256c0 92.5-49.4 176.3-128.1 221.8z'\n ]);\n});\nexports.CalculatorTwoTone = getIcon('calculator', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm256.2-75h-50.8c-2.2 0-4.5-1.1-5.9-2.9L348 718.6l-35.5 43.5a7.38 7.38 0 0 1-5.9 2.9h-50.8c-6.6 0-10.2-7.9-5.8-13.1l62.7-76.8-61.2-74.9c-4.3-5.2-.7-13.1 5.9-13.1h50.9c2.2 0 4.5 1.1 5.9 2.9l34 41.6 34-41.6c1.5-1.9 3.6-2.9 5.9-2.9h50.8c6.6 0 10.2 7.9 5.9 13.1L383.5 675l62.7 76.8c4.2 5.3.6 13.2-6 13.2zM576 335c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48zm0 265c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48zm0 104c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48zM248 335c0-2.2 1.4-4 3.2-4H320v-68.8c0-1.8 1.8-3.2 4-3.2h48c2.2 0 4 1.4 4 3.2V331h68.7c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H376v68.7c0 1.9-1.8 3.3-4 3.3h-48c-2.2 0-4-1.4-4-3.2V387h-68.8c-1.8 0-3.2-1.8-3.2-4v-48z'\n ], [\n primaryColor,\n 'M383.5 675l61.3-74.8c4.3-5.2.7-13.1-5.9-13.1h-50.8c-2.3 0-4.4 1-5.9 2.9l-34 41.6-34-41.6a7.69 7.69 0 0 0-5.9-2.9h-50.9c-6.6 0-10.2 7.9-5.9 13.1l61.2 74.9-62.7 76.8c-4.4 5.2-.8 13.1 5.8 13.1h50.8c2.3 0 4.4-1 5.9-2.9l35.5-43.5 35.5 43.5c1.4 1.8 3.7 2.9 5.9 2.9h50.8c6.6 0 10.2-7.9 6-13.2L383.5 675zM251.2 387H320v68.8c0 1.8 1.8 3.2 4 3.2h48c2.2 0 4-1.4 4-3.3V387h68.8c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H376v-68.8c0-1.8-1.8-3.2-4-3.2h-48c-2.2 0-4 1.4-4 3.2V331h-68.8c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm328 369h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0-104h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0-265h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4z'\n ]);\n});\nexports.BuildTwoTone = getIcon('build', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M144 546h200v200H144zm268-268h200v200H412z'], [\n primaryColor,\n 'M916 210H376c-17.7 0-32 14.3-32 32v236H108c-17.7 0-32 14.3-32 32v272c0 17.7 14.3 32 32 32h540c17.7 0 32-14.3 32-32V546h236c17.7 0 32-14.3 32-32V242c0-17.7-14.3-32-32-32zM344 746H144V546h200v200zm268 0H412V546h200v200zm0-268H412V278h200v200zm268 0H680V278h200v200z'\n ]);\n});\nexports.CalendarTwoTone = getIcon('calendar', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M712 304c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H384v48c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H184v136h656V256H712v48z'\n ], [\n primaryColor,\n 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zm0-448H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136z'\n ]);\n});\nexports.CameraTwoTone = getIcon('camera', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M864 320H677.2l-17.1-47.8-22.9-64.2H386.7l-22.9 64.2-17.1 47.8H160c-4.4 0-8 3.6-8 8v456c0 4.4 3.6 8 8 8h704c4.4 0 8-3.6 8-8V328c0-4.4-3.6-8-8-8zM512 704c-88.4 0-160-71.6-160-160s71.6-160 160-160 160 71.6 160 160-71.6 160-160 160z'\n ], [\n primaryColor,\n 'M512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z'\n ], [\n primaryColor,\n 'M864 248H728l-32.4-90.8a32.07 32.07 0 0 0-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456z'\n ]);\n});\nexports.CarTwoTone = getIcon('car', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M199.6 474L184 517v237h656V517l-15.6-43H199.6zM264 621c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm388 75c0 4.4-3.6 8-8 8H380c-4.4 0-8-3.6-8-8v-84c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v36h168v-36c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v84zm108-75c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z'\n ], [primaryColor, 'M720 581a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'], [\n primaryColor,\n 'M959 413.4L935.3 372a8 8 0 0 0-10.9-2.9l-50.7 29.6-78.3-216.2a63.9 63.9 0 0 0-60.9-44.4H301.2c-34.7 0-65.5 22.4-76.2 55.5l-74.6 205.2-50.8-29.6a8 8 0 0 0-10.9 2.9L65 413.4c-2.2 3.8-.9 8.6 2.9 10.8l60.4 35.2-14.5 40c-1.2 3.2-1.8 6.6-1.8 10v348.2c0 15.7 11.8 28.4 26.3 28.4h67.6c12.3 0 23-9.3 25.6-22.3l7.7-37.7h545.6l7.7 37.7c2.7 13 13.3 22.3 25.6 22.3h67.6c14.5 0 26.3-12.7 26.3-28.4V509.4c0-3.4-.6-6.8-1.8-10l-14.5-40 60.3-35.2a8 8 0 0 0 3-10.8zM292.7 218.1l.5-1.3.4-1.3c1.1-3.3 4.1-5.5 7.6-5.5h427.6l75.4 208H220l72.7-199.9zM840 754H184V517l15.6-43h624.8l15.6 43v237z'\n ], [\n primaryColor,\n 'M224 581a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm420 23h-40c-4.4 0-8 3.6-8 8v36H428v-36c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v84c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-84c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.CarryOutTwoTone = getIcon('carry-out', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584z'\n ], [\n secondaryColor,\n 'M712 304c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H384v48c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H184v584h656V256H712v48zm-17.5 128.8L481.9 725.5a16.1 16.1 0 0 1-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.2 0 10 2.5 13 6.6l64.7 89 150.9-207.8c3-4.1 7.9-6.6 13-6.6H688c6.5 0 10.3 7.4 6.5 12.8z'\n ], [\n primaryColor,\n 'M688 420h-55.2c-5.1 0-10 2.5-13 6.6L468.9 634.4l-64.7-89c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0 0 26 0l212.6-292.7c3.8-5.4 0-12.8-6.5-12.8z'\n ]);\n});\nexports.CheckCircleTwoTone = getIcon('check-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm193.4 225.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.3 0 19.9 5 25.9 13.3l71.2 98.8 157.2-218c6-8.4 15.7-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.4 12.7z'\n ], [\n primaryColor,\n 'M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0 0 51.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z'\n ]);\n});\nexports.CheckSquareTwoTone = getIcon('check-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm130-367.8h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H688c6.5 0 10.3 7.4 6.5 12.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L307.5 484.9c-3.8-5.3 0-12.7 6.5-12.7z'\n ], [\n primaryColor,\n 'M432.2 657.7a31.8 31.8 0 0 0 51.7 0l210.6-292c3.8-5.3 0-12.7-6.5-12.7h-46.9c-10.3 0-19.9 5-25.9 13.3L458 584.3l-71.2-98.8c-6-8.4-15.7-13.3-25.9-13.3H314c-6.5 0-10.3 7.4-6.5 12.7l124.7 172.8z'\n ]);\n});\nexports.ClockCircleTwoTone = getIcon('clock-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm176.5 509.7l-28.6 39a7.99 7.99 0 0 1-11.2 1.7L483.3 569.8a7.92 7.92 0 0 1-3.3-6.5V288c0-4.4 3.6-8 8-8h48.1c4.4 0 8 3.6 8 8v247.5l142.6 103.1c3.6 2.5 4.4 7.5 1.8 11.1z'\n ], [\n primaryColor,\n 'M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.3c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.9 11.2-1.7l28.6-39c2.6-3.6 1.8-8.6-1.8-11.1z'\n ]);\n});\nexports.CloseCircleTwoTone = getIcon('close-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm171.8 527.1c1.2 1.5 1.9 3.3 1.9 5.2 0 4.5-3.6 8-8 8l-66-.3-99.3-118.4-99.3 118.5-66.1.3c-4.4 0-8-3.6-8-8 0-1.9.7-3.7 1.9-5.2L471 512.3l-130.1-155a8.32 8.32 0 0 1-1.9-5.2c0-4.5 3.6-8 8-8l66.1.3 99.3 118.4 99.4-118.5 66-.3c4.4 0 8 3.6 8 8 0 1.9-.6 3.8-1.8 5.2l-130.1 155 129.9 154.9z'\n ], [\n primaryColor,\n 'M685.8 352c0-4.4-3.6-8-8-8l-66 .3-99.4 118.5-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155-130.1 154.9a8.32 8.32 0 0 0-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3 99.3-118.5L611.7 680l66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.9 512.2l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z'\n ]);\n});\nexports.CloudTwoTone = getIcon('cloud', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M791.9 492l-37.8-10-13.8-36.5c-8.6-22.7-20.6-44.1-35.7-63.4a245.73 245.73 0 0 0-52.4-49.9c-41.1-28.9-89.5-44.2-140-44.2s-98.9 15.3-140 44.2a245.6 245.6 0 0 0-52.4 49.9 240.47 240.47 0 0 0-35.7 63.4l-13.9 36.6-37.9 9.9a125.7 125.7 0 0 0-66.1 43.7A123.1 123.1 0 0 0 140 612c0 33.1 12.9 64.3 36.3 87.7 23.4 23.4 54.5 36.3 87.6 36.3h496.2c33.1 0 64.2-12.9 87.6-36.3A123.3 123.3 0 0 0 884 612c0-56.2-37.8-105.5-92.1-120z'\n ], [\n primaryColor,\n 'M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3zm36.3 281a123.07 123.07 0 0 1-87.6 36.3H263.9c-33.1 0-64.2-12.9-87.6-36.3A123.3 123.3 0 0 1 140 612c0-28 9.1-54.3 26.2-76.3a125.7 125.7 0 0 1 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0 1 52.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10c54.3 14.5 92.1 63.8 92.1 120 0 33.1-12.9 64.3-36.3 87.7z'\n ]);\n});\nexports.CloseSquareTwoTone = getIcon('close-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm163.9-473.9A7.95 7.95 0 0 1 354 353h58.9c4.7 0 9.2 2.1 12.3 5.7L512 462.2l86.8-103.5c3-3.6 7.5-5.7 12.3-5.7H670c6.8 0 10.5 7.9 6.1 13.1L553.8 512l122.3 145.9c4.4 5.2.7 13.1-6.1 13.1h-58.9c-4.7 0-9.2-2.1-12.3-5.7L512 561.8l-86.8 103.5c-3 3.6-7.5 5.7-12.3 5.7H354c-6.8 0-10.5-7.9-6.1-13.1L470.2 512 347.9 366.1z'\n ], [\n primaryColor,\n 'M354 671h58.9c4.8 0 9.3-2.1 12.3-5.7L512 561.8l86.8 103.5c3.1 3.6 7.6 5.7 12.3 5.7H670c6.8 0 10.5-7.9 6.1-13.1L553.8 512l122.3-145.9c4.4-5.2.7-13.1-6.1-13.1h-58.9c-4.8 0-9.3 2.1-12.3 5.7L512 462.2l-86.8-103.5c-3.1-3.6-7.6-5.7-12.3-5.7H354c-6.8 0-10.5 7.9-6.1 13.1L470.2 512 347.9 657.9A7.95 7.95 0 0 0 354 671z'\n ]);\n});\nexports.CodeTwoTone = getIcon('code', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm339.5-223h185c4.1 0 7.5 3.6 7.5 8v48c0 4.4-3.4 8-7.5 8h-185c-4.1 0-7.5-3.6-7.5-8v-48c0-4.4 3.4-8 7.5-8zM308 610.3c0-2.3 1.1-4.6 2.9-6.1L420.7 512l-109.8-92.2a7.63 7.63 0 0 1-2.9-6.1V351c0-6.8 7.9-10.5 13.1-6.1l192 160.9c3.9 3.2 3.9 9.1 0 12.3l-192 161c-5.2 4.4-13.1.7-13.1-6.1v-62.7z'\n ], [\n primaryColor,\n 'M321.1 679.1l192-161c3.9-3.2 3.9-9.1 0-12.3l-192-160.9A7.95 7.95 0 0 0 308 351v62.7c0 2.4 1 4.6 2.9 6.1L420.7 512l-109.8 92.2a8.1 8.1 0 0 0-2.9 6.1V673c0 6.8 7.9 10.5 13.1 6.1zM516 673c0 4.4 3.4 8 7.5 8h185c4.1 0 7.5-3.6 7.5-8v-48c0-4.4-3.4-8-7.5-8h-185c-4.1 0-7.5 3.6-7.5 8v48z'\n ]);\n});\nexports.CompassTwoTone = getIcon('compass', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM327.6 701.7c-2 .9-4.4 0-5.3-2.1-.4-1-.4-2.2 0-3.2L421 470.9 553.1 603l-225.5 98.7zm375.1-375.1L604 552.1 471.9 420l225.5-98.7c2-.9 4.4 0 5.3 2.1.4 1 .4 2.1 0 3.2z'\n ], [\n primaryColor,\n 'M322.3 696.4c-.4 1-.4 2.2 0 3.2.9 2.1 3.3 3 5.3 2.1L553.1 603 421 470.9l-98.7 225.5zm375.1-375.1L471.9 420 604 552.1l98.7-225.5c.4-1.1.4-2.2 0-3.2-.9-2.1-3.3-3-5.3-2.1z'\n ], [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ]);\n});\nexports.ContactsTwoTone = getIcon('contacts', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M460.3 526a51.7 52 0 1 0 103.4 0 51.7 52 0 1 0-103.4 0z'\n ], [\n secondaryColor,\n 'M768 352c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H548v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H328v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H136v496h752V296H768v56zM661 736h-43.8c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.5-46-90.5-97.2-90.5s-93.4 39.9-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5h-43.9a8 8 0 0 1-8-8.4c2.8-53.3 31.9-99.6 74.6-126.1-18.1-20-29.1-46.4-29.1-75.5 0-61.9 49.9-112 111.4-112s111.4 50.1 111.4 112c0 29.1-11 55.6-29.1 75.5 42.7 26.4 71.9 72.8 74.7 126.1a8 8 0 0 1-8 8.4z'\n ], [\n primaryColor,\n 'M594.3 601.5a111.8 111.8 0 0 0 29.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 0 0-74.6 126.1 8 8 0 0 0 8 8.4H407c4.2 0 7.6-3.3 7.9-7.5 3.8-50.6 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H661a8 8 0 0 0 8-8.4c-2.8-53.3-32-99.7-74.7-126.1zM512 578c-28.5 0-51.7-23.3-51.7-52s23.2-52 51.7-52 51.7 23.3 51.7 52-23.2 52-51.7 52z'\n ], [\n primaryColor,\n 'M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496z'\n ]);\n});\nexports.ContainerTwoTone = getIcon('container', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M635 771.7c-34.5 28.6-78.2 44.3-123 44.3s-88.5-15.8-123-44.3a194.02 194.02 0 0 1-59.1-84.7H232v201h560V687h-97.9c-11.6 32.8-32 62.3-59.1 84.7z'\n ], [\n primaryColor,\n 'M320 501h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ], [\n primaryColor,\n 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V687h97.9c11.6 32.8 32 62.3 59.1 84.7 34.5 28.5 78.2 44.3 123 44.3s88.5-15.7 123-44.3c27.1-22.4 47.5-51.9 59.1-84.7H792v201zm0-264H643.6l-5.2 24.7C626.4 708.5 573.2 752 512 752s-114.4-43.5-126.5-103.3l-5.2-24.7H232V136h560v488z'\n ], [\n primaryColor,\n 'M320 341h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.ControlTwoTone = getIcon('control', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M616 440a36 36 0 1 0 72 0 36 36 0 1 0-72 0zM340.4 601.5l1.5 2.4c0 .1.1.1.1.2l.9 1.2c.1.1.2.2.2.3 1 1.3 2 2.5 3.2 3.6l.2.2c.4.4.8.8 1.2 1.1.8.8 1.7 1.5 2.6 2.1h.1l1.2.9c.1.1.3.2.4.3 1.2.8 2.5 1.6 3.9 2.2.2.1.5.2.7.4.4.2.7.3 1.1.5.3.1.7.3 1 .4.5.2 1 .4 1.5.5.4.1.9.3 1.3.4l.9.3 1.4.3c.2.1.5.1.7.2.7.1 1.4.3 2.1.4.2 0 .4 0 .6.1.6.1 1.1.1 1.7.2.2 0 .4 0 .7.1.8 0 1.5.1 2.3.1s1.5 0 2.3-.1c.2 0 .4 0 .7-.1.6 0 1.2-.1 1.7-.2.2 0 .4 0 .6-.1.7-.1 1.4-.2 2.1-.4.2-.1.5-.1.7-.2l1.4-.3.9-.3c.4-.1.9-.3 1.3-.4.5-.2 1-.4 1.5-.5.3-.1.7-.3 1-.4.4-.2.7-.3 1.1-.5.2-.1.5-.2.7-.4 1.3-.7 2.6-1.4 3.9-2.2.1-.1.3-.2.4-.3l1.2-.9h.1c.9-.7 1.8-1.4 2.6-2.1.4-.4.8-.7 1.2-1.1l.2-.2c1.1-1.1 2.2-2.4 3.2-3.6.1-.1.2-.2.2-.3l.9-1.2c0-.1.1-.1.1-.2l1.5-2.4c.1-.2.2-.3.3-.5 2.7-5.1 4.3-10.9 4.3-17s-1.6-12-4.3-17c-.1-.2-.2-.4-.3-.5l-1.5-2.4c0-.1-.1-.1-.1-.2l-.9-1.2c-.1-.1-.2-.2-.2-.3-1-1.3-2-2.5-3.2-3.6l-.2-.2c-.4-.4-.8-.8-1.2-1.1-.8-.8-1.7-1.5-2.6-2.1h-.1l-1.2-.9c-.1-.1-.3-.2-.4-.3-1.2-.8-2.5-1.6-3.9-2.2-.2-.1-.5-.2-.7-.4-.4-.2-.7-.3-1.1-.5-.3-.1-.7-.3-1-.4-.5-.2-1-.4-1.5-.5-.4-.1-.9-.3-1.3-.4l-.9-.3-1.4-.3c-.2-.1-.5-.1-.7-.2-.7-.1-1.4-.3-2.1-.4-.2 0-.4 0-.6-.1-.6-.1-1.1-.1-1.7-.2-.2 0-.4 0-.7-.1-.8 0-1.5-.1-2.3-.1s-1.5 0-2.3.1c-.2 0-.4 0-.7.1-.6 0-1.2.1-1.7.2-.2 0-.4 0-.6.1-.7.1-1.4.2-2.1.4-.2.1-.5.1-.7.2l-1.4.3-.9.3c-.4.1-.9.3-1.3.4-.5.2-1 .4-1.5.5-.3.1-.7.3-1 .4-.4.2-.7.3-1.1.5-.2.1-.5.2-.7.4-1.3.7-2.6 1.4-3.9 2.2-.1.1-.3.2-.4.3l-1.2.9h-.1c-.9.7-1.8 1.4-2.6 2.1-.4.4-.8.7-1.2 1.1l-.2.2a54.8 54.8 0 0 0-3.2 3.6c-.1.1-.2.2-.2.3l-.9 1.2c0 .1-.1.1-.1.2l-1.5 2.4c-.1.2-.2.3-.3.5-2.7 5.1-4.3 10.9-4.3 17s1.6 12 4.3 17c.1.2.2.3.3.5z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm436.4-499.1c-.2 0-.3.1-.4.1v-77c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v77c-.2 0-.3-.1-.4-.1 42 13.4 72.4 52.7 72.4 99.1 0 46.4-30.4 85.7-72.4 99.1.2 0 .3-.1.4-.1v221c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V539c.2 0 .3.1.4.1-42-13.4-72.4-52.7-72.4-99.1 0-46.4 30.4-85.7 72.4-99.1zM340 485V264c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v221c41.7 13.6 72 52.8 72 99s-30.3 85.5-72 99v77c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-77c-41.7-13.6-72-52.8-72-99s30.3-85.5 72-99z'\n ], [\n primaryColor,\n 'M340 683v77c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-77c41.7-13.5 72-52.8 72-99s-30.3-85.4-72-99V264c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v221c-41.7 13.5-72 52.8-72 99s30.3 85.4 72 99zm.1-116c.1-.2.2-.3.3-.5l1.5-2.4c0-.1.1-.1.1-.2l.9-1.2c0-.1.1-.2.2-.3 1-1.2 2.1-2.5 3.2-3.6l.2-.2c.4-.4.8-.7 1.2-1.1.8-.7 1.7-1.4 2.6-2.1h.1l1.2-.9c.1-.1.3-.2.4-.3 1.3-.8 2.6-1.5 3.9-2.2.2-.2.5-.3.7-.4.4-.2.7-.3 1.1-.5.3-.1.7-.3 1-.4.5-.1 1-.3 1.5-.5.4-.1.9-.3 1.3-.4l.9-.3 1.4-.3c.2-.1.5-.1.7-.2.7-.2 1.4-.3 2.1-.4.2-.1.4-.1.6-.1.5-.1 1.1-.2 1.7-.2.3-.1.5-.1.7-.1.8-.1 1.5-.1 2.3-.1s1.5.1 2.3.1c.3.1.5.1.7.1.6.1 1.1.1 1.7.2.2.1.4.1.6.1.7.1 1.4.3 2.1.4.2.1.5.1.7.2l1.4.3.9.3c.4.1.9.3 1.3.4.5.1 1 .3 1.5.5.3.1.7.3 1 .4.4.2.7.3 1.1.5.2.2.5.3.7.4 1.4.6 2.7 1.4 3.9 2.2.1.1.3.2.4.3l1.2.9h.1c.9.6 1.8 1.3 2.6 2.1.4.3.8.7 1.2 1.1l.2.2c1.2 1.1 2.2 2.3 3.2 3.6 0 .1.1.2.2.3l.9 1.2c0 .1.1.1.1.2l1.5 2.4A36.03 36.03 0 0 1 408 584c0 6.1-1.6 11.9-4.3 17-.1.2-.2.3-.3.5l-1.5 2.4c0 .1-.1.1-.1.2l-.9 1.2c0 .1-.1.2-.2.3-1 1.2-2.1 2.5-3.2 3.6l-.2.2c-.4.4-.8.7-1.2 1.1-.8.7-1.7 1.4-2.6 2.1h-.1l-1.2.9c-.1.1-.3.2-.4.3-1.3.8-2.6 1.5-3.9 2.2-.2.2-.5.3-.7.4-.4.2-.7.3-1.1.5-.3.1-.7.3-1 .4-.5.1-1 .3-1.5.5-.4.1-.9.3-1.3.4l-.9.3-1.4.3c-.2.1-.5.1-.7.2-.7.2-1.4.3-2.1.4-.2.1-.4.1-.6.1-.5.1-1.1.2-1.7.2-.3.1-.5.1-.7.1-.8.1-1.5.1-2.3.1s-1.5-.1-2.3-.1c-.3-.1-.5-.1-.7-.1-.6-.1-1.1-.1-1.7-.2-.2-.1-.4-.1-.6-.1-.7-.1-1.4-.3-2.1-.4-.2-.1-.5-.1-.7-.2l-1.4-.3-.9-.3c-.4-.1-.9-.3-1.3-.4-.5-.1-1-.3-1.5-.5-.3-.1-.7-.3-1-.4-.4-.2-.7-.3-1.1-.5-.2-.2-.5-.3-.7-.4-1.4-.6-2.7-1.4-3.9-2.2-.1-.1-.3-.2-.4-.3l-1.2-.9h-.1c-.9-.6-1.8-1.3-2.6-2.1-.4-.3-.8-.7-1.2-1.1l-.2-.2c-1.2-1.1-2.2-2.3-3.2-3.6 0-.1-.1-.2-.2-.3l-.9-1.2c0-.1-.1-.1-.1-.2l-1.5-2.4c-.1-.2-.2-.3-.3-.5-2.7-5-4.3-10.9-4.3-17s1.6-11.9 4.3-17zm280.3-27.9c-.1 0-.2-.1-.4-.1v221c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V539c-.1 0-.2.1-.4.1 42-13.4 72.4-52.7 72.4-99.1 0-46.4-30.4-85.7-72.4-99.1.1 0 .2.1.4.1v-77c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v77c.1 0 .2-.1.4-.1-42 13.4-72.4 52.7-72.4 99.1 0 46.4 30.4 85.7 72.4 99.1zM652 404c19.9 0 36 16.1 36 36s-16.1 36-36 36-36-16.1-36-36 16.1-36 36-36z'\n ]);\n});\nexports.CopyTwoTone = getIcon('copy', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M232 706h142c22.1 0 40 17.9 40 40v142h250V264H232v442z'], [\n primaryColor,\n 'M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32z'\n ], [\n primaryColor,\n 'M704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z'\n ]);\n});\nexports.CreditCardTwoTone = getIcon('credit-card', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M136 792h752V440H136v352zm507-144c0-4.4 3.6-8 8-8h165c4.4 0 8 3.6 8 8v72c0 4.4-3.6 8-8 8H651c-4.4 0-8-3.6-8-8v-72zM136 232h752v120H136z'\n ], [\n primaryColor,\n 'M651 728h165c4.4 0 8-3.6 8-8v-72c0-4.4-3.6-8-8-8H651c-4.4 0-8 3.6-8 8v72c0 4.4 3.6 8 8 8z'\n ], [\n primaryColor,\n 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V440h752v352zm0-440H136V232h752v120z'\n ]);\n});\nexports.CrownTwoTone = getIcon('crown', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M911.9 283.9v.5L835.5 865c-1 8-7.9 14-15.9 14H204.5c-8.1 0-14.9-6.1-16-14l-76.4-580.6v-.6 1.6L188.5 866c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.1-.5.1-1 0-1.5z'\n ], [\n secondaryColor,\n 'M773.6 810.6l53.9-409.4-139.8 86.1L512 252.9 336.3 487.3l-139.8-86.1 53.8 409.4h523.3zm-374.2-189c0-62.1 50.5-112.6 112.6-112.6s112.6 50.5 112.6 112.6v1c0 62.1-50.5 112.6-112.6 112.6s-112.6-50.5-112.6-112.6v-1z'\n ], [\n primaryColor,\n 'M512 734.2c61.9 0 112.3-50.2 112.6-112.1v-.5c0-62.1-50.5-112.6-112.6-112.6s-112.6 50.5-112.6 112.6v.5c.3 61.9 50.7 112.1 112.6 112.1zm0-160.9c26.6 0 48.2 21.6 48.2 48.3 0 26.6-21.6 48.3-48.2 48.3s-48.2-21.6-48.2-48.3c0-26.6 21.6-48.3 48.2-48.3z'\n ], [\n primaryColor,\n 'M188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6v-.5c.3-6.4-6.7-10.8-12.3-7.4L705 396.4 518.4 147.5a8.06 8.06 0 0 0-12.9 0L319 396.4 124.3 276.5c-5.5-3.4-12.6.9-12.2 7.3v.6L188.5 865zm147.8-377.7L512 252.9l175.7 234.4 139.8-86.1-53.9 409.4H250.3l-53.8-409.4 139.8 86.1z'\n ]);\n});\nexports.CustomerServiceTwoTone = getIcon('customer-service', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M696 632h128v192H696zm-496 0h128v192H200z'], [\n primaryColor,\n 'M512 128c-212.1 0-384 171.9-384 384v360c0 13.3 10.7 24 24 24h184c35.3 0 64-28.7 64-64V624c0-35.3-28.7-64-64-64H200v-48c0-172.3 139.7-312 312-312s312 139.7 312 312v48H688c-35.3 0-64 28.7-64 64v208c0 35.3 28.7 64 64 64h184c13.3 0 24-10.7 24-24V512c0-212.1-171.9-384-384-384zM328 632v192H200V632h128zm496 192H696V632h128v192z'\n ]);\n});\nexports.DashboardTwoTone = getIcon('dashboard', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 188c-99.3 0-192.7 38.7-263 109-70.3 70.2-109 163.6-109 263 0 105.6 44.5 205.5 122.6 276h498.8A371.12 371.12 0 0 0 884 560c0-99.3-38.7-192.7-109-263-70.2-70.3-163.6-109-263-109zm-30 44c0-4.4 3.6-8 8-8h44c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8h-44c-4.4 0-8-3.6-8-8v-80zM270 582c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v44zm90.7-204.4l-31.1 31.1a8.03 8.03 0 0 1-11.3 0l-56.6-56.6a8.03 8.03 0 0 1 0-11.3l31.1-31.1c3.1-3.1 8.2-3.1 11.3 0l56.6 56.6c3.1 3.1 3.1 8.2 0 11.3zm291.1 83.5l-84.5 84.5c5 18.7.2 39.4-14.5 54.1a55.95 55.95 0 0 1-79.2 0 55.95 55.95 0 0 1 0-79.2 55.87 55.87 0 0 1 54.1-14.5l84.5-84.5c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3c3.1 3.1 3.1 8.2 0 11.3zm43-52.4l-31.1-31.1a8.03 8.03 0 0 1 0-11.3l56.6-56.6c3.1-3.1 8.2-3.1 11.3 0l31.1 31.1c3.1 3.1 3.1 8.2 0 11.3l-56.6 56.6a8.03 8.03 0 0 1-11.3 0zM846 538v44c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8z'\n ], [\n primaryColor,\n 'M623.5 421.5a8.03 8.03 0 0 0-11.3 0L527.7 506c-18.7-5-39.4-.2-54.1 14.5a55.95 55.95 0 0 0 0 79.2 55.95 55.95 0 0 0 79.2 0 55.87 55.87 0 0 0 14.5-54.1l84.5-84.5c3.1-3.1 3.1-8.2 0-11.3l-28.3-28.3zM490 320h44c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8h-44c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8z'\n ], [\n primaryColor,\n 'M924.8 385.6a446.7 446.7 0 0 0-96-142.4 446.7 446.7 0 0 0-142.4-96C631.1 123.8 572.5 112 512 112s-119.1 11.8-174.4 35.2a446.7 446.7 0 0 0-142.4 96 446.7 446.7 0 0 0-96 142.4C75.8 440.9 64 499.5 64 560c0 132.7 58.3 257.7 159.9 343.1l1.7 1.4c5.8 4.8 13.1 7.5 20.6 7.5h531.7c7.5 0 14.8-2.7 20.6-7.5l1.7-1.4C901.7 817.7 960 692.7 960 560c0-60.5-11.9-119.1-35.2-174.4zM761.4 836H262.6A371.12 371.12 0 0 1 140 560c0-99.4 38.7-192.8 109-263 70.3-70.3 163.7-109 263-109 99.4 0 192.8 38.7 263 109 70.3 70.3 109 163.7 109 263 0 105.6-44.5 205.5-122.6 276z'\n ], [\n primaryColor,\n 'M762.7 340.8l-31.1-31.1a8.03 8.03 0 0 0-11.3 0l-56.6 56.6a8.03 8.03 0 0 0 0 11.3l31.1 31.1c3.1 3.1 8.2 3.1 11.3 0l56.6-56.6c3.1-3.1 3.1-8.2 0-11.3zM750 538v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8zM304.1 309.7a8.03 8.03 0 0 0-11.3 0l-31.1 31.1a8.03 8.03 0 0 0 0 11.3l56.6 56.6c3.1 3.1 8.2 3.1 11.3 0l31.1-31.1c3.1-3.1 3.1-8.2 0-11.3l-56.6-56.6zM262 530h-80c-4.4 0-8 3.6-8 8v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.DeleteTwoTone = getIcon('delete', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M292.7 840h438.6l24.2-512h-487z'], [\n primaryColor,\n 'M864 256H736v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zm-504-72h304v72H360v-72zm371.3 656H292.7l-24.2-512h487l-24.2 512z'\n ]);\n});\nexports.DiffTwoTone = getIcon('diff', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M232 264v624h432V413.8L514.2 264H232zm336 489c0 3.8-3.4 7-7.5 7h-225c-4.1 0-7.5-3.2-7.5-7v-42c0-3.8 3.4-7 7.5-7h225c4.1 0 7.5 3.2 7.5 7v42zm0-262v42c0 3.8-3.4 7-7.5 7H476v84.9c0 3.9-3.1 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V540h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.9 3.4-7 7.5-7H420v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.9 0 7 3.2 7 7.1V484h84.5c4.1 0 7.5 3.1 7.5 7z'\n ], [\n primaryColor,\n 'M854.2 306.6L611.3 72.9c-6-5.7-13.9-8.9-22.2-8.9H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h277l219 210.6V824c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V329.6c0-8.7-3.5-17-9.8-23z'\n ], [\n primaryColor,\n 'M553.4 201.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v704c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32V397.3c0-8.5-3.4-16.6-9.4-22.6L553.4 201.4zM664 888H232V264h282.2L664 413.8V888z'\n ], [\n primaryColor,\n 'M476 399.1c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1V484h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H420v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V540h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H476v-84.9zM560.5 704h-225c-4.1 0-7.5 3.2-7.5 7v42c0 3.8 3.4 7 7.5 7h225c4.1 0 7.5-3.2 7.5-7v-42c0-3.8-3.4-7-7.5-7z'\n ]);\n});\nexports.DatabaseTwoTone = getIcon('database', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M232 616h560V408H232v208zm112-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM232 888h560V680H232v208zm112-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM232 344h560V136H232v208zm112-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'\n ], [\n primaryColor,\n 'M304 512a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 272a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0-544a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'\n ], [\n primaryColor,\n 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V680h560v208zm0-272H232V408h560v208zm0-272H232V136h560v208z'\n ]);\n});\nexports.DislikeTwoTone = getIcon('dislike', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M273 100.1v428h.3l-.3-428zM820.4 525l-21.9-19 14-25.5a56.2 56.2 0 0 0 6.9-27.3c0-16.5-7.1-32.2-19.6-43l-21.9-19 13.9-25.4a56.2 56.2 0 0 0 6.9-27.3c0-16.5-7.1-32.2-19.6-43l-21.9-19 13.9-25.4a56.2 56.2 0 0 0 6.9-27.3c0-22.4-13.2-42.6-33.6-51.8H345v345.2c18.6 67.2 46.4 168 83.5 302.5a44.28 44.28 0 0 0 42.2 32.3c7.5.1 15-2.2 21.1-6.7 9.9-7.4 15.2-18.6 14.6-30.5l-9.6-198.4h314.4C829 605.5 840 587.1 840 568c0-16.5-7.1-32.2-19.6-43z'\n ], [\n primaryColor,\n 'M112 132v364c0 17.7 14.3 32 32 32h65V100h-65c-17.7 0-32 14.3-32 32zm773.9 358.3c3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-51.6-30.7-98.1-78.3-118.4a66.1 66.1 0 0 0-26.5-5.4H273l.3 428 85.8 310.8C372.9 889 418.9 924 470.9 924c29.7 0 57.4-11.8 77.9-33.4 20.5-21.5 31-49.7 29.5-79.4l-6-122.9h239.9c12.1 0 23.9-3.2 34.3-9.3 40.4-23.5 65.5-66.1 65.5-111 0-28.3-9.3-55.5-26.1-77.7zm-74.7 126.1H496.8l9.6 198.4c.6 11.9-4.7 23.1-14.6 30.5-6.1 4.5-13.6 6.8-21.1 6.7a44.28 44.28 0 0 1-42.2-32.3c-37.1-134.4-64.9-235.2-83.5-302.5V172h399.4a56.85 56.85 0 0 1 33.6 51.8c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0 1 19.6 43c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0 1 19.6 43c0 9.7-2.3 18.9-6.9 27.3l-14 25.5 21.9 19a56.76 56.76 0 0 1 19.6 43c0 19.1-11 37.5-28.8 48.4z'\n ]);\n});\nexports.DownCircleTwoTone = getIcon('down-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm184.4 277.7l-178 246a7.95 7.95 0 0 1-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.3 0 19.9 4.9 25.9 13.2L512 563.6l105.2-145.4c6-8.3 15.7-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.4 12.7z'\n ], [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n primaryColor,\n 'M690 405h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 563.6 406.8 418.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7z'\n ]);\n});\nexports.DownSquareTwoTone = getIcon('down-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm150-440h46.9c10.3 0 19.9 4.9 25.9 13.2L512 558.6l105.2-145.4c6-8.3 15.7-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.4 12.7l-178 246a7.95 7.95 0 0 1-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7z'\n ], [\n primaryColor,\n 'M505.5 658.7c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 558.6 406.8 413.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246z'\n ]);\n});\nexports.EnvironmentTwoTone = getIcon('environment', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M724.4 224.9C667.7 169.5 592.3 139 512 139s-155.7 30.5-212.4 85.8C243.1 280 212 353.2 212 431.1c0 241.3 234.1 407.2 300 449.1 65.9-41.9 300-207.8 300-449.1 0-77.9-31.1-151.1-87.6-206.2zM512 615c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z'\n ], [\n primaryColor,\n 'M512 263c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 0 1 512 551c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 0 1 400 439c0-29.9 11.7-58 32.8-79.2C454 338.6 482.1 327 512 327c29.9 0 58 11.6 79.2 32.8S624 409.1 624 439c0 29.9-11.6 58-32.8 79.2z'\n ], [\n primaryColor,\n 'M854.6 289.1a362.49 362.49 0 0 0-79.9-115.7 370.83 370.83 0 0 0-118.2-77.8C610.7 76.6 562.1 67 512 67c-50.1 0-98.7 9.6-144.5 28.5-44.3 18.3-84 44.5-118.2 77.8A363.6 363.6 0 0 0 169.4 289c-19.5 45-29.4 92.8-29.4 142 0 70.6 16.9 140.9 50.1 208.7 26.7 54.5 64 107.6 111 158.1 80.3 86.2 164.5 138.9 188.4 153a43.9 43.9 0 0 0 22.4 6.1c7.8 0 15.5-2 22.4-6.1 23.9-14.1 108.1-66.8 188.4-153 47-50.4 84.3-103.6 111-158.1C867.1 572 884 501.8 884 431.1c0-49.2-9.9-97-29.4-142zM512 880.2c-65.9-41.9-300-207.8-300-449.1 0-77.9 31.1-151.1 87.6-206.3C356.3 169.5 431.7 139 512 139s155.7 30.5 212.4 85.9C780.9 280 812 353.2 812 431.1c0 241.3-234.1 407.2-300 449.1z'\n ]);\n});\nexports.EditTwoTone = getIcon('edit', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M761.1 288.3L687.8 215 325.1 577.6l-15.6 89 88.9-15.7z'], [\n primaryColor,\n 'M880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32zm-622.3-84c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 0 0 0-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 0 0 9.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89z'\n ]);\n});\nexports.ExclamationCircleTwoTone = getIcon('exclamation-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm-32 156c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M488 576h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8zm-24 112a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'\n ]);\n});\nexports.ExperimentTwoTone = getIcon('experiment', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M551.9 513c19.6 0 35.9-14.2 39.3-32.8A40.02 40.02 0 0 1 552 512a40 40 0 0 1-40-39.4v.5c0 22 17.9 39.9 39.9 39.9zM752 687.8l-.3-.3c-29-17.5-62.3-26.8-97-26.8-44.9 0-87.2 15.7-121 43.8a256.27 256.27 0 0 1-164.9 59.9c-41.2 0-81-9.8-116.7-28L210.5 844h603l-59.9-155.2-1.6-1z'\n ], [\n primaryColor,\n 'M879 824.9L696.3 352V178H768v-68H256v68h71.7v174L145 824.9c-2.8 7.4-4.3 15.2-4.3 23.1 0 35.3 28.7 64 64 64h614.6c7.9 0 15.7-1.5 23.1-4.3 33-12.7 49.4-49.8 36.6-82.8zM395.7 364.7V180h232.6v184.7L719.2 600c-20.7-5.3-42.1-8-63.9-8-61.2 0-119.2 21.5-165.3 60a188.78 188.78 0 0 1-121.3 43.9c-32.7 0-64.1-8.3-91.8-23.7l118.8-307.5zM210.5 844l41.6-107.6.1-.2c35.7 18.1 75.4 27.8 116.6 27.8 61.2 0 119.2-21.5 165.3-60 33.9-28.2 76.3-43.9 121.3-43.9 35 0 68.4 9.5 97.6 27.1l.6 1.6L813.5 844h-603z'\n ], [\n primaryColor,\n 'M552 512c19.3 0 35.4-13.6 39.2-31.8.6-2.7.8-5.4.8-8.2 0-22.1-17.9-40-40-40s-40 17.9-40 40v.6a40 40 0 0 0 40 39.4z'\n ]);\n});\nexports.EyeInvisibleTwoTone = getIcon('eye-invisible', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M254.89 758.85l125.57-125.57a176 176 0 0 1 248.82-248.82L757 256.72Q651.69 186.07 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 0 0 0 51.5q69.27 145.91 173.09 221.05zM942.2 486.2Q889.46 375.11 816.7 305L672.48 449.27a176.09 176.09 0 0 1-227.22 227.21L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 0 0 0-51.5z'\n ], [\n primaryColor,\n 'M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 0 0 0-51.5zM878.63 165.56L836 122.88a8 8 0 0 0-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 0 0 0 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 0 0 0 11.31L155.17 889a8 8 0 0 0 11.31 0l712.15-712.12a8 8 0 0 0 0-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 0 0-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 0 1 146.2-106.69L401.31 546.2A112 112 0 0 1 396 512z'\n ], [\n primaryColor,\n 'M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 0 0 227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 0 1-112 112z'\n ]);\n});\nexports.EyeTwoTone = getIcon('eye', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M81.8 537.8a60.3 60.3 0 0 1 0-51.5C176.6 286.5 319.8 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 0 0 0 51.5C176.6 737.5 319.9 838 512 838c-192.1 0-335.4-100.5-430.2-300.2z'\n ], [\n secondaryColor,\n 'M512 258c-161.3 0-279.4 81.8-362.7 254C232.6 684.2 350.7 766 512 766c161.4 0 279.5-81.8 362.7-254C791.4 339.8 673.3 258 512 258zm-4 430c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z'\n ], [\n primaryColor,\n 'M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 0 0 0 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258s279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766z'\n ], [\n primaryColor,\n 'M508 336c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z'\n ]);\n});\nexports.FileAddTwoTone = getIcon('file-add', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm126 236v48c0 4.4-3.6 8-8 8H544v108c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V644H372c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h108V472c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v108h108c4.4 0 8 3.6 8 8z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M544 472c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V472z'\n ]);\n});\nexports.FileExclamationTwoTone = getIcon('file-exclamation', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm-54 96c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V448zm32 336c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M488 640h48c4.4 0 8-3.6 8-8V448c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm-16 104a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'\n ]);\n});\nexports.FileImageTwoTone = getIcon('file-image', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm-134 50c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm296 294H328.1c-6.7 0-10.4-7.7-6.3-12.9l99.8-127.2a8 8 0 0 1 12.6 0l41.1 52.4 77.8-99.2a8.1 8.1 0 0 1 12.7 0l136.5 174c4.1 5.2.4 12.9-6.3 12.9z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M553.1 509.1l-77.8 99.2-41.1-52.4a8 8 0 0 0-12.6 0l-99.8 127.2a7.98 7.98 0 0 0 6.3 12.9H696c6.7 0 10.4-7.7 6.3-12.9l-136.5-174a8.1 8.1 0 0 0-12.7 0zM360 442a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'\n ]);\n});\nexports.FileExcelTwoTone = getIcon('file-excel', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm51.6 120h35.7a12.04 12.04 0 0 1 10.1 18.5L546.1 623l84 130.4c3.6 5.6 2 13-3.6 16.6-2 1.2-4.2 1.9-6.5 1.9h-37.5c-4.1 0-8-2.1-10.2-5.7L510 664.8l-62.7 101.5c-2.2 3.5-6 5.7-10.2 5.7h-34.5a12.04 12.04 0 0 1-10.2-18.4l83.4-132.8-82.3-130.4c-3.6-5.7-1.9-13.1 3.7-16.6 1.9-1.3 4.1-1.9 6.4-1.9H442c4.2 0 8.1 2.2 10.3 5.8l61.8 102.4 61.2-102.3c2.2-3.6 6.1-5.8 10.3-5.8z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M514.1 580.1l-61.8-102.4c-2.2-3.6-6.1-5.8-10.3-5.8h-38.4c-2.3 0-4.5.6-6.4 1.9-5.6 3.5-7.3 10.9-3.7 16.6l82.3 130.4-83.4 132.8a12.04 12.04 0 0 0 10.2 18.4h34.5c4.2 0 8-2.2 10.2-5.7L510 664.8l62.3 101.4c2.2 3.6 6.1 5.7 10.2 5.7H620c2.3 0 4.5-.7 6.5-1.9 5.6-3.6 7.2-11 3.6-16.6l-84-130.4 85.3-132.5a12.04 12.04 0 0 0-10.1-18.5h-35.7c-4.2 0-8.1 2.2-10.3 5.8l-61.2 102.3z'\n ]);\n});\nexports.FileMarkdownTwoTone = getIcon('file-markdown', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm72.3 122H641c6.6 0 12 5.4 12 12v272c0 6.6-5.4 12-12 12h-27.2c-6.6 0-12-5.4-12-12V581.7L535 732.3c-2 4.3-6.3 7.1-11 7.1h-24.1a12 12 0 0 1-11-7.1l-66.8-150.2V758c0 6.6-5.4 12-12 12H383c-6.6 0-12-5.4-12-12V486c0-6.6 5.4-12 12-12h35c4.8 0 9.1 2.8 11 7.2l83.2 191 83.1-191c1.9-4.4 6.2-7.2 11-7.2z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M429 481.2c-1.9-4.4-6.2-7.2-11-7.2h-35c-6.6 0-12 5.4-12 12v272c0 6.6 5.4 12 12 12h27.1c6.6 0 12-5.4 12-12V582.1l66.8 150.2a12 12 0 0 0 11 7.1H524c4.7 0 9-2.8 11-7.1l66.8-150.6V758c0 6.6 5.4 12 12 12H641c6.6 0 12-5.4 12-12V486c0-6.6-5.4-12-12-12h-34.7c-4.8 0-9.1 2.8-11 7.2l-83.1 191-83.2-191z'\n ]);\n});\nexports.FilePdfTwoTone = getIcon('file-pdf', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M509.2 490.8c-.7-1.3-1.4-1.9-2.2-2-2.9 3.3-2.2 31.5 2.7 51.4 4-13.6 4.7-40.5-.5-49.4zm-1.6 120.5c-7.7 20-18.8 47.3-32.1 71.4 4-1.6 8.1-3.3 12.3-5 17.6-7.2 37.3-15.3 58.9-20.2-14.9-11.8-28.4-27.7-39.1-46.2z'\n ], [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm55 287.6c16.1-1.9 30.6-2.8 44.3-2.3 12.8.4 23.6 2 32 5.1.2.1.3.1.5.2.4.2.8.3 1.2.5.5.2 1.1.4 1.6.7.1.1.3.1.4.2 4.1 1.8 7.5 4 10.1 6.6 9.1 9.1 11.8 26.1 6.2 39.6-3.2 7.7-11.7 20.5-33.3 20.5-21.8 0-53.9-9.7-82.1-24.8-25.5 4.3-53.7 13.9-80.9 23.1-5.8 2-11.8 4-17.6 5.9-38 65.2-66.5 79.4-84.1 79.4-4.2 0-7.8-.9-10.8-2-6.9-2.6-12.8-8-16.5-15-.9-1.7-1.6-3.4-2.2-5.2-1.6-4.8-2.1-9.6-1.3-13.6l.6-2.7c.1-.2.1-.4.2-.6.2-.7.4-1.4.7-2.1 0-.1.1-.2.1-.3 4.1-11.9 13.6-23.4 27.7-34.6 12.3-9.8 27.1-18.7 45.9-28.4 15.9-28 37.6-75.1 51.2-107.4-10.8-41.8-16.7-74.6-10.1-98.6.9-3.3 2.5-6.4 4.6-9.1.2-.2.3-.4.5-.6.1-.1.1-.2.2-.2 6.3-7.5 16.9-11.9 28.1-11.5 16.6.7 29.7 11.5 33 30.1 1.7 8 2.2 16.5 1.9 25.7v.7c0 .5 0 1-.1 1.5-.7 13.3-3 26.6-7.3 44.7-.4 1.6-.8 3.2-1.2 5.2l-1 4.1-.1.3c.1.2.1.3.2.5l1.8 4.5c.1.3.3.7.4 1 .7 1.6 1.4 3.3 2.1 4.8v.1c8.7 18.8 19.7 33.4 33.9 45.1 4.3 3.5 8.9 6.7 13.9 9.8 1.8-.5 3.5-.7 5.3-.9z'\n ], [\n secondaryColor,\n 'M391.5 761c5.7-4.4 16.2-14.5 30.1-34.7-10.3 9.4-23.4 22.4-30.1 34.7zm270.9-83l.2-.3h.2c.6-.4.5-.7.4-.9-.1-.1-4.5-9.3-45.1-7.4 35.3 13.9 43.5 9.1 44.3 8.6z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M535.9 585.3c-.8-1.7-1.5-3.3-2.2-4.9-.1-.3-.3-.7-.4-1l-1.8-4.5c-.1-.2-.1-.3-.2-.5l.1-.3.2-1.1c4-16.3 8.6-35.3 9.4-54.4v-.7c.3-8.6-.2-17.2-2-25.6-3.8-21.3-19.5-29.6-32.9-30.2-11.3-.5-21.8 4-28.1 11.4-.1.1-.1.2-.2.2-.2.2-.4.4-.5.6-2.1 2.7-3.7 5.8-4.6 9.1-6.6 24-.7 56.8 10.1 98.6-13.6 32.4-35.3 79.4-51.2 107.4v.1c-27.7 14.3-64.1 35.8-73.6 62.9 0 .1-.1.2-.1.3-.2.7-.5 1.4-.7 2.1-.1.2-.1.4-.2.6-.2.9-.5 1.8-.6 2.7-.9 4-.4 8.8 1.3 13.6.6 1.8 1.3 3.5 2.2 5.2 3.7 7 9.6 12.4 16.5 15 3 1.1 6.6 2 10.8 2 17.6 0 46.1-14.2 84.1-79.4 5.8-1.9 11.8-3.9 17.6-5.9 27.2-9.2 55.4-18.8 80.9-23.1 28.2 15.1 60.3 24.8 82.1 24.8 21.6 0 30.1-12.8 33.3-20.5 5.6-13.5 2.9-30.5-6.2-39.6-2.6-2.6-6-4.8-10.1-6.6-.1-.1-.3-.1-.4-.2-.5-.2-1.1-.4-1.6-.7-.4-.2-.8-.3-1.2-.5-.2-.1-.3-.1-.5-.2-16.2-5.8-41.7-6.7-76.3-2.8l-5.3.6c-5-3-9.6-6.3-13.9-9.8-14.2-11.3-25.1-25.8-33.8-44.7zM391.5 761c6.7-12.3 19.8-25.3 30.1-34.7-13.9 20.2-24.4 30.3-30.1 34.7zM507 488.8c.8.1 1.5.7 2.2 2 5.2 8.9 4.5 35.8.5 49.4-4.9-19.9-5.6-48.1-2.7-51.4zm-19.2 188.9c-4.2 1.7-8.3 3.4-12.3 5 13.3-24.1 24.4-51.4 32.1-71.4 10.7 18.5 24.2 34.4 39.1 46.2-21.6 4.9-41.3 13-58.9 20.2zm175.4-.9c.1.2.2.5-.4.9h-.2l-.2.3c-.8.5-9 5.3-44.3-8.6 40.6-1.9 45 7.3 45.1 7.4z'\n ]);\n});\nexports.FilePptTwoTone = getIcon('file-ppt', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M464.5 516.2v108.4h38.9c44.7 0 71.2-10.9 71.2-54.3 0-34.4-20.1-54.1-53.9-54.1h-56.2z'\n ], [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm90 218.4c0 55.2-36.8 94.1-96.2 94.1h-63.3V760c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8V484c0-4.4 3.6-8 8-8v.1h104c59.7 0 96 39.8 96 94.3z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M424 476.1c-4.4-.1-8 3.5-8 7.9v276c0 4.4 3.6 8 8 8h32.5c4.4 0 8-3.6 8-8v-95.5h63.3c59.4 0 96.2-38.9 96.2-94.1 0-54.5-36.3-94.3-96-94.3H424zm150.6 94.2c0 43.4-26.5 54.3-71.2 54.3h-38.9V516.2h56.2c33.8 0 53.9 19.7 53.9 54.1z'\n ]);\n});\nexports.FileTextTwoTone = getIcon('file-text', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm-22 322c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm200-184v48c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h384c4.4 0 8 3.6 8 8z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8zm192 128H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.FileUnknownTwoTone = getIcon('file-unknown', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm-22 424c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm110-228.4c.7 44.9-29.7 84.5-74.3 98.9-5.7 1.8-9.7 7.3-9.7 13.3V672c0 5.5-4.5 10-10 10h-32c-5.5 0-10-4.5-10-10v-32c.2-19.8 15.4-37.3 34.7-40.1C549 596.2 570 574.3 570 549c0-28.1-25.8-51.5-58-51.5s-58 23.4-58 51.6c0 5.2-4.4 9.4-9.8 9.4h-32.4c-5.4 0-9.8-4.1-9.8-9.5 0-57.4 50.1-103.7 111.5-103 59.3.8 107.7 46.1 108.5 101.6z'\n ], [\n primaryColor,\n 'M854.6 288.7L639.4 73.4c-6-6-14.2-9.4-22.7-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.6-9.4-22.6zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M480 744a32 32 0 1 0 64 0 32 32 0 1 0-64 0zm-78-195c0 5.4 4.4 9.5 9.8 9.5h32.4c5.4 0 9.8-4.2 9.8-9.4 0-28.2 25.8-51.6 58-51.6s58 23.4 58 51.5c0 25.3-21 47.2-49.3 50.9-19.3 2.8-34.5 20.3-34.7 40.1v32c0 5.5 4.5 10 10 10h32c5.5 0 10-4.5 10-10v-12.2c0-6 4-11.5 9.7-13.3 44.6-14.4 75-54 74.3-98.9-.8-55.5-49.2-100.8-108.5-101.6-61.4-.7-111.5 45.6-111.5 103z'\n ]);\n});\nexports.FileZipTwoTone = getIcon('file-zip', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M344 630h32v2h-32z'], [\n secondaryColor,\n 'M534 352V136H360v64h64v64h-64v64h64v64h-64v64h64v64h-64v62h64v160H296V520h64v-64h-64v-64h64v-64h-64v-64h64v-64h-64v-64h-64v752h560V394H576a42 42 0 0 1-42-42z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h64v64h64v-64h174v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M296 392h64v64h-64zm0-128h64v64h-64zm0 318v160h128V582h-64v-62h-64v62zm48 50v-2h32v64h-32v-62zm16-432h64v64h-64zm0 256h64v64h-64zm0-128h64v64h-64z'\n ]);\n});\nexports.FileWordTwoTone = getIcon('file-word', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm101.3 129.3c1.3-5.4 6.1-9.3 11.7-9.3h35.6a12.04 12.04 0 0 1 11.6 15.1l-74.4 276c-1.4 5.3-6.2 8.9-11.6 8.9h-31.8c-5.4 0-10.2-3.7-11.6-8.9l-52.8-197-52.8 197c-1.4 5.3-6.2 8.9-11.6 8.9h-32c-5.4 0-10.2-3.7-11.6-8.9l-74.2-276a12.02 12.02 0 0 1 11.6-15.1h35.4c5.6 0 10.4 3.9 11.7 9.3L434.6 680l49.7-198.9c1.3-5.4 6.1-9.1 11.6-9.1h32.2c5.5 0 10.3 3.7 11.6 9.1l49.8 199.3 45.8-199.1z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M528.1 472h-32.2c-5.5 0-10.3 3.7-11.6 9.1L434.6 680l-46.1-198.7c-1.3-5.4-6.1-9.3-11.7-9.3h-35.4a12.02 12.02 0 0 0-11.6 15.1l74.2 276c1.4 5.2 6.2 8.9 11.6 8.9h32c5.4 0 10.2-3.6 11.6-8.9l52.8-197 52.8 197c1.4 5.2 6.2 8.9 11.6 8.9h31.8c5.4 0 10.2-3.6 11.6-8.9l74.4-276a12.04 12.04 0 0 0-11.6-15.1H647c-5.6 0-10.4 3.9-11.7 9.3l-45.8 199.1-49.8-199.3c-1.3-5.4-6.1-9.1-11.6-9.1z'\n ]);\n});\nexports.FileTwoTone = getIcon('file', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42z'], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ]);\n});\nexports.FilterTwoTone = getIcon('filter', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M420.6 798h182.9V642H420.6zM411 561.4l9.5 16.6h183l9.5-16.6L811.3 226H212.7z'\n ], [\n primaryColor,\n 'M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 597.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V597.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.5 798H420.6V642h182.9v156zm9.5-236.6l-9.5 16.6h-183l-9.5-16.6L212.7 226h598.6L613 561.4z'\n ]);\n});\nexports.FireTwoTone = getIcon('fire', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M737 438.6c-9.6 15.5-21.1 30.7-34.4 45.6a73.1 73.1 0 0 1-51 24.4 73.36 73.36 0 0 1-53.4-18.8 74.01 74.01 0 0 1-24.4-59.8c3-47.4-12.4-103.1-45.8-165.7-16.9-31.4-37.1-58.2-61.2-80.4a240 240 0 0 1-12.1 46.5 354.26 354.26 0 0 1-58.2 101 349.6 349.6 0 0 1-58.6 56.8c-34 26.1-62 60-80.8 97.9a275.96 275.96 0 0 0-29.1 124c0 74.9 29.5 145.3 83 198.4 53.7 53.2 125 82.4 201 82.4s147.3-29.2 201-82.4c53.5-53 83-123.5 83-198.4 0-39.2-8.1-77.3-24-113.1-9.3-21-21-40.5-35-58.4z'\n ], [\n primaryColor,\n 'M834.1 469.2A347.49 347.49 0 0 0 751.2 354l-29.1-26.7a8.09 8.09 0 0 0-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 0 1-47.5 46.1 352.6 352.6 0 0 0-100.3 121.5A347.75 347.75 0 0 0 160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0 0 75.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 0 0 760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0 0 27.7-136c0-48.8-10-96.2-29.9-140.9zM713 808.5c-53.7 53.2-125 82.4-201 82.4s-147.3-29.2-201-82.4c-53.5-53.1-83-123.5-83-198.4 0-43.5 9.8-85.2 29.1-124 18.8-37.9 46.8-71.8 80.8-97.9a349.6 349.6 0 0 0 58.6-56.8c25-30.5 44.6-64.5 58.2-101a240 240 0 0 0 12.1-46.5c24.1 22.2 44.3 49 61.2 80.4 33.4 62.6 48.8 118.3 45.8 165.7a74.01 74.01 0 0 0 24.4 59.8 73.36 73.36 0 0 0 53.4 18.8c19.7-1 37.8-9.7 51-24.4 13.3-14.9 24.8-30.1 34.4-45.6 14 17.9 25.7 37.4 35 58.4 15.9 35.8 24 73.9 24 113.1 0 74.9-29.5 145.4-83 198.4z'\n ]);\n});\nexports.FolderAddTwoTone = getIcon('folder-add', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M372.5 256H184v512h656V370.4H492.1L372.5 256zM540 443.1V528h84.5c4.1 0 7.5 3.1 7.5 7v42c0 3.8-3.4 7-7.5 7H540v84.9c0 3.9-3.1 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V584h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.9 3.4-7 7.5-7H484v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.9 0 7 3.2 7 7.1z'\n ], [\n primaryColor,\n 'M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z'\n ], [\n primaryColor,\n 'M484 443.1V528h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H484v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V584h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H540v-84.9c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1z'\n ]);\n});\nexports.FlagTwoTone = getIcon('flag', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M184 232h368v336H184z'], [secondaryColor, 'M624 632c0 4.4-3.6 8-8 8H504v73h336V377H624v255z'], [\n primaryColor,\n 'M880 305H624V192c0-17.7-14.3-32-32-32H184v-40c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V640h248v113c0 17.7 14.3 32 32 32h416c17.7 0 32-14.3 32-32V337c0-17.7-14.3-32-32-32zM184 568V232h368v336H184zm656 145H504v-73h112c4.4 0 8-3.6 8-8V377h216v336z'\n ]);\n});\nexports.FolderTwoTone = getIcon('folder', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z'\n ], [secondaryColor, 'M372.5 256H184v512h656V370.4H492.1z']);\n});\nexports.FolderOpenTwoTone = getIcon('folder-open', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M159 768h612.3l103.4-256H262.3z'], [\n primaryColor,\n 'M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z'\n ]);\n});\nexports.FrownTwoTone = getIcon('frown', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm376 272h-48.1c-4.2 0-7.8-3.2-8.1-7.4C604 636.1 562.5 597 512 597s-92.1 39.1-95.8 88.6c-.3 4.2-3.9 7.4-8.1 7.4H360a8 8 0 0 1-8-8.4c4.4-84.3 74.5-151.6 160-151.6s155.6 67.3 160 151.6a8 8 0 0 1-8 8.4zm24-224a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm224 112c-85.5 0-155.6 67.3-160 151.6a8 8 0 0 0 8 8.4h48.1c4.2 0 7.8-3.2 8.1-7.4 3.7-49.5 45.3-88.6 95.8-88.6s92 39.1 95.8 88.6c.3 4.2 3.9 7.4 8.1 7.4H664a8 8 0 0 0 8-8.4C667.6 600.3 597.5 533 512 533zm128-112a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'\n ]);\n});\nexports.FundTwoTone = getIcon('fund', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V232h752v560z'\n ], [\n secondaryColor,\n 'M136 792h752V232H136v560zm56.4-130.5l214.9-215c3.1-3.1 8.2-3.1 11.3 0L533 561l254.5-254.6c3.1-3.1 8.2-3.1 11.3 0l36.8 36.8c3.1 3.1 3.1 8.2 0 11.3l-297 297.2a8.03 8.03 0 0 1-11.3 0L412.9 537.2 240.4 709.7a8.03 8.03 0 0 1-11.3 0l-36.7-36.9a8.03 8.03 0 0 1 0-11.3z'\n ], [\n primaryColor,\n 'M229.1 709.7c3.1 3.1 8.2 3.1 11.3 0l172.5-172.5 114.4 114.5c3.1 3.1 8.2 3.1 11.3 0l297-297.2c3.1-3.1 3.1-8.2 0-11.3l-36.8-36.8a8.03 8.03 0 0 0-11.3 0L533 561 418.6 446.5a8.03 8.03 0 0 0-11.3 0l-214.9 215a8.03 8.03 0 0 0 0 11.3l36.7 36.9z'\n ]);\n});\nexports.FunnelPlotTwoTone = getIcon('funnel-plot', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M420.6 798h182.9V650H420.6zM297.7 374h428.6l85-148H212.7zm113.2 197.4l8.4 14.6h185.3l8.4-14.6L689.6 438H334.4z'\n ], [\n primaryColor,\n 'M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 607.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V607.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.5 798H420.6V650h182.9v148zm9.5-226.6l-8.4 14.6H419.3l-8.4-14.6L334.4 438h355.2L613 571.4zM726.3 374H297.7l-85-148h598.6l-85 148z'\n ]);\n});\nexports.GiftTwoTone = getIcon('gift', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M546 378h298v104H546zM228 550h250v308H228zm-48-172h298v104H180zm366 172h250v308H546z'\n ], [\n primaryColor,\n 'M880 310H732.4c13.6-21.4 21.6-46.8 21.6-74 0-76.1-61.9-138-138-138-41.4 0-78.7 18.4-104 47.4-25.3-29-62.6-47.4-104-47.4-76.1 0-138 61.9-138 138 0 27.2 7.9 52.6 21.6 74H144c-17.7 0-32 14.3-32 32v200c0 4.4 3.6 8 8 8h40v344c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V550h40c4.4 0 8-3.6 8-8V342c0-17.7-14.3-32-32-32zM478 858H228V550h250v308zm0-376H180V378h298v104zm0-176h-70c-38.6 0-70-31.4-70-70s31.4-70 70-70 70 31.4 70 70v70zm68-70c0-38.6 31.4-70 70-70s70 31.4 70 70-31.4 70-70 70h-70v-70zm250 622H546V550h250v308zm48-376H546V378h298v104z'\n ]);\n});\nexports.HddTwoTone = getIcon('hdd', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M232 888h560V680H232v208zm448-140c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM232 616h560V408H232v208zm72-128c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H312c-4.4 0-8-3.6-8-8v-48zm-72-144h560V136H232v208zm72-128c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H312c-4.4 0-8-3.6-8-8v-48z'\n ], [\n primaryColor,\n 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V680h560v208zm0-272H232V408h560v208zm0-272H232V136h560v208z'\n ], [\n primaryColor,\n 'M312 544h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0-272h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm328 516a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'\n ]);\n});\nexports.HeartTwoTone = getIcon('heart', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M923 283.6a260.04 260.04 0 0 0-56.9-82.8 264.4 264.4 0 0 0-84-55.5A265.34 265.34 0 0 0 679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 0 0-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9zM512 814.8S156 586.7 156 385.5C156 283.6 240.3 201 344.3 201c73.1 0 136.5 40.8 167.7 100.4C543.2 241.8 606.6 201 679.7 201c104 0 188.3 82.6 188.3 184.5 0 201.2-356 429.3-356 429.3z'\n ], [\n secondaryColor,\n 'M679.7 201c-73.1 0-136.5 40.8-167.7 100.4C480.8 241.8 417.4 201 344.3 201c-104 0-188.3 82.6-188.3 184.5 0 201.2 356 429.3 356 429.3s356-228.1 356-429.3C868 283.6 783.7 201 679.7 201z'\n ]);\n});\nexports.HighlightTwoTone = getIcon('highlight', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M229.6 796.3h160.2l54.3-54.1-80.1-78.9zm220.7-397.1l262.8 258.9 147.3-145-262.8-259zm-77.1 166.1l171.4 168.9 68.6-67.6-171.4-168.9z'\n ], [\n primaryColor,\n 'M957.6 507.5L603.2 158.3a7.9 7.9 0 0 0-11.2 0L353.3 393.5a8.03 8.03 0 0 0-.1 11.3l.1.1 40 39.4-117.2 115.3a8.03 8.03 0 0 0-.1 11.3l.1.1 39.5 38.9-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8v55.2c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6L539 830a7.9 7.9 0 0 0 11.2 0l117.1-115.6 40.1 39.5a7.9 7.9 0 0 0 11.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2zM389.8 796.3H229.6l134.4-133 80.1 78.9-54.3 54.1zm154.8-62.1L373.2 565.3l68.6-67.6 171.4 168.9-68.6 67.6zm168.5-76.1L450.3 399.2l147.3-145.1 262.8 259-147.3 145z'\n ]);\n});\nexports.HomeTwoTone = getIcon('home', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512.1 172.6l-370 369.7h96V868H392V640c0-22.1 17.9-40 40-40h160c22.1 0 40 17.9 40 40v228h153.9V542.3H882L535.2 195.7l-23.1-23.1zm434.5 422.9c-6 6-13.1 10.8-20.8 13.9 7.7-3.2 14.8-7.9 20.8-13.9zm-887-34.7c5 30.3 31.4 53.5 63.1 53.5h.9c-31.9 0-58.9-23-64-53.5zm-.9-10.5v-1.9 1.9zm.1-2.6c.1-3.1.5-6.1 1-9.1-.6 2.9-.9 6-1 9.1z'\n ], [\n primaryColor,\n 'M951 510c0-.1-.1-.1-.1-.2l-1.8-2.1c-.1-.1-.2-.3-.4-.4-.7-.8-1.5-1.6-2.2-2.4L560.1 118.8l-25.9-25.9a31.5 31.5 0 0 0-44.4 0L77.5 505a63.6 63.6 0 0 0-16 26.6l-.6 2.1-.3 1.1-.3 1.2c-.2.7-.3 1.4-.4 2.1 0 .1 0 .3-.1.4-.6 3-.9 6-1 9.1v3.3c0 .5 0 1 .1 1.5 0 .5 0 .9.1 1.4 0 .5.1 1 .1 1.5 0 .6.1 1.2.2 1.8 0 .3.1.6.1.9l.3 2.5v.1c5.1 30.5 32.2 53.5 64 53.5h42.5V940h691.7V614.3h43.4c8.6 0 16.9-1.7 24.5-4.9s14.7-7.9 20.8-13.9a63.6 63.6 0 0 0 18.7-45.3c0-14.7-5-28.8-14.3-40.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z'\n ]);\n});\nexports.HourglassTwoTone = getIcon('hourglass', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 548c-42.2 0-81.9 16.4-111.7 46.3A156.63 156.63 0 0 0 354 706v134h316V706c0-42.2-16.4-81.9-46.3-111.7A156.63 156.63 0 0 0 512 548zM354 318c0 42.2 16.4 81.9 46.3 111.7C430.1 459.6 469.8 476 512 476s81.9-16.4 111.7-46.3C653.6 399.9 670 360.2 670 318V184H354v134z'\n ], [\n primaryColor,\n 'M742 318V184h86c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h86v134c0 81.5 42.4 153.2 106.4 194-64 40.8-106.4 112.5-106.4 194v134h-86c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h632c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-86V706c0-81.5-42.4-153.2-106.4-194 64-40.8 106.4-112.5 106.4-194zm-72 388v134H354V706c0-42.2 16.4-81.9 46.3-111.7C430.1 564.4 469.8 548 512 548s81.9 16.4 111.7 46.3C653.6 624.1 670 663.8 670 706zm0-388c0 42.2-16.4 81.9-46.3 111.7C593.9 459.6 554.2 476 512 476s-81.9-16.4-111.7-46.3A156.63 156.63 0 0 1 354 318V184h316v134z'\n ]);\n});\nexports.Html5TwoTone = getIcon('html5', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M145 96l66 746.6L511.8 928l299.6-85.4L878.7 96H145zm610.9 700.6l-244.1 69.6-245.2-69.6-56.7-641.2h603.8l-57.8 641.2z'\n ], [\n secondaryColor,\n 'M209.9 155.4l56.7 641.2 245.2 69.6 244.1-69.6 57.8-641.2H209.9zm530.4 117.9l-4.8 47.2-1.7 19.5H381.7l8.2 94.2H511v-.2h214.7l-3.2 24.3-21.2 242.2-1.7 16.3-187.7 51.7v.4h-1.7l-188.6-52-11.3-144.7h91l6.5 73.2 102.4 27.7h.8v-.2l102.4-27.7 11.4-118.5H511.9v.1H305.4l-22.7-253.5L281 249h461l-1.7 24.3z'\n ], [\n primaryColor,\n 'M281 249l1.7 24.3 22.7 253.5h206.5v-.1h112.9l-11.4 118.5L511 672.9v.2h-.8l-102.4-27.7-6.5-73.2h-91l11.3 144.7 188.6 52h1.7v-.4l187.7-51.7 1.7-16.3 21.2-242.2 3.2-24.3H511v.2H389.9l-8.2-94.2h352.1l1.7-19.5 4.8-47.2L742 249H511z'\n ]);\n});\nexports.IdcardTwoTone = getIcon('idcard', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V232h752v560z'\n ], [\n secondaryColor,\n 'M136 792h752V232H136v560zm472-372c0-4.4 1-8 2.3-8h123.4c1.3 0 2.3 3.6 2.3 8v48c0 4.4-1 8-2.3 8H610.3c-1.3 0-2.3-3.6-2.3-8v-48zm0 144c0-4.4 3.2-8 7.1-8h185.7c3.9 0 7.1 3.6 7.1 8v48c0 4.4-3.2 8-7.1 8H615.1c-3.9 0-7.1-3.6-7.1-8v-48zM216.2 664.6c2.8-53.3 31.9-99.6 74.6-126.1-18.1-20-29.1-46.4-29.1-75.5 0-61.9 49.9-112 111.4-112s111.4 50.1 111.4 112c0 29.1-11 55.6-29.1 75.5 42.6 26.4 71.8 72.8 74.6 126.1a8 8 0 0 1-8 8.4h-43.9c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.5-46-90.5-97.2-90.5s-93.4 40-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5H224c-4.6 0-8.2-3.8-7.8-8.4z'\n ], [\n secondaryColor,\n 'M321.3 463a51.7 52 0 1 0 103.4 0 51.7 52 0 1 0-103.4 0z'\n ], [\n primaryColor,\n 'M610.3 476h123.4c1.3 0 2.3-3.6 2.3-8v-48c0-4.4-1-8-2.3-8H610.3c-1.3 0-2.3 3.6-2.3 8v48c0 4.4 1 8 2.3 8zm4.8 144h185.7c3.9 0 7.1-3.6 7.1-8v-48c0-4.4-3.2-8-7.1-8H615.1c-3.9 0-7.1 3.6-7.1 8v48c0 4.4 3.2 8 7.1 8zM224 673h43.9c4.2 0 7.6-3.3 7.9-7.5 3.8-50.5 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H522a8 8 0 0 0 8-8.4c-2.8-53.3-32-99.7-74.6-126.1a111.8 111.8 0 0 0 29.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 0 0-74.6 126.1c-.4 4.6 3.2 8.4 7.8 8.4zm149-262c28.5 0 51.7 23.3 51.7 52s-23.2 52-51.7 52-51.7-23.3-51.7-52 23.2-52 51.7-52z'\n ]);\n});\nexports.InfoCircleTwoTone = getIcon('info-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm32 588c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M464 336a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.InsuranceTwoTone = getIcon('insurance', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z'\n ], [secondaryColor, 'M521.9 358.8h97.9v41.6h-97.9z'], [\n secondaryColor,\n 'M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zM413.3 656h-.2c0 4.4-3.6 8-8 8h-37.3c-4.4 0-8-3.6-8-8V471.4c-7.7 9.2-15.4 17.9-23.1 26a6.04 6.04 0 0 1-10.2-2.4l-13.2-43.5c-.6-2-.2-4.1 1.2-5.6 37-43.4 64.7-95.1 82.2-153.6 1.1-3.5 5-5.3 8.4-3.7l38.6 18.3c2.7 1.3 4.1 4.4 3.2 7.2a429.2 429.2 0 0 1-33.6 79V656zm257.9-340v127.2c0 4.4-3.6 8-8 8h-66.7v18.6h98.8c4.4 0 8 3.6 8 8v35.6c0 4.4-3.6 8-8 8h-59c18.1 29.1 41.8 54.3 72.3 76.9 2.6 2.1 3.2 5.9 1.2 8.5l-26.3 35.3a5.92 5.92 0 0 1-8.9.7c-30.6-29.3-56.8-65.2-78.1-106.9V656c0 4.4-3.6 8-8 8h-36.2c-4.4 0-8-3.6-8-8V536c-22 44.7-49 80.8-80.6 107.6a6.38 6.38 0 0 1-4.8 1.4c-1.7-.3-3.2-1.3-4.1-2.8L432 605.7a6 6 0 0 1 1.6-8.1c28.6-20.3 51.9-45.2 71-76h-55.1c-4.4 0-8-3.6-8-8V478c0-4.4 3.6-8 8-8h94.9v-18.6h-65.9c-4.4 0-8-3.6-8-8V316c0-4.4 3.6-8 8-8h184.7c4.4 0 8 3.6 8 8z'\n ], [\n primaryColor,\n 'M443.7 306.9l-38.6-18.3c-3.4-1.6-7.3.2-8.4 3.7-17.5 58.5-45.2 110.2-82.2 153.6a5.7 5.7 0 0 0-1.2 5.6l13.2 43.5c1.4 4.5 7 5.8 10.2 2.4 7.7-8.1 15.4-16.8 23.1-26V656c0 4.4 3.6 8 8 8h37.3c4.4 0 8-3.6 8-8h.2V393.1a429.2 429.2 0 0 0 33.6-79c.9-2.8-.5-5.9-3.2-7.2zm26.8 9.1v127.4c0 4.4 3.6 8 8 8h65.9V470h-94.9c-4.4 0-8 3.6-8 8v35.6c0 4.4 3.6 8 8 8h55.1c-19.1 30.8-42.4 55.7-71 76a6 6 0 0 0-1.6 8.1l22.8 36.5c.9 1.5 2.4 2.5 4.1 2.8 1.7.3 3.5-.2 4.8-1.4 31.6-26.8 58.6-62.9 80.6-107.6v120c0 4.4 3.6 8 8 8h36.2c4.4 0 8-3.6 8-8V535.9c21.3 41.7 47.5 77.6 78.1 106.9 2.6 2.5 6.7 2.2 8.9-.7l26.3-35.3c2-2.6 1.4-6.4-1.2-8.5-30.5-22.6-54.2-47.8-72.3-76.9h59c4.4 0 8-3.6 8-8v-35.6c0-4.4-3.6-8-8-8h-98.8v-18.6h66.7c4.4 0 8-3.6 8-8V316c0-4.4-3.6-8-8-8H478.5c-4.4 0-8 3.6-8 8zm51.4 42.8h97.9v41.6h-97.9v-41.6z'\n ]);\n});\nexports.InteractionTwoTone = getIcon('interaction', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm114-401.9c0-55.3 44.6-100.1 99.7-100.1h205.8v-53.4c0-5.6 6.5-8.8 10.9-5.3L723.5 365c3.5 2.7 3.5 8 0 10.7l-109.1 85.7c-4.4 3.5-10.9.4-10.9-5.3v-53.4H397.8c-19.6 0-35.5 15.9-35.5 35.6v78.9c0 3.8-3.1 6.8-6.8 6.8h-50.7c-3.8 0-6.8-3-6.8-7v-78.9zm2.6 210.3l109.1-85.7c4.4-3.5 10.9-.4 10.9 5.3v53.4h205.6c19.6 0 35.5-15.9 35.5-35.6v-78.9c0-3.8 3.1-6.8 6.8-6.8h50.7c3.8 0 6.8 3.1 6.8 6.8v78.9c0 55.3-44.6 100.1-99.7 100.1H420.6v53.4c0 5.6-6.5 8.8-10.9 5.3l-109.1-85.7c-3.5-2.7-3.5-8 0-10.5z'\n ], [\n primaryColor,\n 'M304.8 524h50.7c3.7 0 6.8-3 6.8-6.8v-78.9c0-19.7 15.9-35.6 35.5-35.6h205.7v53.4c0 5.7 6.5 8.8 10.9 5.3l109.1-85.7c3.5-2.7 3.5-8 0-10.7l-109.1-85.7c-4.4-3.5-10.9-.3-10.9 5.3V338H397.7c-55.1 0-99.7 44.8-99.7 100.1V517c0 4 3 7 6.8 7zm-4.2 134.9l109.1 85.7c4.4 3.5 10.9.3 10.9-5.3v-53.4h205.7c55.1 0 99.7-44.8 99.7-100.1v-78.9c0-3.7-3-6.8-6.8-6.8h-50.7c-3.7 0-6.8 3-6.8 6.8v78.9c0 19.7-15.9 35.6-35.5 35.6H420.6V568c0-5.7-6.5-8.8-10.9-5.3l-109.1 85.7c-3.5 2.5-3.5 7.8 0 10.5z'\n ]);\n});\nexports.InterationTwoTone = getIcon('interation', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm114-401.9c0-55.3 44.6-100.1 99.7-100.1h205.8v-53.4c0-5.6 6.5-8.8 10.9-5.3L723.5 365c3.5 2.7 3.5 8 0 10.7l-109.1 85.7c-4.4 3.5-10.9.4-10.9-5.3v-53.4H397.8c-19.6 0-35.5 15.9-35.5 35.6v78.9c0 3.8-3.1 6.8-6.8 6.8h-50.7c-3.8 0-6.8-3-6.8-7v-78.9zm2.6 210.3l109.1-85.7c4.4-3.5 10.9-.4 10.9 5.3v53.4h205.6c19.6 0 35.5-15.9 35.5-35.6v-78.9c0-3.8 3.1-6.8 6.8-6.8h50.7c3.8 0 6.8 3.1 6.8 6.8v78.9c0 55.3-44.6 100.1-99.7 100.1H420.6v53.4c0 5.6-6.5 8.8-10.9 5.3l-109.1-85.7c-3.5-2.7-3.5-8 0-10.5z'\n ], [\n primaryColor,\n 'M304.8 524h50.7c3.7 0 6.8-3 6.8-6.8v-78.9c0-19.7 15.9-35.6 35.5-35.6h205.7v53.4c0 5.7 6.5 8.8 10.9 5.3l109.1-85.7c3.5-2.7 3.5-8 0-10.7l-109.1-85.7c-4.4-3.5-10.9-.3-10.9 5.3V338H397.7c-55.1 0-99.7 44.8-99.7 100.1V517c0 4 3 7 6.8 7zm-4.2 134.9l109.1 85.7c4.4 3.5 10.9.3 10.9-5.3v-53.4h205.7c55.1 0 99.7-44.8 99.7-100.1v-78.9c0-3.7-3-6.8-6.8-6.8h-50.7c-3.7 0-6.8 3-6.8 6.8v78.9c0 19.7-15.9 35.6-35.5 35.6H420.6V568c0-5.7-6.5-8.8-10.9-5.3l-109.1 85.7c-3.5 2.5-3.5 7.8 0 10.5z'\n ]);\n});\nexports.LayoutTwoTone = getIcon('layout', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M384 185h456v136H384zm-200 0h136v656H184zm696-73H144c-17.7 0-32 14.3-32 32v1c0-17.7 14.3-32 32-32h736c17.7 0 32 14.3 32 32v-1c0-17.7-14.3-32-32-32zM384 385h456v456H384z'\n ], [\n primaryColor,\n 'M880 113H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V145c0-17.7-14.3-32-32-32zM320 841H184V185h136v656zm520 0H384V385h456v456zm0-520H384V185h456v136z'\n ]);\n});\nexports.LeftCircleTwoTone = getIcon('left-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm104 240.9c0 10.3-4.9 19.9-13.2 25.9L457.4 512l145.4 105.1c8.3 6 13.2 15.7 13.2 25.9v46.9c0 6.5-7.4 10.3-12.7 6.5l-246-178a7.95 7.95 0 0 1 0-12.9l246-178c5.3-3.8 12.7 0 12.7 6.5v46.9z'\n ], [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n primaryColor,\n 'M603.3 327.5l-246 178a7.95 7.95 0 0 0 0 12.9l246 178c5.3 3.8 12.7 0 12.7-6.5V643c0-10.2-4.9-19.9-13.2-25.9L457.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5z'\n ]);\n});\nexports.LeftSquareTwoTone = getIcon('left-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm181.3-334.5l246-178c5.3-3.8 12.7 0 12.7 6.5v46.9c0 10.3-4.9 19.9-13.2 25.9L465.4 512l145.4 105.2c8.3 6 13.2 15.7 13.2 25.9V690c0 6.5-7.4 10.3-12.7 6.4l-246-178a7.95 7.95 0 0 1 0-12.9z'\n ], [\n primaryColor,\n 'M365.3 518.4l246 178c5.3 3.9 12.7.1 12.7-6.4v-46.9c0-10.2-4.9-19.9-13.2-25.9L465.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5l-246 178a7.95 7.95 0 0 0 0 12.9z'\n ]);\n});\nexports.LikeTwoTone = getIcon('like', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M273 495.9v428l.3-428zm538.2-88.3H496.8l9.6-198.4c.6-11.9-4.7-23.1-14.6-30.5-6.1-4.5-13.6-6.8-21.1-6.7-19.6.1-36.9 13.4-42.2 32.3-37.1 134.4-64.9 235.2-83.5 302.5V852h399.4a56.85 56.85 0 0 0 33.6-51.8c0-9.7-2.3-18.9-6.9-27.3l-13.9-25.4 21.9-19a56.76 56.76 0 0 0 19.6-43c0-9.7-2.3-18.9-6.9-27.3l-13.9-25.4 21.9-19a56.76 56.76 0 0 0 19.6-43c0-9.7-2.3-18.9-6.9-27.3l-14-25.5 21.9-19a56.76 56.76 0 0 0 19.6-43c0-19.1-11-37.5-28.8-48.4z'\n ], [\n primaryColor,\n 'M112 528v364c0 17.7 14.3 32 32 32h65V496h-65c-17.7 0-32 14.3-32 32zm773.9 5.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.5-65.5-111a67.67 67.67 0 0 0-34.3-9.3H572.3l6-122.9c1.5-29.7-9-57.9-29.5-79.4a106.4 106.4 0 0 0-77.9-33.4c-52 0-98 35-111.8 85.1l-85.8 310.8-.3 428h472.1c9.3 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37zM820.4 499l-21.9 19 14 25.5a56.2 56.2 0 0 1 6.9 27.3c0 16.5-7.1 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 16.5-7.1 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 22.4-13.2 42.6-33.6 51.8H345V506.8c18.6-67.2 46.4-168 83.5-302.5a44.28 44.28 0 0 1 42.2-32.3c7.5-.1 15 2.2 21.1 6.7 9.9 7.4 15.2 18.6 14.6 30.5l-9.6 198.4h314.4C829 418.5 840 436.9 840 456c0 16.5-7.1 32.2-19.6 43z'\n ]);\n});\nexports.LockTwoTone = getIcon('lock', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM332 240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224H332V240zm460 600H232V536h560v304z'\n ], [\n secondaryColor,\n 'M232 840h560V536H232v304zm280-226a48.01 48.01 0 0 1 28 87v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 0 1 28-87z'\n ], [\n primaryColor,\n 'M484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z'\n ]);\n});\nexports.MailTwoTone = getIcon('mail', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M477.5 536.3L135.9 270.7l-27.5-21.4 27.6 21.5V792h752V270.8L546.2 536.3a55.99 55.99 0 0 1-68.7 0z'\n ], [secondaryColor, 'M876.3 198.8l39.3 50.5-27.6 21.5 27.7-21.5-39.3-50.5z'], [\n primaryColor,\n 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-94.5 72.1L512 482 190.5 232.1h643zm54.5 38.7V792H136V270.8l-27.6-21.5 27.5 21.4 341.6 265.6a55.99 55.99 0 0 0 68.7 0L888 270.8l27.6-21.5-39.3-50.5h.1l39.3 50.5-27.7 21.5z'\n ]);\n});\nexports.MedicineBoxTwoTone = getIcon('medicine-box', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M244.3 328L184 513.4V840h656V513.4L779.7 328H244.3zM660 628c0 4.4-3.6 8-8 8H544v108c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V636H372c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h108V464c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v108h108c4.4 0 8 3.6 8 8v48z'\n ], [\n primaryColor,\n 'M652 572H544V464c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V636h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ], [\n primaryColor,\n 'M839.2 278.1a32 32 0 0 0-30.4-22.1H736V144c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v112h-72.8a31.9 31.9 0 0 0-30.4 22.1L112 502v378c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V502l-72.8-223.9zM360 184h304v72H360v-72zm480 656H184V513.4L244.3 328h535.4L840 513.4V840z'\n ]);\n});\nexports.MehTwoTone = getIcon('meh', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm384 200c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h304c4.4 0 8 3.6 8 8v48zm16-152a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm376 144H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-24-144a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'\n ]);\n});\nexports.MessageTwoTone = getIcon('message', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M775.3 248.9a369.62 369.62 0 0 0-119-80A370.2 370.2 0 0 0 512.1 140h-1.7c-99.7.4-193 39.4-262.8 109.9-69.9 70.5-108 164.1-107.6 263.8.3 60.3 15.3 120.2 43.5 173.1l4.5 8.4V836h140.8l8.4 4.5c52.9 28.2 112.8 43.2 173.1 43.5h1.7c99 0 192-38.2 262.1-107.6 70.4-69.8 109.5-163.1 110.1-262.7.2-50.6-9.5-99.6-28.9-145.8a370.15 370.15 0 0 0-80-119zM312 560a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96zm200 0a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96zm200 0a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M664 512a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm-400 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'\n ], [\n primaryColor,\n 'M925.2 338.4c-22.6-53.7-55-101.9-96.3-143.3a444.35 444.35 0 0 0-143.3-96.3C630.6 75.7 572.2 64 512 64h-2c-60.6.3-119.3 12.3-174.5 35.9a445.35 445.35 0 0 0-142 96.5c-40.9 41.3-73 89.3-95.2 142.8-23 55.4-34.6 114.3-34.3 174.9A449.4 449.4 0 0 0 112 714v152a46 46 0 0 0 46 46h152.1A449.4 449.4 0 0 0 510 960h2.1c59.9 0 118-11.6 172.7-34.3a444.48 444.48 0 0 0 142.8-95.2c41.3-40.9 73.8-88.7 96.5-142 23.6-55.2 35.6-113.9 35.9-174.5.3-60.9-11.5-120-34.8-175.6zm-151.1 438C704 845.8 611 884 512 884h-1.7c-60.3-.3-120.2-15.3-173.1-43.5l-8.4-4.5H188V695.2l-4.5-8.4C155.3 633.9 140.3 574 140 513.7c-.4-99.7 37.7-193.3 107.6-263.8 69.8-70.5 163.1-109.5 262.8-109.9h1.7c50 0 98.5 9.7 144.2 28.9 44.6 18.7 84.6 45.6 119 80 34.3 34.3 61.3 74.4 80 119 19.4 46.2 29.1 95.2 28.9 145.8-.6 99.6-39.7 192.9-110.1 262.7z'\n ], [primaryColor, 'M464 512a48 48 0 1 0 96 0 48 48 0 1 0-96 0z']);\n});\nexports.MinusCircleTwoTone = getIcon('minus-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm192 396c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48z'\n ], [\n primaryColor,\n 'M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.MinusSquareTwoTone = getIcon('minus-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm136-352c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48z'\n ], [\n primaryColor,\n 'M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.MobileTwoTone = getIcon('mobile', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M744 64H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zm-8 824H288V136h448v752z'\n ], [\n secondaryColor,\n 'M288 888h448V136H288v752zm224-142c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'\n ], [primaryColor, 'M472 786a40 40 0 1 0 80 0 40 40 0 1 0-80 0z']);\n});\nexports.PauseCircleTwoTone = getIcon('pause-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm-80 524c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z'\n ], [\n primaryColor,\n 'M424 352h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zm224 0h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.MoneyCollectTwoTone = getIcon('money-collect', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M256 744.4l256 93.1 256-93.1V184H256v560.4zM359.7 313c1.2-.7 2.5-1 3.8-1h55.7a8 8 0 0 1 7.1 4.4L511 485.2h3.3L599 316.4c1.3-2.7 4.1-4.4 7.1-4.4h54.5c4.4 0 8 3.6 8.1 7.9 0 1.3-.4 2.6-1 3.8L564 515.3h57.6c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3v39h76.3c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3V704c0 4.4-3.6 8-8 8h-49.9c-4.4 0-8-3.6-8-8v-63.4h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h76v-39h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h57L356.5 323.8c-2.1-3.8-.7-8.7 3.2-10.8z'\n ], [\n primaryColor,\n 'M911.5 700.7a8 8 0 0 0-10.3-4.8L840 718.2V180c0-37.6-30.4-68-68-68H252c-37.6 0-68 30.4-68 68v538.2l-61.3-22.3c-.9-.3-1.8-.5-2.7-.5-4.4 0-8 3.6-8 8V763c0 3.3 2.1 6.3 5.3 7.5L501 910.1c7.1 2.6 14.8 2.6 21.9 0l383.8-139.5c3.2-1.2 5.3-4.2 5.3-7.5v-59.6c0-1-.2-1.9-.5-2.8zM768 744.4l-256 93.1-256-93.1V184h512v560.4z'\n ], [\n primaryColor,\n 'M460.4 515.4h-57c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76v39h-76c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76V704c0 4.4 3.6 8 8 8h49.9c4.4 0 8-3.6 8-8v-63.5h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8h-76.3v-39h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8H564l103.7-191.6c.6-1.2 1-2.5 1-3.8-.1-4.3-3.7-7.9-8.1-7.9h-54.5c-3 0-5.8 1.7-7.1 4.4l-84.7 168.8H511l-84.7-168.8a8 8 0 0 0-7.1-4.4h-55.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.8l103.9 191.6z'\n ]);\n});\nexports.NotificationTwoTone = getIcon('notification', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M229.6 678.1c-3.7 11.6-5.6 23.9-5.6 36.4 0-12.5 2-24.8 5.7-36.4h-.1zm76.3-260.2H184v188.2h121.9l12.9 5.2L840 820.7V203.3L318.8 412.7z'\n ], [\n primaryColor,\n 'M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.7c-3.7 11.6-5.7 23.9-5.7 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1zm496 58.4L318.8 611.3l-12.9-5.2H184V417.9h121.9l12.9-5.2L840 203.3v617.4z'\n ]);\n});\nexports.PhoneTwoTone = getIcon('phone', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M721.7 184.9L610.9 295.8l120.8 120.7-8 21.6A481.29 481.29 0 0 1 438 723.9l-21.6 8-.9-.9-119.8-120-110.8 110.9 104.5 104.5c10.8 10.7 26 15.7 40.8 13.2 117.9-19.5 235.4-82.9 330.9-178.4s158.9-213.1 178.4-331c2.5-14.8-2.5-30-13.3-40.8L721.7 184.9z'\n ], [\n primaryColor,\n 'M877.1 238.7L770.6 132.3c-13-13-30.4-20.3-48.8-20.3s-35.8 7.2-48.8 20.3L558.3 246.8c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l89.6 89.7a405.46 405.46 0 0 1-86.4 127.3c-36.7 36.9-79.6 66-127.2 86.6l-89.6-89.7c-13-13-30.4-20.3-48.8-20.3a68.2 68.2 0 0 0-48.8 20.3L132.3 673c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l106.4 106.4c22.2 22.2 52.8 34.9 84.2 34.9 6.5 0 12.8-.5 19.2-1.6 132.4-21.8 263.8-92.3 369.9-198.3C818 606 888.4 474.6 910.4 342.1c6.3-37.6-6.3-76.3-33.3-103.4zm-37.6 91.5c-19.5 117.9-82.9 235.5-178.4 331s-213 158.9-330.9 178.4c-14.8 2.5-30-2.5-40.8-13.2L184.9 721.9 295.7 611l119.8 120 .9.9 21.6-8a481.29 481.29 0 0 0 285.7-285.8l8-21.6-120.8-120.7 110.8-110.9 104.5 104.5c10.8 10.8 15.8 26 13.3 40.8z'\n ]);\n});\nexports.PictureTwoTone = getIcon('picture', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2z'\n ], [\n secondaryColor,\n 'M424.6 765.8l-150.1-178L136 752.1V792h752v-30.4L658.1 489z'\n ], [\n secondaryColor,\n 'M136 652.7l132.4-157c3.2-3.8 9-3.8 12.2 0l144 170.7L652 396.8c3.2-3.8 9-3.8 12.2 0L888 662.2V232H136v420.7zM304 280a88 88 0 1 1 0 176 88 88 0 0 1 0-176z'\n ], [secondaryColor, 'M276 368a28 28 0 1 0 56 0 28 28 0 1 0-56 0z'], [\n primaryColor,\n 'M304 456a88 88 0 1 0 0-176 88 88 0 0 0 0 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z'\n ]);\n});\nexports.PlayCircleTwoTone = getIcon('play-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm164.1 378.2L457.7 677.1a8.02 8.02 0 0 1-12.7-6.5V353a8 8 0 0 1 12.7-6.5l218.4 158.8a7.9 7.9 0 0 1 0 12.9z'\n ], [\n primaryColor,\n 'M676.1 505.3L457.7 346.5A8 8 0 0 0 445 353v317.6a8.02 8.02 0 0 0 12.7 6.5l218.4-158.9a7.9 7.9 0 0 0 0-12.9z'\n ]);\n});\nexports.PlaySquareTwoTone = getIcon('play-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm240-484.7c0-9.4 10.9-14.7 18.3-8.8l199.4 156.7a11.2 11.2 0 0 1 0 17.6L442.3 677.6c-7.4 5.8-18.3.6-18.3-8.8V355.3z'\n ], [\n primaryColor,\n 'M442.3 677.6l199.4-156.8a11.2 11.2 0 0 0 0-17.6L442.3 346.5c-7.4-5.9-18.3-.6-18.3 8.8v313.5c0 9.4 10.9 14.6 18.3 8.8z'\n ]);\n});\nexports.PieChartTwoTone = getIcon('pie-chart', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M316.2 920.5c-47.6-20.1-90.4-49-127.1-85.7a398.19 398.19 0 0 1-85.7-127.1A397.12 397.12 0 0 1 72 552.2v.2a398.57 398.57 0 0 0 117 282.5c36.7 36.7 79.4 65.5 127 85.6A396.64 396.64 0 0 0 471.6 952c27 0 53.6-2.7 79.7-7.9-25.9 5.2-52.4 7.8-79.3 7.8-54 .1-106.4-10.5-155.8-31.4zM560 472c-4.4 0-8-3.6-8-8V79.9c0-1.3.3-2.5.9-3.6-.9 1.3-1.5 2.9-1.5 4.6v383.7c0 4.4 3.6 8 8 8l383.6-1c1.6 0 3.1-.5 4.4-1.3-1 .5-2.2.7-3.4.7l-384 1z'\n ], [\n secondaryColor,\n 'M619.8 147.6v256.6l256.4-.7c-13-62.5-44.3-120.5-90-166.1a332.24 332.24 0 0 0-166.4-89.8z'\n ], [\n secondaryColor,\n 'M438 221.7c-75.9 7.6-146.2 40.9-200.8 95.5C174.5 379.9 140 463.3 140 552s34.5 172.1 97.2 234.8c62.3 62.3 145.1 96.8 233.2 97.2 88.2.4 172.7-34.1 235.3-96.2C761 733 794.6 662.3 802.3 586H438V221.7z'\n ], [\n primaryColor,\n 'M864 518H506V160c0-4.4-3.6-8-8-8h-26a398.46 398.46 0 0 0-282.8 117.1 398.19 398.19 0 0 0-85.7 127.1A397.61 397.61 0 0 0 72 552v.2c0 53.9 10.6 106.2 31.4 155.5 20.1 47.6 49 90.4 85.7 127.1 36.7 36.7 79.5 65.6 127.1 85.7A397.61 397.61 0 0 0 472 952c26.9 0 53.4-2.6 79.3-7.8 26.1-5.3 51.7-13.1 76.4-23.6 47.6-20.1 90.4-49 127.1-85.7 36.7-36.7 65.6-79.5 85.7-127.1A397.61 397.61 0 0 0 872 552v-26c0-4.4-3.6-8-8-8zM705.7 787.8A331.59 331.59 0 0 1 470.4 884c-88.1-.4-170.9-34.9-233.2-97.2C174.5 724.1 140 640.7 140 552s34.5-172.1 97.2-234.8c54.6-54.6 124.9-87.9 200.8-95.5V586h364.3c-7.7 76.3-41.3 147-96.6 201.8z'\n ], [\n primaryColor,\n 'M952 462.4l-2.6-28.2c-8.5-92.1-49.4-179-115.2-244.6A399.4 399.4 0 0 0 589 74.6L560.7 72c-3.4-.3-6.4 1.5-7.8 4.3a8.7 8.7 0 0 0-.9 3.6V464c0 4.4 3.6 8 8 8l384-1c1.2 0 2.3-.3 3.4-.7a8.1 8.1 0 0 0 4.6-7.9zm-332.2-58.2V147.6a332.24 332.24 0 0 1 166.4 89.8c45.7 45.6 77 103.6 90 166.1l-256.4.7z'\n ]);\n});\nexports.PlusCircleTwoTone = getIcon('plus-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm192 396c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48z'\n ], [\n primaryColor,\n 'M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.PlusSquareTwoTone = getIcon('plus-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm136-352c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48z'\n ], [\n primaryColor,\n 'M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.PoundCircleTwoTone = getIcon('pound-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm146 582.1c0 4.4-3.6 8-8 8H376.2c-4.4 0-8-3.6-8-8v-38.5c0-3.7 2.5-6.9 6.1-7.8 44-10.9 72.8-49 72.8-94.2 0-14.7-2.5-29.4-5.9-44.2H374c-4.4 0-8-3.6-8-8v-30c0-4.4 3.6-8 8-8h53.7c-7.8-25.1-14.6-50.7-14.6-77.1 0-75.8 58.6-120.3 151.5-120.3 26.5 0 51.4 5.5 70.3 12.7 3.1 1.2 5.2 4.2 5.2 7.5v39.5a8 8 0 0 1-10.6 7.6c-17.9-6.4-39-10.5-60.4-10.5-53.3 0-87.3 26.6-87.3 70.2 0 24.7 6.2 47.9 13.4 70.5h112c4.4 0 8 3.6 8 8v30c0 4.4-3.6 8-8 8h-98.6c3.1 13.2 5.3 26.9 5.3 41 0 40.7-16.5 73.9-43.9 91.1v4.7h180c4.4 0 8 3.6 8 8v39.8z'\n ], [\n primaryColor,\n 'M650 674.3H470v-4.7c27.4-17.2 43.9-50.4 43.9-91.1 0-14.1-2.2-27.8-5.3-41h98.6c4.4 0 8-3.6 8-8v-30c0-4.4-3.6-8-8-8h-112c-7.2-22.6-13.4-45.8-13.4-70.5 0-43.6 34-70.2 87.3-70.2 21.4 0 42.5 4.1 60.4 10.5a8 8 0 0 0 10.6-7.6v-39.5c0-3.3-2.1-6.3-5.2-7.5-18.9-7.2-43.8-12.7-70.3-12.7-92.9 0-151.5 44.5-151.5 120.3 0 26.4 6.8 52 14.6 77.1H374c-4.4 0-8 3.6-8 8v30c0 4.4 3.6 8 8 8h67.2c3.4 14.8 5.9 29.5 5.9 44.2 0 45.2-28.8 83.3-72.8 94.2-3.6.9-6.1 4.1-6.1 7.8v38.5c0 4.4 3.6 8 8 8H650c4.4 0 8-3.6 8-8v-39.8c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.PrinterTwoTone = getIcon('printer', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M360 180h304v152H360zm492 220H172c-6.6 0-12 5.4-12 12v292h132V500h440v204h132V412c0-6.6-5.4-12-12-12zm-24 84c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v40z'\n ], [\n primaryColor,\n 'M852 332H732V120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM360 180h304v152H360V180zm304 664H360V568h304v276zm200-140H732V500H292v204H160V412c0-6.6 5.4-12 12-12h680c6.6 0 12 5.4 12 12v292z'\n ], [\n primaryColor,\n 'M820 436h-40c-4.4 0-8 3.6-8 8v40c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-40c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.ProfileTwoTone = getIcon('profile', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm300-496c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48zm0 144c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48zm0 144c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48zM380 328c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm0 144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm0 144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'\n ], [\n primaryColor,\n 'M340 656a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0-144a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0-144a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm152 320h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0-144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0-144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.ProjectTwoTone = getIcon('project', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm472-560c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v256c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280zm-192 0c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280zm-192 0c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v464c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280z'\n ], [\n primaryColor,\n 'M280 752h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8zm192-280h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm192 72h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v256c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.PushpinTwoTone = getIcon('pushpin', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M474.8 357.7l-24.5 24.5-34.4-3.8c-9.6-1.1-19.3-1.6-28.9-1.6-29 0-57.5 4.7-84.7 14.1-14 4.8-27.4 10.8-40.3 17.9l353.1 353.3a259.92 259.92 0 0 0 30.4-153.9l-3.8-34.4 24.5-24.5L800 415.5 608.5 224 474.8 357.7z'\n ], [\n primaryColor,\n 'M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 0 0-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 0 1-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z'\n ]);\n});\nexports.PropertySafetyTwoTone = getIcon('property-safety', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z'\n ], [\n secondaryColor,\n 'M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zM593.9 318h45c5.5 0 10 4.5 10 10 .1 1.7-.3 3.3-1.1 4.8l-87.7 161.1h45.7c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4v29.7h63.4c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4V658c0 5.5-4.5 10-10 10h-41.3c-5.5 0-10-4.5-10-10v-51.8H418c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h63.1v-29.7H418c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h45.2l-88-161.1c-2.6-4.8-.9-10.9 4-13.6 1.5-.8 3.1-1.2 4.8-1.2h46c3.8 0 7.2 2.1 8.9 5.5l72.9 144.3L585 323.5a10 10 0 0 1 8.9-5.5z'\n ], [\n primaryColor,\n 'M438.9 323.5a9.88 9.88 0 0 0-8.9-5.5h-46c-1.7 0-3.3.4-4.8 1.2-4.9 2.7-6.6 8.8-4 13.6l88 161.1H418c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1v29.7H418c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1V658c0 5.5 4.5 10 10 10h41.3c5.5 0 10-4.5 10-10v-51.8h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-63.4v-29.7h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-45.7l87.7-161.1c.8-1.5 1.2-3.1 1.1-4.8 0-5.5-4.5-10-10-10h-45a10 10 0 0 0-8.9 5.5l-73.2 144.3-72.9-144.3z'\n ]);\n});\nexports.QuestionCircleTwoTone = getIcon('question-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm0 632c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm62.9-219.5a48.3 48.3 0 0 0-30.9 44.8V620c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-21.5c0-23.1 6.7-45.9 19.9-64.9 12.9-18.6 30.9-32.8 52.1-40.9 34-13.1 56-41.6 56-72.7 0-44.1-43.1-80-96-80s-96 35.9-96 80v7.6c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V420c0-39.3 17.2-76 48.4-103.3C430.4 290.4 470 276 512 276s81.6 14.5 111.6 40.7C654.8 344 672 380.7 672 420c0 57.8-38.1 109.8-97.1 132.5z'\n ], [\n primaryColor,\n 'M472 732a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm151.6-415.3C593.6 290.5 554 276 512 276s-81.6 14.4-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.2 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0 1 30.9-44.8c59-22.7 97.1-74.7 97.1-132.5 0-39.3-17.2-76-48.4-103.3z'\n ]);\n});\nexports.ReconciliationTwoTone = getIcon('reconciliation', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M740 344H404V240H304v160h176c17.7 0 32 14.3 32 32v360h328V240H740v104zM584 448c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56zm92 301c-50.8 0-92-41.2-92-92s41.2-92 92-92 92 41.2 92 92-41.2 92-92 92zm92-341v96c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-96c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8z'\n ], [secondaryColor, 'M642 657a34 34 0 1 0 68 0 34 34 0 1 0-68 0z'], [\n primaryColor,\n 'M592 512h48c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm112-104v96c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8z'\n ], [\n primaryColor,\n 'M880 168H668c0-30.9-25.1-56-56-56h-80c-30.9 0-56 25.1-56 56H264c-17.7 0-32 14.3-32 32v200h-88c-17.7 0-32 14.3-32 32v448c0 17.7 14.3 32 32 32h336c17.7 0 32-14.3 32-32v-16h368c17.7 0 32-14.3 32-32V200c0-17.7-14.3-32-32-32zm-412 64h72v-56h64v56h72v48H468v-48zm-20 616H176V616h272v232zm0-296H176v-88h272v88zm392 240H512V432c0-17.7-14.3-32-32-32H304V240h100v104h336V240h100v552z'\n ], [\n primaryColor,\n 'M676 565c-50.8 0-92 41.2-92 92s41.2 92 92 92 92-41.2 92-92-41.2-92-92-92zm0 126c-18.8 0-34-15.2-34-34s15.2-34 34-34 34 15.2 34 34-15.2 34-34 34z'\n ]);\n});\nexports.RedEnvelopeTwoTone = getIcon('red-envelope', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V193.1l260.3 204.1c11.6 9.1 27.9 9.1 39.5 0L792 193.1V888zm0-751.3h-31.7L512 331.3 263.7 136.7H232v-.7h560v.7z'\n ], [\n secondaryColor,\n 'M492.3 397.2L232 193.1V888h560V193.1L531.8 397.2a31.99 31.99 0 0 1-39.5 0zm99.4 60.9h47.8a8.45 8.45 0 0 1 7.4 12.4l-87.2 161h45.9c4.6 0 8.4 3.8 8.4 8.4V665c0 4.6-3.8 8.4-8.4 8.4h-63.3V702h63.3c4.6 0 8.4 3.8 8.4 8.4v25c.2 4.7-3.5 8.5-8.2 8.5h-63.3v49.9c0 4.6-3.8 8.4-8.4 8.4h-43.7c-4.6 0-8.4-3.8-8.4-8.4v-49.9h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h63v-28.6h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h45.4L377 470.4a8.4 8.4 0 0 1 3.4-11.4c1.3-.6 2.6-1 3.9-1h48.8c3.2 0 6.1 1.8 7.5 4.6l71.7 142 71.9-141.9a8.6 8.6 0 0 1 7.5-4.6z'\n ], [secondaryColor, 'M232 136.7h31.7L512 331.3l248.3-194.6H792v-.7H232z'], [\n primaryColor,\n 'M440.6 462.6a8.38 8.38 0 0 0-7.5-4.6h-48.8c-1.3 0-2.6.4-3.9 1a8.4 8.4 0 0 0-3.4 11.4l87.4 161.1H419c-4.6 0-8.4 3.8-8.4 8.4V665c0 4.6 3.8 8.4 8.4 8.4h63V702h-63c-4.6 0-8.4 3.8-8.4 8.4v25.1c0 4.6 3.8 8.4 8.4 8.4h63v49.9c0 4.6 3.8 8.4 8.4 8.4h43.7c4.6 0 8.4-3.8 8.4-8.4v-49.9h63.3c4.7 0 8.4-3.8 8.2-8.5v-25c0-4.6-3.8-8.4-8.4-8.4h-63.3v-28.6h63.3c4.6 0 8.4-3.8 8.4-8.4v-25.1c0-4.6-3.8-8.4-8.4-8.4h-45.9l87.2-161a8.45 8.45 0 0 0-7.4-12.4h-47.8c-3.1 0-6 1.8-7.5 4.6l-71.9 141.9-71.7-142z'\n ]);\n});\nexports.RestTwoTone = getIcon('rest', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M326.4 844h363.2l44.3-520H282l44.4 520zM508 416c79.5 0 144 64.5 144 144s-64.5 144-144 144-144-64.5-144-144 64.5-144 144-144z'\n ], [\n primaryColor,\n 'M508 704c79.5 0 144-64.5 144-144s-64.5-144-144-144-144 64.5-144 144 64.5 144 144 144zm0-224c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z'\n ], [\n primaryColor,\n 'M832 256h-28.1l-35.7-120.9c-4-13.7-16.5-23.1-30.7-23.1h-451c-14.3 0-26.8 9.4-30.7 23.1L220.1 256H192c-17.7 0-32 14.3-32 32v28c0 4.4 3.6 8 8 8h45.8l47.7 558.7a32 32 0 0 0 31.9 29.3h429.2a32 32 0 0 0 31.9-29.3L802.2 324H856c4.4 0 8-3.6 8-8v-28c0-17.7-14.3-32-32-32zm-518.6-76h397.2l22.4 76H291l22.4-76zm376.2 664H326.4L282 324h451.9l-44.3 520z'\n ]);\n});\nexports.RightCircleTwoTone = getIcon('right-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm154.7 378.4l-246 178c-5.3 3.8-12.7 0-12.7-6.5V643c0-10.2 4.9-19.9 13.2-25.9L566.6 512 421.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.7 0 12.9z'\n ], [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n primaryColor,\n 'M666.7 505.5l-246-178c-5.3-3.8-12.7 0-12.7 6.5v46.9c0 10.3 4.9 19.9 13.2 25.9L566.6 512 421.2 617.1c-8.3 6-13.2 15.7-13.2 25.9v46.9c0 6.5 7.4 10.3 12.7 6.5l246-178c4.4-3.2 4.4-9.7 0-12.9z'\n ]);\n});\nexports.RocketTwoTone = getIcon('rocket', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M261.7 621.4c-9.4 14.6-17 30.3-22.5 46.6H324V558.7c-24.8 16.2-46 37.5-62.3 62.7zM700 558.7V668h84.8c-5.5-16.3-13.1-32-22.5-46.6a211.6 211.6 0 0 0-62.3-62.7zm-64-239.9l-124-147-124 147V668h248V318.8zM512 448a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 0 0-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0 0 43.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0 0 43.1-30.5 97.52 97.52 0 0 0 21.4-60.8c0-8.4-1.1-16.4-3.1-23.8L864 736zm-540-68h-84.8c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668zm64-184.9V318.8l124-147 124 147V668H388V483.1zm240.1 301.1c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5s-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 0 1-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM700 668V558.7a211.6 211.6 0 0 1 62.3 62.7c9.4 14.6 17 30.3 22.5 46.6H700z'\n ], [primaryColor, 'M464 400a48 48 0 1 0 96 0 48 48 0 1 0-96 0z']);\n});\nexports.RightSquareTwoTone = getIcon('right-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm216-196.9c0-10.2 4.9-19.9 13.2-25.9L558.6 512 413.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.7 0 12.9l-246 178c-5.3 3.9-12.7.1-12.7-6.4v-46.9z'\n ], [\n primaryColor,\n 'M412.7 696.4l246-178c4.4-3.2 4.4-9.7 0-12.9l-246-178c-5.3-3.8-12.7 0-12.7 6.5v46.9c0 10.3 4.9 19.9 13.2 25.9L558.6 512 413.2 617.2c-8.3 6-13.2 15.7-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.4z'\n ]);\n});\nexports.SafetyCertificateTwoTone = getIcon('safety-certificate', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z'\n ], [\n secondaryColor,\n 'M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zM632.8 328H688c6.5 0 10.3 7.4 6.5 12.7L481.9 633.4a16.1 16.1 0 0 1-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.2 0 10 2.5 13 6.6l64.7 89.1 150.9-207.8c3-4.1 7.9-6.6 13-6.6z'\n ], [\n primaryColor,\n 'M404.2 453.3c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0 0 26 0l212.6-292.7c3.8-5.3 0-12.7-6.5-12.7h-55.2c-5.1 0-10 2.5-13 6.6L468.9 542.4l-64.7-89.1z'\n ]);\n});\nexports.SaveTwoTone = getIcon('save', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M704 320c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V184H184v656h656V341.8l-136-136V320zM512 730c-79.5 0-144-64.5-144-144s64.5-144 144-144 144 64.5 144 144-64.5 144-144 144z'\n ], [\n primaryColor,\n 'M512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z'\n ], [\n primaryColor,\n 'M893.3 293.3L730.7 130.7c-.7-.7-1.4-1.3-2.1-2-.1-.1-.3-.2-.4-.3-.7-.7-1.5-1.3-2.2-1.9a64 64 0 0 0-22-11.7V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840z'\n ]);\n});\nexports.ScheduleTwoTone = getIcon('schedule', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M768 352c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H548v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H328v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H136v496h752V296H768v56zM424 688c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-136c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm374.4-91.2l-165 228.7a15.9 15.9 0 0 1-25.8 0L493.5 531.3c-3.8-5.3 0-12.7 6.5-12.7h54.9c5.1 0 9.9 2.4 12.9 6.6l52.8 73.1 103.6-143.7c3-4.1 7.8-6.6 12.8-6.5h54.9c6.5 0 10.3 7.4 6.5 12.7z'\n ], [\n primaryColor,\n 'M724.2 454.6L620.6 598.3l-52.8-73.1c-3-4.2-7.8-6.6-12.9-6.6H500c-6.5 0-10.3 7.4-6.5 12.7l114.1 158.2a15.9 15.9 0 0 0 25.8 0l165-228.7c3.8-5.3 0-12.7-6.5-12.7H737c-5-.1-9.8 2.4-12.8 6.5zM416 496H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ], [\n primaryColor,\n 'M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496z'\n ], [\n primaryColor,\n 'M416 632H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.SecurityScanTwoTone = getIcon('security-scan', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z'\n ], [\n secondaryColor,\n 'M460.7 451.1a80.1 80.1 0 1 0 160.2 0 80.1 80.1 0 1 0-160.2 0z'\n ], [\n secondaryColor,\n 'M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zm428.7 122.5c56.3 56.3 56.3 147.5 0 203.8-48.5 48.5-123 55.2-178.6 20.1l-77.5 77.5a8.03 8.03 0 0 1-11.3 0l-34-34a8.03 8.03 0 0 1 0-11.3l77.5-77.5c-35.1-55.7-28.4-130.1 20.1-178.6 56.3-56.3 147.5-56.3 203.8 0z'\n ], [\n primaryColor,\n 'M418.8 527.8l-77.5 77.5a8.03 8.03 0 0 0 0 11.3l34 34c3.1 3.1 8.2 3.1 11.3 0l77.5-77.5c55.6 35.1 130.1 28.4 178.6-20.1 56.3-56.3 56.3-147.5 0-203.8-56.3-56.3-147.5-56.3-203.8 0-48.5 48.5-55.2 122.9-20.1 178.6zm65.4-133.3a80.1 80.1 0 0 1 113.3 0 80.1 80.1 0 0 1 0 113.3c-31.3 31.3-82 31.3-113.3 0s-31.3-82 0-113.3z'\n ]);\n});\nexports.SettingTwoTone = getIcon('setting', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M859.3 569.7l.2.1c3.1-18.9 4.6-38.2 4.6-57.3 0-17.1-1.3-34.3-3.7-51.1 2.4 16.7 3.6 33.6 3.6 50.5 0 19.4-1.6 38.8-4.7 57.8zM99 398.1c-.5-.4-.9-.8-1.4-1.3.7.7 1.4 1.4 2.2 2.1l65.5 55.9v-.1L99 398.1zm536.6-216h.1l-15.5-83.8c-.2-1-.4-1.9-.7-2.8.1.5.3 1.1.4 1.6l15.7 85zm54 546.5l31.4-25.8 92.8 32.9c17-22.9 31.3-47.5 42.6-73.6l-74.7-63.9 6.6-40.1c2.5-15.1 3.8-30.6 3.8-46.1s-1.3-31-3.8-46.1l-6.5-39.9 74.7-63.9c-11.4-26-25.6-50.7-42.6-73.6l-92.8 32.9-31.4-25.8c-23.9-19.6-50.6-35-79.3-45.8l-38.1-14.3-17.9-97a377.5 377.5 0 0 0-85 0l-17.9 97.2-37.9 14.3c-28.5 10.8-55 26.2-78.7 45.7l-31.4 25.9-93.4-33.2c-17 22.9-31.3 47.5-42.6 73.6l75.5 64.5-6.5 40c-2.5 14.9-3.7 30.2-3.7 45.5 0 15.2 1.3 30.6 3.7 45.5l6.5 40-75.5 64.5c11.4 26 25.6 50.7 42.6 73.6l93.4-33.2 31.4 25.9c23.7 19.5 50.2 34.9 78.7 45.7l37.8 14.5 17.9 97.2c28.2 3.2 56.9 3.2 85 0l17.9-97 38.1-14.3c28.8-10.8 55.4-26.2 79.3-45.8zm-177.1-50.3c-30.5 0-59.2-7.8-84.3-21.5C373.3 627 336 568.9 336 502c0-97.2 78.8-176 176-176 66.9 0 125 37.3 154.8 92.2 13.7 25 21.5 53.7 21.5 84.3 0 97.1-78.7 175.8-175.8 175.8zM207.2 812.8c-5.5 1.9-11.2 2.3-16.6 1.2 5.7 1.2 11.7 1 17.5-1l81.4-29c-.1-.1-.3-.2-.4-.3l-81.9 29.1zm717.6-414.7l-65.5 56c0 .2.1.5.1.7l65.4-55.9c7.1-6.1 11.1-14.9 11.2-24-.3 8.8-4.3 17.3-11.2 23.2z'\n ], [\n secondaryColor,\n 'M935.8 646.6c.5 4.7 0 9.5-1.7 14.1l-.9 2.6a446.02 446.02 0 0 1-79.7 137.9l-1.8 2.1a32 32 0 0 1-35.1 9.5l-81.3-28.9a350 350 0 0 1-99.7 57.6l-15.7 85a32.05 32.05 0 0 1-25.8 25.7l-2.7.5a445.2 445.2 0 0 1-79.2 7.1h.3c26.7 0 53.4-2.4 79.4-7.1l2.7-.5a32.05 32.05 0 0 0 25.8-25.7l15.7-84.9c36.2-13.6 69.6-32.9 99.6-57.5l81.2 28.9a32 32 0 0 0 35.1-9.5l1.8-2.1c34.8-41.1 61.5-87.4 79.6-137.7l.9-2.6c1.6-4.7 2.1-9.7 1.5-14.5z'\n ], [\n primaryColor,\n 'M688 502c0-30.3-7.7-58.9-21.2-83.8C637 363.3 578.9 326 512 326c-97.2 0-176 78.8-176 176 0 66.9 37.3 125 92.2 154.8 24.9 13.5 53.4 21.2 83.8 21.2 97.2 0 176-78.8 176-176zm-288 0c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 0 1 624 502c0 29.9-11.7 58-32.8 79.2A111.6 111.6 0 0 1 512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 0 1 400 502z'\n ], [\n primaryColor,\n 'M594.1 952.2a32.05 32.05 0 0 0 25.8-25.7l15.7-85a350 350 0 0 0 99.7-57.6l81.3 28.9a32 32 0 0 0 35.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c1.7-4.6 2.2-9.4 1.7-14.1-.9-7.9-4.7-15.4-11-20.9l-65.3-55.9-.2-.1c3.1-19 4.7-38.4 4.7-57.8 0-16.9-1.2-33.9-3.6-50.5-.3-2.2-.7-4.4-1-6.6 0-.2-.1-.5-.1-.7l65.5-56c6.9-5.9 10.9-14.4 11.2-23.2.1-4-.5-8.1-1.9-12l-.9-2.6a443.74 443.74 0 0 0-79.7-137.9l-1.8-2.1a32.12 32.12 0 0 0-35.1-9.5l-81.3 28.9c-30-24.6-63.4-44-99.6-57.6h-.1l-15.7-85c-.1-.5-.2-1.1-.4-1.6a32.08 32.08 0 0 0-25.4-24.1l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 0 0-25.8 25.7l-15.8 85.4a351.86 351.86 0 0 0-99 57.4l-81.9-29.1a32 32 0 0 0-35.1 9.5l-1.8 2.1a446.02 446.02 0 0 0-79.7 137.9l-.9 2.6a32.09 32.09 0 0 0 7.9 33.9c.5.4.9.9 1.4 1.3l66.3 56.6v.1c-3.1 18.8-4.6 37.9-4.6 57 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 0 0-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1c4.9 5.7 11.4 9.4 18.5 10.7 5.4 1 11.1.7 16.6-1.2l81.9-29.1c.1.1.3.2.4.3 29.7 24.3 62.8 43.6 98.6 57.1l15.8 85.4a32.05 32.05 0 0 0 25.8 25.7l2.7.5c26.1 4.7 52.8 7.1 79.5 7.1h.3c26.6 0 53.3-2.4 79.2-7.1l2.7-.5zm-39.8-66.5a377.5 377.5 0 0 1-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 0 1-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97z'\n ]);\n});\nexports.ShopTwoTone = getIcon('shop', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M839.5 344h-655c-.3 0-.5.2-.5.5v91.2c0 59.8 49 108.3 109.3 108.3 40.7 0 76.2-22 95.1-54.7 2.9-5.1 8.4-8.3 14.3-8.3s11.3 3.2 14.3 8.3c18.8 32.7 54.3 54.7 95 54.7 40.8 0 76.4-22.1 95.1-54.9 2.9-5 8.2-8.1 13.9-8.1h.6c5.8 0 11 3.1 13.9 8.1 18.8 32.8 54.4 54.9 95.2 54.9C791 544 840 495.5 840 435.7v-91.2c0-.3-.2-.5-.5-.5z'\n ], [\n primaryColor,\n 'M882 272.1V144c0-17.7-14.3-32-32-32H174c-17.7 0-32 14.3-32 32v128.1c-16.7 1-30 14.9-30 31.9v131.7a177 177 0 0 0 14.4 70.4c4.3 10.2 9.6 19.8 15.6 28.9v345c0 17.6 14.3 32 32 32h676c17.7 0 32-14.3 32-32V535a175 175 0 0 0 15.6-28.9c9.5-22.3 14.4-46 14.4-70.4V304c0-17-13.3-30.9-30-31.9zM214 184h596v88H214v-88zm362 656.1H448V736h128v104.1zm234.4 0H640V704c0-17.7-14.3-32-32-32H416c-17.7 0-32 14.3-32 32v136.1H214V597.9c2.9 1.4 5.9 2.8 9 4 22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c3-1.3 6-2.6 9-4v242.2zM840 435.7c0 59.8-49 108.3-109.3 108.3-40.8 0-76.4-22.1-95.2-54.9-2.9-5-8.1-8.1-13.9-8.1h-.6c-5.7 0-11 3.1-13.9 8.1A109.24 109.24 0 0 1 512 544c-40.7 0-76.2-22-95-54.7-3-5.1-8.4-8.3-14.3-8.3s-11.4 3.2-14.3 8.3a109.63 109.63 0 0 1-95.1 54.7C233 544 184 495.5 184 435.7v-91.2c0-.3.2-.5.5-.5h655c.3 0 .5.2.5.5v91.2z'\n ]);\n});\nexports.ShoppingTwoTone = getIcon('shopping', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M696 472c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-88H400v88c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-88h-96v456h560V384h-96v88z'\n ], [\n primaryColor,\n 'M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32zm-432-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16H400v-16zm392 544H232V384h96v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h224v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h96v456z'\n ]);\n});\nexports.SkinTwoTone = getIcon('skin', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 318c-79.2 0-148.5-48.8-176.7-120H182v196h119v432h422V394h119V198H688.7c-28.2 71.2-97.5 120-176.7 120z'\n ], [\n primaryColor,\n 'M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7a37.93 37.93 0 0 0-37-29.3H154a44 44 0 0 0-44 44v252a44 44 0 0 0 44 44h75v388a44 44 0 0 0 44 44h478a44 44 0 0 0 44-44V466h75a44 44 0 0 0 44-44V170a44 44 0 0 0-44-44zm-28 268H723v432H301V394H182V198h153.3c28.2 71.2 97.5 120 176.7 120s148.5-48.8 176.7-120H842v196z'\n ]);\n});\nexports.SlidersTwoTone = getIcon('sliders', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M180 292h80v440h-80zm369 180h-74a3 3 0 0 0-3 3v74a3 3 0 0 0 3 3h74a3 3 0 0 0 3-3v-74a3 3 0 0 0-3-3zm215-108h80v296h-80z'\n ], [\n primaryColor,\n 'M904 296h-66v-96c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v96h-66c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8h66v96c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-96h66c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8zm-60 364h-80V364h80v296zM612 404h-66V232c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v172h-66c-4.4 0-8 3.6-8 8v200c0 4.4 3.6 8 8 8h66v172c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V620h66c4.4 0 8-3.6 8-8V412c0-4.4-3.6-8-8-8zm-60 145a3 3 0 0 1-3 3h-74a3 3 0 0 1-3-3v-74a3 3 0 0 1 3-3h74a3 3 0 0 1 3 3v74zM320 224h-66v-56c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v56h-66c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h66v56c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-56h66c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm-60 508h-80V292h80v440z'\n ]);\n});\nexports.SmileTwoTone = getIcon('smile', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm224 272c-85.5 0-155.6-67.3-160-151.6a8 8 0 0 1 8-8.4h48.1c4.2 0 7.8 3.2 8.1 7.4C420 589.9 461.5 629 512 629s92.1-39.1 95.8-88.6c.3-4.2 3.9-7.4 8.1-7.4H664a8 8 0 0 1 8 8.4C667.6 625.7 597.5 693 512 693zm176-224a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm376 112h-48.1c-4.2 0-7.8 3.2-8.1 7.4-3.7 49.5-45.3 88.6-95.8 88.6s-92-39.1-95.8-88.6c-.3-4.2-3.9-7.4-8.1-7.4H360a8 8 0 0 0-8 8.4c4.4 84.3 74.5 151.6 160 151.6s155.6-67.3 160-151.6a8 8 0 0 0-8-8.4zm-24-112a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'\n ]);\n});\nexports.SnippetsTwoTone = getIcon('snippets', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M450 510V336H232v552h432V550H490c-22.1 0-40-17.9-40-40z'\n ], [\n primaryColor,\n 'M832 112H724V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H500V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H320c-17.7 0-32 14.3-32 32v120h-96c-17.7 0-32 14.3-32 32v632c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32v-96h96c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM664 888H232V336h218v174c0 22.1 17.9 40 40 40h174v338zm0-402H514V336h.2L664 485.8v.2zm128 274h-56V456L544 264H360v-80h68v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h152v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h68v576z'\n ]);\n});\nexports.SoundTwoTone = getIcon('sound', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M275.4 424H146v176h129.4l18 11.7L586 803V221L293.3 412.3z'\n ], [\n primaryColor,\n 'M892.1 737.8l-110.3-63.7a15.9 15.9 0 0 0-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0 0 21.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM934 476H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zM760 344a15.9 15.9 0 0 0 21.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 0 0-21.7-5.9L746 287.8a15.99 15.99 0 0 0-5.8 21.8L760 344zM625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1zM586 803L293.4 611.7l-18-11.7H146V424h129.4l17.9-11.7L586 221v582z'\n ]);\n});\nexports.StarTwoTone = getIcon('star', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512.5 190.4l-94.4 191.3-211.2 30.7 152.8 149-36.1 210.3 188.9-99.3 188.9 99.2-36.1-210.3 152.8-148.9-211.2-30.7z'\n ], [\n primaryColor,\n 'M908.6 352.8l-253.9-36.9L541.2 85.8c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L370.3 315.9l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 0 0 .6 45.3l183.7 179.1L239 839.4a31.95 31.95 0 0 0 46.4 33.7l227.1-119.4 227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3zM665.3 561.3l36.1 210.3-188.9-99.2-188.9 99.3 36.1-210.3-152.8-149 211.2-30.7 94.4-191.3 94.4 191.3 211.2 30.7-152.8 148.9z'\n ]);\n});\nexports.StopTwoTone = getIcon('stop', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm288.5 682.8L277.7 224C258 240 240 258 224 277.7l522.8 522.8C682.8 852.7 601 884 512 884c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372c0 89-31.3 170.8-83.5 234.8z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372c89 0 170.8-31.3 234.8-83.5L224 277.7c16-19.7 34-37.7 53.7-53.7l522.8 522.8C852.7 682.8 884 601 884 512c0-205.4-166.6-372-372-372z'\n ]);\n});\nexports.SwitcherTwoTone = getIcon('switcher', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M184 840h528V312H184v528zm116-290h296v64H300v-64z'], [\n primaryColor,\n 'M880 112H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h576v576c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32z'\n ], [\n primaryColor,\n 'M752 240H144c-17.7 0-32 14.3-32 32v608c0 17.7 14.3 32 32 32h608c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32zm-40 600H184V312h528v528z'\n ], [primaryColor, 'M300 550h296v64H300z']);\n});\nexports.TabletTwoTone = getIcon('tablet', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M800 64H224c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zm-8 824H232V136h560v752z'\n ], [\n secondaryColor,\n 'M232 888h560V136H232v752zm280-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'\n ], [primaryColor, 'M472 784a40 40 0 1 0 80 0 40 40 0 1 0-80 0z']);\n});\nexports.TagTwoTone = getIcon('tag', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M589 164.6L189.3 564.3l270.4 270.4L859.4 435 836 188l-247-23.4zM680 432c-48.5 0-88-39.5-88-88s39.5-88 88-88 88 39.5 88 88-39.5 88-88 88z'\n ], [\n primaryColor,\n 'M680 256c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm0 120c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z'\n ], [\n primaryColor,\n 'M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 0 0 0 14.1l363.8 363.8a9.9 9.9 0 0 0 7.1 2.9c2.7 0 5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM459.7 834.7L189.3 564.3 589 164.6 836 188l23.4 247-399.7 399.7z'\n ]);\n});\nexports.TagsTwoTone = getIcon('tags', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M477.5 694l311.9-311.8-19-224.6-224.6-19-311.9 311.9L477.5 694zm116-415.5a47.81 47.81 0 0 1 33.9-33.9c16.6-4.4 34.2.3 46.4 12.4a47.93 47.93 0 0 1 12.4 46.4 47.81 47.81 0 0 1-33.9 33.9c-16.6 4.4-34.2-.3-46.4-12.4a48.3 48.3 0 0 1-12.4-46.4z'\n ], [\n secondaryColor,\n 'M476.6 792.6c-1.7-.2-3.4-1-4.7-2.3L137.7 456.1a8.03 8.03 0 0 1 0-11.3L515.9 66.6c1.2-1.3 2.9-2.1 4.7-2.3h-.4c-2.3-.2-4.7.6-6.3 2.3L135.7 444.8a8.03 8.03 0 0 0 0 11.3l334.2 334.2c1.8 1.9 4.3 2.6 6.7 2.3z'\n ], [\n primaryColor,\n 'M889.7 539.8l-39.6-39.5a8.03 8.03 0 0 0-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 0 0-11.3 0l-39.6 39.5a8.03 8.03 0 0 0 0 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3zM652.3 337.3a47.81 47.81 0 0 0 33.9-33.9c4.4-16.6-.3-34.2-12.4-46.4a47.93 47.93 0 0 0-46.4-12.4 47.81 47.81 0 0 0-33.9 33.9c-4.4 16.6.3 34.2 12.4 46.4a48.3 48.3 0 0 0 46.4 12.4z'\n ], [\n primaryColor,\n 'M137.7 444.8a8.03 8.03 0 0 0 0 11.3l334.2 334.2c1.3 1.3 2.9 2.1 4.7 2.3 2.4.3 4.8-.5 6.6-2.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3h-1.6c-1.8.2-3.4 1-4.7 2.3L137.7 444.8zm408.1-306.2l224.6 19 19 224.6L477.5 694 233.9 450.5l311.9-311.9z'\n ]);\n});\nexports.ToolTwoTone = getIcon('tool', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M706.8 488.7a32.05 32.05 0 0 1-45.3 0L537 364.2a32.05 32.05 0 0 1 0-45.3l132.9-132.8a184.2 184.2 0 0 0-144 53.5c-58.1 58.1-69.3 145.3-33.6 214.6L439.5 507c-.1 0-.1-.1-.1-.1L209.3 737l79.2 79.2 274-274.1.1.1 8.8-8.8c69.3 35.7 156.5 24.5 214.6-33.6 39.2-39.1 57.3-92.1 53.6-143.9L706.8 488.7z'\n ], [\n primaryColor,\n 'M876.6 239.5c-.5-.9-1.2-1.8-2-2.5-5-5-13.1-5-18.1 0L684.2 409.3l-67.9-67.9L788.7 169c.8-.8 1.4-1.6 2-2.5 3.6-6.1 1.6-13.9-4.5-17.5-98.2-58-226.8-44.7-311.3 39.7-67 67-89.2 162-66.5 247.4l-293 293c-3 3-2.8 7.9.3 11l169.7 169.7c3.1 3.1 8.1 3.3 11 .3l292.9-292.9c85.5 22.8 180.5.7 247.6-66.4 84.4-84.5 97.7-213.1 39.7-311.3zM786 499.8c-58.1 58.1-145.3 69.3-214.6 33.6l-8.8 8.8-.1-.1-274 274.1-79.2-79.2 230.1-230.1s0 .1.1.1l52.8-52.8c-35.7-69.3-24.5-156.5 33.6-214.6a184.2 184.2 0 0 1 144-53.5L537 318.9a32.05 32.05 0 0 0 0 45.3l124.5 124.5a32.05 32.05 0 0 0 45.3 0l132.8-132.8c3.7 51.8-14.4 104.8-53.6 143.9z'\n ]);\n});\nexports.TrademarkCircleTwoTone = getIcon('trademark-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm170.7 584.2c-1.1.5-2.3.8-3.5.8h-62c-3.1 0-5.9-1.8-7.2-4.6l-74.6-159.2h-88.7V717c0 4.4-3.6 8-8 8H384c-4.4 0-8-3.6-8-8V307c0-4.4 3.6-8 8-8h155.6c98.8 0 144.2 59.9 144.2 131.1 0 70.2-43.6 106.4-78.4 119.2l80.8 164.2c2.1 3.9.4 8.7-3.5 10.7z'\n ], [\n secondaryColor,\n 'M529.9 357h-83.4v148H528c53 0 82.8-25.6 82.8-72.4 0-50.3-32.9-75.6-80.9-75.6z'\n ], [\n primaryColor,\n 'M605.4 549.3c34.8-12.8 78.4-49 78.4-119.2 0-71.2-45.4-131.1-144.2-131.1H384c-4.4 0-8 3.6-8 8v410c0 4.4 3.6 8 8 8h54.7c4.4 0 8-3.6 8-8V561.2h88.7L610 720.4c1.3 2.8 4.1 4.6 7.2 4.6h62c1.2 0 2.4-.3 3.5-.8 3.9-2 5.6-6.8 3.5-10.7l-80.8-164.2zM528 505h-81.5V357h83.4c48 0 80.9 25.3 80.9 75.6 0 46.8-29.8 72.4-82.8 72.4z'\n ]);\n});\nexports.UnlockTwoTone = getIcon('unlock', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M232 840h560V536H232v304zm280-226a48.01 48.01 0 0 1 28 87v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 0 1 28-87z'\n ], [\n primaryColor,\n 'M484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z'\n ], [\n primaryColor,\n 'M832 464H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v68c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-68c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zm-40 376H232V536h560v304z'\n ]);\n});\nexports.TrophyTwoTone = getIcon('trophy', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M320 480c0 49.1 19.1 95.3 53.9 130.1 34.7 34.8 81 53.9 130.1 53.9h16c49.1 0 95.3-19.1 130.1-53.9 34.8-34.7 53.9-81 53.9-130.1V184H320v296zM184 352c0 41 26.9 75.8 64 87.6-37.1-11.9-64-46.7-64-87.6zm364 382.5C665 721.8 758.4 630.2 773.8 514 758.3 630.2 665 721.7 548 734.5zM250.2 514C265.6 630.2 359 721.8 476 734.5 359 721.7 265.7 630.2 250.2 514z'\n ], [\n primaryColor,\n 'M868 160h-92v-40c0-4.4-3.6-8-8-8H256c-4.4 0-8 3.6-8 8v40h-92a44 44 0 0 0-44 44v148c0 81.7 60 149.6 138.2 162C265.7 630.2 359 721.7 476 734.5v105.2H280c-17.7 0-32 14.3-32 32V904c0 4.4 3.6 8 8 8h512c4.4 0 8-3.6 8-8v-32.3c0-17.7-14.3-32-32-32H548V734.5C665 721.7 758.3 630.2 773.8 514 852 501.6 912 433.7 912 352V204a44 44 0 0 0-44-44zM248 439.6a91.99 91.99 0 0 1-64-87.6V232h64v207.6zM704 480c0 49.1-19.1 95.4-53.9 130.1-34.8 34.8-81 53.9-130.1 53.9h-16c-49.1 0-95.4-19.1-130.1-53.9-34.8-34.8-53.9-81-53.9-130.1V184h384v296zm136-128c0 41-26.9 75.8-64 87.6V232h64v120z'\n ]);\n});\nexports.UpCircleTwoTone = getIcon('up-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm178 479h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 460.4 406.8 605.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7z'\n ], [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n primaryColor,\n 'M518.4 360.3a7.95 7.95 0 0 0-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7h46.9c10.3 0 19.9-4.9 25.9-13.2L512 460.4l105.2 145.4c6 8.3 15.7 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.4-12.7l-178-246z'\n ]);\n});\nexports.ThunderboltTwoTone = getIcon('thunderbolt', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M695.4 164.1H470.8L281.2 491.5h157.4l-60.3 241 319.8-305.1h-211z'\n ], [\n primaryColor,\n 'M848.1 359.3H627.8L825.9 109c4.1-5.3.4-13-6.3-13H436.1c-2.8 0-5.5 1.5-6.9 4L170.1 547.5c-3.1 5.3.7 12 6.9 12h174.4L262 917.1c-1.9 7.8 7.5 13.3 13.3 7.7L853.6 373c5.2-4.9 1.7-13.7-5.5-13.7zM378.3 732.5l60.3-241H281.2l189.6-327.4h224.6L487.1 427.4h211L378.3 732.5z'\n ]);\n});\nexports.UpSquareTwoTone = getIcon('up-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm143.5-228.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 465.4 406.8 610.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7z'\n ], [\n primaryColor,\n 'M334 624h46.9c10.3 0 19.9-4.9 25.9-13.2L512 465.4l105.2 145.4c6 8.3 15.7 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.4-12.7l-178-246a7.95 7.95 0 0 0-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7z'\n ]);\n});\nexports.UsbTwoTone = getIcon('usb', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M759.9 504H264.1c-26.5 0-48.1 19.7-48.1 44v292h592V548c0-24.3-21.6-44-48.1-44z'\n ], [\n primaryColor,\n 'M456 248h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm160 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ], [\n primaryColor,\n 'M760 432V144c0-17.7-14.3-32-32-32H296c-17.7 0-32 14.3-32 32v288c-66.2 0-120 52.1-120 116v356c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8V548c0-63.9-53.8-116-120-116zM336 184h352v248H336V184zm472 656H216V548c0-24.3 21.6-44 48.1-44h495.8c26.5 0 48.1 19.7 48.1 44v292z'\n ]);\n});\nexports.VideoCameraTwoTone = getIcon('video-camera', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M136 792h576V232H136v560zm64-488c0-4.4 3.6-8 8-8h112c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H208c-4.4 0-8-3.6-8-8v-48z'\n ], [\n primaryColor,\n 'M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v576c0 35.3 28.7 64 64 64h592c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM712 792H136V232h576v560zm176-167l-104-59.8V458.9L888 399v226z'\n ], [\n primaryColor,\n 'M208 360h112c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H208c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.WalletTwoTone = getIcon('wallet', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0-192H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200H184V184h656v200z'\n ], [\n secondaryColor,\n 'M528 576h312V448H528v128zm92-104c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'\n ], [primaryColor, 'M580 512a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'], [\n secondaryColor,\n 'M184 840h656V640H496c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32h344V184H184v656z'\n ]);\n});\nexports.WarningTwoTone = getIcon('warning', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z'\n ], [\n secondaryColor,\n 'M172.2 828.1h679.6L512 239.9 172.2 828.1zM560 720a48.01 48.01 0 0 1-96 0 48.01 48.01 0 0 1 96 0zm-16-304v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V416c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8z'\n ], [\n primaryColor,\n 'M464 720a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8z'\n ]);\n});\nexports.CiTwoTone = getIcon('ci', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm-63.5 522.8c49.3 0 82.8-29.4 87-72.4.4-4.1 3.8-7.3 8-7.3h52.7c2.4 0 4.4 2 4.4 4.4 0 77.4-64.3 132.5-152.3 132.5C345.4 720 286 651.4 286 537.4v-49C286 373.5 345.4 304 448.3 304c88.3 0 152.3 56.9 152.3 138.1 0 2.4-2 4.4-4.4 4.4h-52.6c-4.2 0-7.6-3.2-8-7.4-3.9-46.1-37.5-77.6-87-77.6-61.1 0-95.6 45.4-95.7 126.8v49.3c0 80.3 34.5 125.2 95.6 125.2zM738 704.1c0 4.4-3.6 8-8 8h-50.4c-4.4 0-8-3.6-8-8V319.9c0-4.4 3.6-8 8-8H730c4.4 0 8 3.6 8 8v384.2z'\n ], [\n primaryColor,\n 'M730 311.9h-50.4c-4.4 0-8 3.6-8 8v384.2c0 4.4 3.6 8 8 8H730c4.4 0 8-3.6 8-8V319.9c0-4.4-3.6-8-8-8zm-281.4 49.6c49.5 0 83.1 31.5 87 77.6.4 4.2 3.8 7.4 8 7.4h52.6c2.4 0 4.4-2 4.4-4.4 0-81.2-64-138.1-152.3-138.1C345.4 304 286 373.5 286 488.4v49c0 114 59.4 182.6 162.3 182.6 88 0 152.3-55.1 152.3-132.5 0-2.4-2-4.4-4.4-4.4h-52.7c-4.2 0-7.6 3.2-8 7.3-4.2 43-37.7 72.4-87 72.4-61.1 0-95.6-44.9-95.6-125.2v-49.3c.1-81.4 34.6-126.8 95.7-126.8z'\n ]);\n});\nexports.CopyrightTwoTone = getIcon('copyright', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm5.5 533c52.9 0 88.8-31.7 93-77.8.4-4.1 3.8-7.3 8-7.3h56.8c2.6 0 4.7 2.1 4.7 4.7 0 82.6-68.7 141.4-162.7 141.4C407.4 734 344 660.8 344 539.1v-52.3C344 364.2 407.4 290 517.3 290c94.3 0 162.7 60.7 162.7 147.4 0 2.6-2.1 4.7-4.7 4.7h-56.7c-4.2 0-7.7-3.2-8-7.4-4-49.6-40-83.4-93-83.4-65.2 0-102.1 48.5-102.2 135.5v52.6c0 85.7 36.8 133.6 102.1 133.6z'\n ], [\n primaryColor,\n 'M517.6 351.3c53 0 89 33.8 93 83.4.3 4.2 3.8 7.4 8 7.4h56.7c2.6 0 4.7-2.1 4.7-4.7 0-86.7-68.4-147.4-162.7-147.4C407.4 290 344 364.2 344 486.8v52.3C344 660.8 407.4 734 517.3 734c94 0 162.7-58.8 162.7-141.4 0-2.6-2.1-4.7-4.7-4.7h-56.8c-4.2 0-7.6 3.2-8 7.3-4.2 46.1-40.1 77.8-93 77.8-65.3 0-102.1-47.9-102.1-133.6v-52.6c.1-87 37-135.5 102.2-135.5z'\n ]);\n});\nexports.DollarTwoTone = getIcon('dollar', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M426.6 410.3c0 25.4 15.7 45.1 49.5 57.3 4.7 1.9 9.4 3.4 15 5v-124c-37 4.7-64.5 25.4-64.5 61.7zm116.5 135.2c-2.9-.6-5.7-1.3-8.8-2.2V677c42.6-3.8 72-27.3 72-66.4 0-30.7-15.9-50.7-63.2-65.1z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm22.4 589.2l.2 31.7c0 4.5-3.6 8.1-8 8.1h-28.4c-4.4 0-8-3.6-8-8v-31.4c-89-6.5-130.7-57.1-135.2-112.1-.4-4.7 3.3-8.7 8-8.7h46.2c3.9 0 7.3 2.8 7.9 6.6 5.1 31.8 29.9 55.4 74.1 61.3V534l-24.7-6.3c-52.3-12.5-102.1-45.1-102.1-112.7 0-73 55.4-112.1 126.2-119v-33c0-4.4 3.6-8 8-8h28.1c4.4 0 8 3.6 8 8v32.7c68.5 6.9 119.8 46.9 125.9 109.2a8.1 8.1 0 0 1-8 8.8h-44.9c-4 0-7.4-2.9-7.9-6.9-4-29.2-27.5-53-65.5-58.2v134.3l25.4 5.9c64.8 16 108.9 47 109 116.4 0 75.2-56 117.1-134.3 124z'\n ], [\n primaryColor,\n 'M559.7 488.8l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z'\n ]);\n});\nexports.EuroTwoTone = getIcon('euro', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm117.1 581.1c0 3.8-2.7 7-6.4 7.8-15.9 3.4-34.4 5.1-55.3 5.1-109.8 0-183-58.8-200.2-158H337c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h26.1v-36.9c0-4.4 0-8.7.3-12.8H337c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h31.8C388.5 345.7 460.7 290 567.4 290c20.9 0 39.4 1.9 55.3 5.4 3.7.8 6.3 4 6.3 7.8V346a8 8 0 0 1-9.6 7.8c-14.6-2.9-31.8-4.4-51.7-4.4-65.3 0-110.4 33.5-127.6 90.4h128.3c4.4 0 8 3.6 8 8V475c0 4.4-3.6 8-8 8H432.5c-.3 4.4-.3 9.1-.3 13.8v36h136.4c4.4 0 8 3.6 8 8V568c0 4.4-3.6 8-8 8H438c15.3 62 61.3 98.6 129.8 98.6 19.9 0 37.1-1.3 51.8-4.1 4.9-1 9.5 2.8 9.5 7.8v42.8z'\n ], [\n primaryColor,\n 'M619.6 670.5c-14.7 2.8-31.9 4.1-51.8 4.1-68.5 0-114.5-36.6-129.8-98.6h130.6c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H432.2v-36c0-4.7 0-9.4.3-13.8h135.9c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H440.1c17.2-56.9 62.3-90.4 127.6-90.4 19.9 0 37.1 1.5 51.7 4.4a8 8 0 0 0 9.6-7.8v-42.8c0-3.8-2.6-7-6.3-7.8-15.9-3.5-34.4-5.4-55.3-5.4-106.7 0-178.9 55.7-198.6 149.9H337c-4.4 0-8 3.6-8 8v27.2c0 4.4 3.6 8 8 8h26.4c-.3 4.1-.3 8.4-.3 12.8v36.9H337c-4.4 0-8 3.6-8 8V568c0 4.4 3.6 8 8 8h30.2c17.2 99.2 90.4 158 200.2 158 20.9 0 39.4-1.7 55.3-5.1 3.7-.8 6.4-4 6.4-7.8v-42.8c0-5-4.6-8.8-9.5-7.8z'\n ]);\n});\nexports.GoldTwoTone = getIcon('gold', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M435.7 558.7c-.6-3.9-4-6.7-7.9-6.7H166.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248zM196.5 748l20.7-128h159.5l20.7 128H196.5zm709.4 58.7l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H596.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.3-.7 7.3-4.8 6.6-9.2zM626.5 748l20.7-128h159.5l20.7 128H626.5zM342 472h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H382.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8zm91.2-196h159.5l20.7 128h-201l20.8-128z'\n ], [\n secondaryColor,\n 'M592.7 276H433.2l-20.8 128h201zM217.2 620l-20.7 128h200.9l-20.7-128zm430 0l-20.7 128h200.9l-20.7-128z'\n ]);\n});\nexports.CanlendarTwoTone = getIcon('canlendar', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M712 304c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H384v48c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H184v136h656V256H712v48z'\n ], [\n primaryColor,\n 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zm0-448H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136z'\n ]);\n});\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","function _extends() {\n _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\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\n/* eslint no-console:0 */\nvar formatRegExp = /%[sdj%]/g;\nvar warning = function warning() {}; // don't print warning message when in production env or node runtime\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {\n 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}\nfunction format() {\n for (var _len = arguments.length, args = new 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\n if (typeof f === 'function') {\n return f.apply(null, args.slice(1));\n }\n\n if (typeof f === 'string') {\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') {\n return '%';\n }\n\n if (i >= len) {\n return x;\n }\n\n switch (x) {\n case '%s':\n return String(args[i++]);\n\n case '%d':\n return Number(args[i++]);\n\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n\n break;\n\n default:\n return x;\n }\n });\n return str;\n }\n\n return f;\n}\n\nfunction isNativeStringType(type) {\n return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'date' || type === 'pattern';\n}\n\nfunction isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n\n return false;\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\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\n var original = index;\n index = index + 1;\n\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\nvar AsyncValidationError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(AsyncValidationError, _Error);\n\n function AsyncValidationError(errors, fields) {\n var _this;\n\n _this = _Error.call(this, 'Async Validation Error') || this;\n _this.errors = errors;\n _this.fields = fields;\n return _this;\n }\n\n return AsyncValidationError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nfunction asyncMap(objArr, option, func, callback) {\n if (option.first) {\n var _pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n callback(errors);\n return errors.length ? reject(new AsyncValidationError(errors, convertFieldsError(errors))) : resolve();\n };\n\n var flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n\n _pending[\"catch\"](function (e) {\n return e;\n });\n\n return _pending;\n }\n\n var firstFields = option.firstFields || [];\n\n if (firstFields === true) {\n firstFields = Object.keys(objArr);\n }\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\n if (total === objArrLength) {\n callback(results);\n return results.length ? reject(new AsyncValidationError(results, convertFieldsError(results))) : resolve();\n }\n };\n\n if (!objArrKeys.length) {\n callback(results);\n resolve();\n }\n\n objArrKeys.forEach(function (key) {\n var arr = objArr[key];\n\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}\nfunction complementError(rule) {\n return function (oe) {\n if (oe && oe.message) {\n oe.field = oe.field || rule.fullField;\n return oe;\n }\n\n return {\n message: typeof oe === 'function' ? oe() : oe,\n field: oe.field || rule.fullField\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\n if (typeof value === 'object' && typeof target[s] === 'object') {\n target[s] = _extends(_extends({}, target[s]), value);\n } else {\n target[s] = value;\n }\n }\n }\n }\n\n return target;\n}\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 */\n\nfunction required(rule, value, source, errors, options, type) {\n if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {\n errors.push(format(options.messages.required, rule.fullField));\n }\n}\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 */\n\nfunction whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(format(options.messages.whitespace, rule.fullField));\n }\n}\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};\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\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' && !isNaN(value.getTime());\n },\n number: function number(value) {\n if (isNaN(value)) {\n return false;\n }\n\n return typeof value === 'number';\n },\n object: function object(value) {\n return 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 * 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 */\n\nfunction type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n required(rule, value, source, errors, options);\n return;\n }\n\n var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n var ruleType = rule.type;\n\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n } // straight typeof check\n\n } else if (ruleType && typeof value !== rule.type) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n}\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 */\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'; // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n\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\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\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\n\n if (!key) {\n return false;\n }\n\n if (arr) {\n val = value.length;\n }\n\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n\n if (len) {\n if (val !== rule.len) {\n errors.push(format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n }\n}\n\nvar ENUM = 'enum';\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 */\n\nfunction enumerable(rule, value, source, errors, options) {\n rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n\n if (rule[ENUM].indexOf(value) === -1) {\n errors.push(format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));\n }\n}\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 */\n\nfunction pattern$1(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\n if (!rule.pattern.test(value)) {\n errors.push(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\n if (!_pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n }\n }\n}\n\nvar rules = {\n required: required,\n whitespace: whitespace,\n type: type,\n range: range,\n \"enum\": enumerable,\n pattern: pattern$1\n};\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 */\n\nfunction string(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'string');\n\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n\n callback(errors);\n}\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 */\n\nfunction method(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\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 */\n\nfunction number(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\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 */\n\nfunction _boolean(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\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 */\n\nfunction regexp(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\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 */\n\nfunction integer(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\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 */\n\nfunction floatFn(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\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 */\n\nfunction array(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'array') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'array');\n\n if (!isEmptyValue(value, 'array')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\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 */\n\nfunction object(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\nvar ENUM$1 = 'enum';\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 */\n\nfunction enumerable$1(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules[ENUM$1](rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\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 */\n\nfunction pattern$2(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\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); // console.log('validate on %s value', value);\n\n if (validate) {\n if (isEmptyValue(value, 'date') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'date')) {\n var dateObject;\n\n if (value instanceof Date) {\n dateObject = value;\n } else {\n dateObject = new Date(value);\n }\n\n rules.type(rule, dateObject, source, errors, options);\n\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n\n callback(errors);\n}\n\nfunction required$1(rule, value, callback, source, options) {\n var errors = [];\n var type = Array.isArray(value) ? 'array' : typeof value;\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n}\n\nfunction type$1(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\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, ruleType);\n\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Performs validation for any 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 */\n\nfunction any(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n }\n\n callback(errors);\n}\n\nvar validators = {\n string: string,\n method: method,\n number: number,\n \"boolean\": _boolean,\n regexp: regexp,\n integer: integer,\n \"float\": floatFn,\n array: array,\n object: object,\n \"enum\": enumerable$1,\n pattern: pattern$2,\n date: date,\n url: type$1,\n hex: type$1,\n email: type$1,\n required: required$1,\n any: any\n};\n\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}\nvar messages = newMessages();\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\n\nfunction Schema(descriptor) {\n this.rules = null;\n this._messages = messages;\n this.define(descriptor);\n}\n\nSchema.prototype = {\n messages: function messages(_messages) {\n if (_messages) {\n this._messages = deepMerge(newMessages(), _messages);\n }\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\n if (typeof rules !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n\n this.rules = {};\n var z;\n var item;\n\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_, o, oc) {\n var _this = this;\n\n if (o === void 0) {\n o = {};\n }\n\n if (oc === void 0) {\n oc = function oc() {};\n }\n\n var source = source_;\n var options = o;\n var callback = oc;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback();\n }\n\n return Promise.resolve();\n }\n\n function complete(results) {\n var i;\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\n if (!errors.length) {\n errors = null;\n fields = null;\n } else {\n fields = convertFieldsError(errors);\n }\n\n callback(errors, fields);\n }\n\n if (options.messages) {\n var messages$1 = this.messages();\n\n if (messages$1 === messages) {\n messages$1 = newMessages();\n }\n\n deepMerge(messages$1, options.messages);\n options.messages = messages$1;\n } else {\n options.messages = this.messages();\n }\n\n var arr;\n var value;\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\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = _extends({}, source);\n }\n\n value = source[z] = rule.transform(value);\n }\n\n if (typeof rule === 'function') {\n rule = {\n validator: rule\n };\n } else {\n rule = _extends({}, rule);\n }\n\n rule.validator = _this.getValidationMethod(rule);\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = _this.getType(rule);\n\n if (!rule.validator) {\n return;\n }\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 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(_extends({}, schema), {}, {\n fullField: rule.fullField + \".\" + key\n });\n }\n\n function cb(e) {\n if (e === void 0) {\n e = [];\n }\n\n var errors = e;\n\n if (!Array.isArray(errors)) {\n errors = [errors];\n }\n\n if (!options.suppressWarning && errors.length) {\n Schema.warning('async-validator:', errors);\n }\n\n if (errors.length && rule.message) {\n errors = [].concat(rule.message);\n }\n\n errors = errors.map(complementError(rule));\n\n if (options.first && errors.length) {\n errorFields[rule.field] = 1;\n return doIt(errors);\n }\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(complementError(rule));\n } else if (options.error) {\n errors = [options.error(rule, format(options.messages.required, rule.field))];\n }\n\n return doIt(errors);\n }\n\n var fieldsSchema = {};\n\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\n fieldsSchema = _extends(_extends({}, fieldsSchema), data.rule.fields);\n\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\n var schema = new Schema(fieldsSchema);\n schema.messages(options.messages);\n\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n\n schema.validate(data.value, data.rule.options || options, function (errs) {\n var finalErrors = [];\n\n if (errors && errors.length) {\n finalErrors.push.apply(finalErrors, errors);\n }\n\n if (errs && errs.length) {\n finalErrors.push.apply(finalErrors, errs);\n }\n\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n var res;\n\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\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\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\n if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n\n return rule.type || 'string';\n },\n getValidationMethod: function getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n\n var keys = Object.keys(rule);\n var messageIndex = keys.indexOf('message');\n\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n\n return validators[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\n validators[type] = validator;\n};\n\nSchema.warning = warning;\nSchema.messages = messages;\nSchema.validators = validators;\n\nexport default Schema;\n//# sourceMappingURL=index.js.map\n","var nestRE = /^(attrs|props|on|nativeOn|class|style|hook)$/\n\nmodule.exports = function mergeJSXProps (objs) {\n return objs.reduce(function (a, b) {\n var aa, bb, key, nestedKey, temp\n for (key in b) {\n aa = a[key]\n bb = b[key]\n if (aa && nestRE.test(key)) {\n // normalize class\n if (key === 'class') {\n if (typeof aa === 'string') {\n temp = aa\n a[key] = aa = {}\n aa[temp] = true\n }\n if (typeof bb === 'string') {\n temp = bb\n b[key] = bb = {}\n bb[temp] = true\n }\n }\n if (key === 'on' || key === 'nativeOn' || key === 'hook') {\n // merge functions\n for (nestedKey in bb) {\n aa[nestedKey] = mergeFn(aa[nestedKey], bb[nestedKey])\n }\n } else if (Array.isArray(aa)) {\n a[key] = aa.concat(bb)\n } else if (Array.isArray(bb)) {\n a[key] = [aa].concat(bb)\n } else {\n for (nestedKey in bb) {\n aa[nestedKey] = bb[nestedKey]\n }\n }\n } else {\n a[key] = b[key]\n }\n }\n return a\n }, {})\n}\n\nfunction mergeFn (a, b) {\n return function () {\n a && a.apply(this, arguments)\n b && b.apply(this, arguments)\n }\n}\n","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/is-iterable\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __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 _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 (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(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};","\"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\nexports.default = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _isIterable2 = require(\"../core-js/is-iterable\");\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = require(\"../core-js/get-iterator\");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = (0, _getIterator3.default)(arr), _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\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if ((0, _isIterable3.default)(Object(arr))) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();","\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"../core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\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};","/*!\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.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.is-iterable');\n","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\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.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","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","// 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","// 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","var core = module.exports = { version: '2.6.11' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\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","// 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","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\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","module.exports = require('./_hide');\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 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","var anObject = require('./_an-object');\nvar get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function (it) {\n var iterFn = get(it);\n if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function (it) {\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n // eslint-disable-next-line no-prototype-builtins\n || Iterators.hasOwnProperty(classof(O));\n};\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\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","// 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.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","'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","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","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.nodeType !== 9; 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, alwaysByViewport) {\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 (alwaysByViewport || 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 var alwaysByViewport = !!(overflow && overflow.alwaysByViewport); // 当前节点可以被放置的显示区域\n\n var visibleRect = getVisibleRectForElement(source, alwaysByViewport); // 当前节点所占的区域, 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 var _newPoints2 = points; // 重置对应部分的翻转逻辑\n\n if (isStillFailX) {\n _newPoints2 = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n });\n }\n\n if (isStillFailY) {\n _newPoints2 = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n });\n }\n\n points = _newPoints2;\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, alwaysByViewport) {\n var visibleRect = getVisibleRectForElement(target, alwaysByViewport);\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, align.overflow && align.overflow.alwaysByViewport);\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","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 RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\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\nfunction _getComputedStyle(elem, name, computedStyle_) {\n var val = '';\n var d = elem.ownerDocument;\n var 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\nvar getComputedStyleX;\n\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; // 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 + 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/**\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 == obj.window;\n}\n\nvar domUtils = {};\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, 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\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);\n var cssBoxValue = 0;\n\n if (borderBoxValue == null || 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 || 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 }\n\n if (borderBoxValueOrIsBorderBox) {\n var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which);\n return val + (extra === BORDER_INDEX ? 0 : padding);\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(elem) {\n var val;\n var args = arguments; // 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\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 += 'px';\n }\n\n el.style[name] = value;\n return undefined;\n }\n\n return getComputedStyleX(el, name);\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, val) {\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}); // 设置 elem 相对 elem.ownerDocument 的坐标\n\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;\n var key;\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\n css(elem, ret);\n}\n\nvar util = _objectSpread2({\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 isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var ret = {};\n\n for (var 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 (var _i in obj) {\n if (obj.hasOwnProperty(_i)) {\n ret.overflow[_i] = obj.overflow[_i];\n }\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\n window.scrollTo(v, getScrollTop(w));\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n }\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\n window.scrollTo(getScrollLeft(w), v);\n } else {\n if (v === undefined) {\n return w.scrollTop;\n }\n\n w.scrollTop = v;\n }\n },\n viewportWidth: 0,\n viewportHeight: 0\n}, domUtils);\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {}; // document 归一化到 window\n\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 allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\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;\n var ch;\n var cw;\n var containerScroll;\n var diffTop;\n var diffBottom;\n var win;\n var winScroll;\n var ww;\n var wh;\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 }; // elem 相对 container 可视视窗的距离\n\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 }; // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n\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\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\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\nexport default scrollIntoView;\n//# sourceMappingURL=index.js.map\n","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","'use strict'\r\n\r\nmodule.exports = isMobile\r\nmodule.exports.isMobile = isMobile\r\nmodule.exports.default = isMobile\r\n\r\nvar mobileRE = /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i\r\n\r\nvar tabletRE = /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i\r\n\r\nfunction isMobile (opts) {\r\n if (!opts) opts = {}\r\n var ua = opts.ua\r\n if (!ua && typeof navigator !== 'undefined') ua = navigator.userAgent\r\n if (ua && ua.headers && typeof ua.headers['user-agent'] === 'string') {\r\n ua = ua.headers['user-agent']\r\n }\r\n if (typeof ua !== 'string') return false\r\n\r\n var result = opts.tablet ? tabletRE.test(ua) : mobileRE.test(ua)\r\n\r\n if (\r\n !result &&\r\n opts.tablet &&\r\n opts.featureDetect &&\r\n navigator &&\r\n navigator.maxTouchPoints > 1 &&\r\n ua.indexOf('Macintosh') !== -1 &&\r\n ua.indexOf('Safari') !== -1\r\n ) {\r\n result = true\r\n }\r\n\r\n return result\r\n}\r\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;","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 `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayAggregator;\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","var baseProperty = require('./_baseProperty');\n\n/**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nvar asciiSize = baseProperty('length');\n\nmodule.exports = asciiSize;\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 baseEach = require('./_baseEach');\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\nmodule.exports = baseAggregator;\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 keysIn = require('./keysIn');\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 baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar regexpTag = '[object RegExp]';\n\n/**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\nfunction baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n}\n\nmodule.exports = baseIsRegExp;\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 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","var basePickBy = require('./_basePickBy'),\n hasIn = require('./hasIn');\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n}\n\nmodule.exports = basePick;\n","var baseGet = require('./_baseGet'),\n baseSet = require('./_baseSet'),\n castPath = require('./_castPath');\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nmodule.exports = basePickBy;\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","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeFloor = Math.floor;\n\n/**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\nfunction baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n}\n\nmodule.exports = baseRepeat;\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 (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\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","/**\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 baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\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 arrayAggregator = require('./_arrayAggregator'),\n baseAggregator = require('./_baseAggregator'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray');\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n\nmodule.exports = createAggregator;\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 baseIteratee = require('./_baseIteratee'),\n isArrayLike = require('./isArrayLike'),\n keys = require('./keys');\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nmodule.exports = createFind;\n","var baseRepeat = require('./_baseRepeat'),\n baseToString = require('./_baseToString'),\n castSlice = require('./_castSlice'),\n hasUnicode = require('./_hasUnicode'),\n stringSize = require('./_stringSize'),\n stringToArray = require('./_stringToArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil;\n\n/**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\nfunction createPadding(length, chars) {\n chars = chars === undefined ? ' ' : baseToString(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? baseRepeat(chars, length) : chars;\n }\n var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n return hasUnicode(chars)\n ? castSlice(stringToArray(result), 0, length).join('')\n : result.slice(0, length);\n}\n\nmodule.exports = createPadding;\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 // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\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 // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\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 * 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 asciiSize = require('./_asciiSize'),\n hasUnicode = require('./_hasUnicode'),\n unicodeSize = require('./_unicodeSize');\n\n/**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\nfunction stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n}\n\nmodule.exports = stringSize;\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 * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nfunction unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n}\n\nmodule.exports = unicodeSize;\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 createFind = require('./_createFind'),\n findIndex = require('./findIndex');\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nmodule.exports = find;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\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 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","/**\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 baseIsRegExp = require('./_baseIsRegExp'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsRegExp = nodeUtil && nodeUtil.isRegExp;\n\n/**\n * Checks if `value` is classified as a `RegExp` 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 regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\nvar isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\nmodule.exports = isRegExp;\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 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 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 createPadding = require('./_createPadding'),\n stringSize = require('./_stringSize'),\n toInteger = require('./toInteger'),\n toString = require('./toString');\n\n/**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\nfunction padEnd(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (string + createPadding(length - strLength, chars))\n : string;\n}\n\nmodule.exports = padEnd;\n","var createPadding = require('./_createPadding'),\n stringSize = require('./_stringSize'),\n toInteger = require('./toInteger'),\n toString = require('./toString');\n\n/**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\nfunction padStart(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (createPadding(length - strLength, chars) + string)\n : string;\n}\n\nmodule.exports = padStart;\n","var createAggregator = require('./_createAggregator');\n\n/**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\nvar partition = createAggregator(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n}, function() { return [[], []]; });\n\nmodule.exports = partition;\n","var basePick = require('./_basePick'),\n flatRest = require('./_flatRest');\n\n/**\n * Creates an object composed of the picked `object` properties.\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 pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n});\n\nmodule.exports = pick;\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 debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\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","// mutationobserver-shim v0.3.3 (github.com/megawac/MutationObserver.js)\n// Authors: Graeme Yeates (github.com/megawac) \n/*\n Shim for MutationObserver interface\n Author: Graeme Yeates (github.com/megawac)\n Repository: https://github.com/megawac/MutationObserver.js\n License: WTFPL V2, 2004 (wtfpl.net).\n Though credit and staring the repo will make me feel pretty, you can modify and redistribute as you please.\n Attempts to follow spec (https://www.w3.org/TR/dom/#mutation-observers) as closely as possible for native javascript\n See https://github.com/WebKit/webkit/blob/master/Source/WebCore/dom/MutationObserver.cpp for current webkit source c++ implementation\n*/\nwindow.MutationObserver||(window.MutationObserver=function(y){function z(a){this.i=[];this.m=a}function K(a){(function c(){var d=a.takeRecords();d.length&&a.m(d,a);a.h=setTimeout(c,z._period)})()}function r(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]!==y&&a[c]!==y&&(b[c]=a[c]);return b}function L(a,b){var c=E(a,b);return function(d){var f=d.length;b.a&&3===a.nodeType&&\na.nodeValue!==c.a&&d.push(new r({type:\"characterData\",target:a,oldValue:c.a}));b.b&&c.b&&C(d,a,c.b,b.f);if(b.c||b.g)var m=M(d,a,c,b);if(m||d.length!==f)c=E(a,b)}}function N(a,b){return b.value}function O(a,b){return\"style\"!==b.name?b.value:a.style.cssText}function C(a,b,c,d){for(var f={},m=b.attributes,k,g,p=m.length;p--;)k=m[p],g=k.name,d&&d[g]===y||(F(b,k)!==c[g]&&a.push(r({type:\"attributes\",target:b,attributeName:g,oldValue:c[g],attributeNamespace:k.namespaceURI})),f[g]=!0);for(g in c)f[g]||a.push(r({target:b,\ntype:\"attributes\",attributeName:g,oldValue:c[g]}))}function M(a,b,c,d){function f(g,p,t,q,x){var A=g.length-1;x=-~((A-x)/2);for(var h,l,e;e=g.pop();)h=t[e.j],l=q[e.l],d.c&&x&&Math.abs(e.j-e.l)>=A&&(a.push(r({type:\"childList\",target:p,addedNodes:[h],removedNodes:[h],nextSibling:h.nextSibling,previousSibling:h.previousSibling})),x--),d.b&&l.b&&C(a,h,l.b,d.f),d.a&&3===h.nodeType&&h.nodeValue!==l.a&&a.push(r({type:\"characterData\",target:h,oldValue:l.a})),d.g&&m(h,l)}function m(g,p){for(var t=g.childNodes,\nq=p.c,x=t.length,A=q?q.length:0,h,l,e,n,v,B=0,w=0,u=0;w<x||u<A;)n=t[w],v=(e=q[u])&&e.node,n===v?(d.b&&e.b&&C(a,n,e.b,d.f),d.a&&e.a!==y&&n.nodeValue!==e.a&&a.push(r({type:\"characterData\",target:n,oldValue:e.a})),l&&f(l,g,t,q,B),d.g&&(n.childNodes.length||e.c&&e.c.length)&&m(n,e),w++,u++):(k=!0,h||(h={},l=[]),n&&(h[e=G(n)]||(h[e]=!0,-1===(e=H(q,n,u,\"node\"))?d.c&&(a.push(r({type:\"childList\",target:g,addedNodes:[n],nextSibling:n.nextSibling,previousSibling:n.previousSibling})),B++):l.push({j:w,l:e})),\nw++),v&&v!==t[w]&&(h[e=G(v)]||(h[e]=!0,-1===(e=H(t,v,w))?d.c&&(a.push(r({type:\"childList\",target:p.node,removedNodes:[v],nextSibling:q[u+1],previousSibling:q[u-1]})),B--):l.push({j:e,l:u})),u++));l&&f(l,g,t,q,B)}var k;m(b,c);return k}function E(a,b){var c=!0;return function m(f){var k={node:f};!b.a||3!==f.nodeType&&8!==f.nodeType?(b.b&&c&&1===f.nodeType&&(k.b=I(f.attributes,function(g,p){if(!b.f||b.f[p.name])g[p.name]=F(f,p);return g},{})),c&&(b.c||b.a||b.b&&b.g)&&(k.c=P(f.childNodes,m)),c=b.g):k.a=\nf.nodeValue;return k}(a)}function G(a){try{return a.id||(a.mo_id=a.mo_id||J++)}catch(b){try{return a.nodeValue}catch(c){return J++}}}function P(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=b(a[d],d,a);return c}function I(a,b,c){for(var d=0;d<a.length;d++)c=b(c,a[d],d,a);return c}function H(a,b,c,d){for(;c<a.length;c++)if((d?a[c][d]:a[c])===b)return c;return-1}z._period=30;z.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=I(b.attributeFilter,function(m,k){m[k]=!0;return m},{}));d.push({s:a,o:L(a,c)});this.h||K(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 D=document.createElement(\"i\");D.style.top=0;var F=(D=\"null\"!=D.attributes.style.value)?N:O,J=1;return z}(void 0));\n//# sourceMappingURL=mutationobserver.map\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","import _extends from \"babel-runtime/helpers/extends\";\nfunction omit(obj, fields) {\n var shallowCopy = _extends({}, obj);\n for (var i = 0; i < fields.length; i++) {\n var key = fields[i];\n delete shallowCopy[key];\n }\n return shallowCopy;\n}\n\nexport default omit;","// 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","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","/**\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","'use strict';\n\nfunction shallowEqualArrays(arrA, arrB) {\n if (arrA === arrB) {\n return true;\n }\n\n if (!arrA || !arrB) {\n return false;\n }\n\n var len = arrA.length;\n\n if (arrB.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n if (arrA[i] !== arrB[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqualArrays;\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;","// TinyColor v1.4.2\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// <http://www.w3.org/TR/css3-color/>\n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// `contrast`\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function(color1, color2) {\n var c1 = tinycolor(color1);\n var c2 = tinycolor(color2);\n return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);\n};\n\n// `isReadable`\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n// the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n// the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n// tinycolor.isReadable(\"#000\", \"#111\") => false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// <http://www.w3.org/TR/css3-color/#svg-color>\nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // <http://www.w3.org/TR/css3-values/#integers>\n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // <http://www.w3.org/TR/css3-values/#number-value>\n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n install: function install(Vue) {\n var options =\n arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var directiveName = options.name || \"ref\";\n Vue.directive(directiveName, {\n bind: function bind(el, binding, vnode) {\n Vue.nextTick(function() {\n binding.value(vnode.componentInstance || el, vnode.key);\n });\n binding.value(vnode.componentInstance || el, vnode.key);\n },\n update: function update(el, binding, vnode, oldVnode) {\n if (oldVnode.data && oldVnode.data.directives) {\n var oldBinding = oldVnode.data.directives.find(function(directive) {\n var name = directive.name;\n return name === directiveName;\n });\n if (oldBinding && oldBinding.value !== binding.value) {\n oldBinding && oldBinding.value(null, oldVnode.key);\n binding.value(vnode.componentInstance || el, vnode.key);\n return;\n }\n }\n // Should not have this situation\n if (\n vnode.componentInstance !== oldVnode.componentInstance ||\n vnode.elm !== oldVnode.elm\n ) {\n binding.value(vnode.componentInstance || el, vnode.key);\n }\n },\n unbind: function unbind(el, binding, vnode) {\n binding.value(null, vnode.key);\n }\n });\n }\n};\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_moment__;","module.exports = __WEBPACK_EXTERNAL_MODULE_vue__;"],"sourceRoot":""}
\No newline at end of file